/* ==========================================
   SIDEBAR (MOBILE MENU)
========================================== */

.sidebar{
    position:fixed;
    top:0;
    left:0;
    width:320px;
    max-width:86vw;
    height:100vh;
    height:100dvh;
    background:var(--surface);
    z-index:2000;
    transform:translateX(-105%);
    transition:transform .55s var(--ease);
    overflow-y:auto;
    box-shadow:var(--shadow);
}

.sidebar.active{
    transform:none;
}

/* ==========================================
   OVERLAYS
========================================== */

.sidebar-overlay,
.drawer-overlay{
    position:fixed;
    inset:0;
    background:rgba(53,34,31,.5);
    backdrop-filter:blur(2px);
    opacity:0;
    visibility:hidden;
    transition:opacity .4s,visibility .4s;
    z-index:1900;
}

.sidebar-overlay.active,
body:has(.cart-panel.active) .drawer-overlay,
body:has(.wishlist-panel.active) .drawer-overlay{
    opacity:1;
    visibility:visible;
}

.drawer-overlay{
    z-index:2400;
}

/* ==========================================
   HEADER
========================================== */

.sidebar-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:22px 24px;
    border-bottom:1px solid var(--line);
}

.sidebar-header h2{
    color:var(--accent);
    font-size:1.6rem;
    font-weight:700;
    letter-spacing:.2em;
}

.sidebar-header button{
    width:40px;
    height:40px;
    border-radius:50%;
    background:var(--bg-soft);
    color:var(--text);
    display:flex;
    justify-content:center;
    align-items:center;
    transition:transform .4s var(--ease),background .3s,color .3s;
}

.sidebar-header button:hover{
    background:var(--fill);
    color:var(--on-fill);
    transform:rotate(90deg);
}

/* ==========================================
   SEARCH
========================================== */

.sidebar-search{
    padding:22px 24px 10px;
}

.sidebar-search input{
    width:100%;
    height:48px;
    border-radius:40px;
    background:var(--surface);
    color:var(--text);
    padding:0 20px;
    border:1px solid var(--line);
    font-size:.95rem;
    transition:border-color .3s;
}

.sidebar-search input:focus{
    border-color:var(--gold);
}

/* ==========================================
   LINKS
========================================== */

.sidebar-links{
    display:flex;
    flex-direction:column;
    padding:10px 14px;
}

.sidebar-links a{
    display:flex;
    align-items:center;
    gap:16px;
    padding:14px;
    border-radius:10px;
    font-size:.85rem;
    font-weight:500;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--text);
    transition:background .3s,color .3s,transform .4s var(--ease);
}

.sidebar-links a i{
    color:var(--gold);
    width:20px;
    text-align:center;
}

.sidebar-links a:hover{
    background:var(--bg-soft);
    color:var(--accent);
    transform:translateX(6px);
}

/* ==========================================
   COLLECTIONS
========================================== */

.sidebar-category{
    padding:22px 24px 30px;
    border-top:1px solid var(--line);
}

.sidebar-category h4{
    color:var(--gold);
    font-family:var(--font-body);
    font-size:.72rem;
    font-weight:500;
    letter-spacing:.3em;
    text-transform:uppercase;
    margin-bottom:16px;
}

.sidebar-category button{
    display:block;
    width:100%;
    padding:13px 16px;
    margin-bottom:8px;
    border-radius:10px;
    background:var(--surface);
    color:var(--text);
    border:1px solid var(--line);
    text-align:left;
    font-size:.95rem;
    transition:background .3s,color .3s,border-color .3s,padding .4s var(--ease);
}

.sidebar-category button:hover{
    background:var(--fill);
    border-color:var(--accent);
    color:var(--on-fill);
    padding-left:24px;
}
