/* ============================================================
   DJIBOUTI SUUQ — Header CSS v3.0
   Corrections : logo point, badge panier, avatar, cohérence
   boutons, indicateur scroll nav catégories, thème complet
   ============================================================ */

/* ── Topbar desktop ── */
.shop-topbar{
    background:#050810;
    padding:6px 0;
    font-size:.73rem;
    color:var(--mu);
    border-bottom:1px solid rgba(255,255,255,.03);
}
.stb-inner{
    max-width:var(--container);
    margin:0 auto;
    padding:0 20px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}
.stb-right{display:flex;align-items:center;gap:14px}
.stb-link{
    color:var(--mu);
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    gap:5px;
    transition:color .2s;
}
.stb-link:hover{color:var(--tx2)}
.stb-sep{color:var(--brd)}
@media(max-width:767px){.shop-topbar{display:none!important}}

/* ── Header principal ── */
.shop-header{
    position:sticky;
    top:0;
    z-index:200;
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
    border-bottom:1px solid var(--brd);
}
.shop-header-main{background:var(--hdr)}

.shm-inner{
    max-width:var(--container);
    margin:0 auto;
    padding:10px 16px;
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}

/* ── Logo ── */
.shop-logo{
    text-decoration:none;
    display:flex;
    align-items:center;
    gap:9px;
    flex-shrink:0;
    min-width:0;
}
.logo-img{
    width:34px;
    height:34px;
    border-radius:9px;
    flex-shrink:0;
    max-width:none!important;
}
.logo-text-main{
    font-size:1.3rem;
    font-weight:900;
    color:var(--acc2);
    letter-spacing:-.5px;
    line-height:1;
    white-space:nowrap;
}
/*
 * Correction 1 : le point orange est réduit visuellement
 * via font-size relatif pour ne pas dominer le nom de marque
 */
.logo-text-main em{
    color:var(--gold);
    font-style:normal;
    font-size:.75em;
    vertical-align:middle;
    line-height:0;
}

/* ── Barre de recherche ── */
.search-bar{flex:1;display:flex;min-width:0;max-width:640px}
.search-wrap{display:flex;width:100%}
.search-input{
    flex:1;
    background:rgba(255,255,255,.05);
    border:1.5px solid var(--brd);
    border-right:none;
    border-radius:var(--radius) 0 0 var(--radius);
    padding:11px 16px;
    font-size:.875rem;
    color:var(--tx);
    outline:none;
    font-family:var(--font);
    transition:border-color .2s,background .2s;
    min-width:0;
}
.search-input:focus{border-color:var(--acc);background:rgba(99,102,241,.06)}
.search-input::placeholder{color:var(--mu)}
.search-btn{
    background:var(--acc);
    border:none;
    border-radius:0 var(--radius) var(--radius) 0;
    padding:11px 18px;
    cursor:pointer;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:background .2s;
    flex-shrink:0;
}
.search-btn:hover{background:var(--acc-d)}
.search-btn svg{width:17px;height:17px;stroke:currentColor;fill:none}
.hdr-search-desktop{display:flex}
.hdr-search-mobile{display:none}

/* ── Actions droite ── */
.shop-actions{
    display:flex;
    align-items:center;
    gap:5px;
    margin-left:auto;
    flex-shrink:0;
}

/*
 * Correction 3 : tous les boutons icônes ont un style
 * strictement identique — fond, bordure, taille, rayon
 */
.shop-action-btn{
    background:rgba(255,255,255,.04);
    border:1.5px solid var(--brd);
    border-radius:10px;
    width:38px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    color:var(--mu);
    text-decoration:none;
    transition:all .2s var(--trans);
    position:relative;
    flex-shrink:0;
}
.shop-action-btn:hover{
    border-color:var(--acc);
    color:var(--tx);
    background:var(--acc-glow);
}
.shop-action-btn svg{width:18px;height:18px;stroke:currentColor;fill:none}

/*
 * Correction 5 : badge panier agrandi pour meilleure lisibilité
 * mobile — min-width et height passent de 17px à 18px
 */
.cart-badge{
    position:absolute;
    top:-5px;
    right:-5px;
    background:var(--err);
    color:#fff;
    font-size:.62rem;
    font-weight:800;
    min-width:18px;
    height:18px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    border:2px solid var(--bg);
    padding:0 3px;
    line-height:1;
}

/* ── Liens texte desktop ── */
.shop-action-btn-text{
    color:var(--mu);
    font-size:.84rem;
    text-decoration:none;
    padding:8px 12px;
    border-radius:9px;
    transition:color .2s;
    white-space:nowrap;
}
.shop-action-btn-text:hover{color:var(--tx2)}
.shop-btn-register{
    background:var(--acc);
    color:#fff;
    padding:9px 18px;
    border-radius:10px;
    font-size:.84rem;
    font-weight:700;
    text-decoration:none;
    transition:all .2s var(--trans);
    white-space:nowrap;
}
.shop-btn-register:hover{background:var(--acc-d);color:#fff;transform:translateY(-1px)}

/* ── Dropdown utilisateur ── */
.user-dropdown{position:relative}

/*
 * Correction 3 & 4 : .user-btn aligné visuellement
 * avec .shop-action-btn — même fond, même bordure
 * L'avatar initiales reçoit le dégradé violet de la marque
 */
.user-btn{
    background:rgba(255,255,255,.04);
    border:1.5px solid var(--brd);
    border-radius:10px;
    padding:7px 12px;
    cursor:pointer;
    display:flex;
    align-items:center;
    gap:8px;
    color:var(--tx);
    font-family:var(--font);
    font-size:.84rem;
    transition:all .2s var(--trans);
}
.user-btn:hover{border-color:var(--acc);background:var(--acc-glow)}

.user-avatar-sm{
    width:28px;
    height:28px;
    background:linear-gradient(135deg,#4f46e5,#6C63FF);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:.73rem;
    font-weight:800;
    color:#fff;
    flex-shrink:0;
    overflow:hidden;
}
.user-avatar-sm img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:50%;
}

.dropdown-menu{
    display:none;
    position:fixed;
    right:8px;
    background:var(--card);
    border:1px solid var(--brd);
    border-radius:var(--radius-lg);
    min-width:240px;
    max-width:calc(100vw - 16px);
    z-index:9999;
    box-shadow:var(--shadow-lg);
    overflow:hidden;
    animation:dropIn .18s var(--trans);
}
@keyframes dropIn{
    from{opacity:0;transform:translateY(-8px) scale(.97)}
    to{opacity:1;transform:translateY(0) scale(1)}
}
.dropdown-menu.open{display:block}
.dm-user-head{padding:14px 16px 12px;border-bottom:1px solid var(--brd)}
.dm-user-name{font-size:.9rem;font-weight:700;color:var(--tx)}
.dm-user-role{font-size:.73rem;color:var(--mu);margin-top:2px}
.dm-link{
    display:flex;
    align-items:center;
    gap:10px;
    padding:11px 16px;
    font-size:.85rem;
    color:var(--mu);
    text-decoration:none;
    transition:all .15s;
}
.dm-link svg{width:15px;height:15px;flex-shrink:0;stroke:currentColor;fill:none}
.dm-link:hover{background:rgba(255,255,255,.05);color:var(--tx)}
.dm-sep{height:1px;background:var(--brd);margin:4px 0}
.dm-logout{color:var(--err)!important}
.dm-logout:hover{background:rgba(239,68,68,.08)!important}

/* ── Burger mobile ── */
.burger-btn{
    background:rgba(255,255,255,.04);
    border:1.5px solid var(--brd);
    color:var(--tx);
    width:40px;
    height:40px;
    border-radius:10px;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    transition:all .2s var(--trans);
}
.burger-btn:hover{border-color:var(--acc);background:var(--acc-glow)}
.burger-btn svg{width:20px;height:20px;stroke:currentColor;fill:none}
.burger-btn svg line{
    transition:transform .3s cubic-bezier(.22,.68,0,1.2),opacity .2s ease;
    transform-origin:12px 12px;
}
.burger-btn.active svg line:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger-btn.active svg line:nth-child(2){opacity:0;transform:scaleX(0)}
.burger-btn.active svg line:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* ── Navigation catégories ── */
.shop-nav{
    background:var(--hdr);
    backdrop-filter:blur(20px);
    border-bottom:1px solid var(--brd);
    position:relative;
}
.sn-inner{
    max-width:var(--container);
    margin:0 auto;
    padding:0 20px;
    display:flex;
    gap:2px;
    overflow-x:auto;
    scrollbar-width:none;
    scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;
}
.sn-inner::-webkit-scrollbar{display:none}
.sn-link{
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:10px 14px;
    font-size:.8rem;
    font-weight:500;
    color:var(--mu);
    text-decoration:none;
    white-space:nowrap;
    border-bottom:2px solid transparent;
    transition:all .2s;
    flex-shrink:0;
}
.sn-link:hover{color:var(--tx);border-bottom-color:var(--brd-h)}
.sn-link.active{color:var(--acc2);font-weight:700;border-bottom-color:var(--acc)}

/*
 * Correction 6 : indicateur de scroll sur la nav catégories
 * Un dégradé en fondu sur le bord droit signale qu'il y a
 * du contenu scrollable sans alourdir l'interface
 */
@media(max-width:767px){
    .shop-nav::after{
        content:'';
        position:absolute;
        top:0;
        right:0;
        width:40px;
        height:100%;
        background:linear-gradient(to left, var(--hdr) 0%, transparent 100%);
        pointer-events:none;
        z-index:1;
    }
}

/* ── Drawer overlay ── */
.drawer-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.75);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    z-index:400;
    opacity:0;
    pointer-events:none;
    transition:opacity .3s ease;
}
.drawer-overlay.open{opacity:1;pointer-events:all}

/* ── Drawer / Menu mobile ── */
.mobile-nav{
    position:fixed;
    top:0;
    left:0;
    width:min(340px,88vw);
    height:100dvh;
    background:linear-gradient(180deg,#0d0d1f 0%,#0a0a18 100%);
    border-right:1px solid rgba(108,99,255,.15);
    z-index:500;
    display:flex!important;
    flex-direction:column;
    overflow:hidden;
    transform:translateX(-100%);
    opacity:0;
    transition:transform .42s cubic-bezier(.22,.68,0,1.2),opacity .3s ease;
    box-shadow:4px 0 40px rgba(0,0,0,.6),1px 0 0 rgba(108,99,255,.1);
}
.mobile-nav.open{transform:translateX(0);opacity:1}
.drawer-header{
    padding:16px 18px;
    border-bottom:1px solid rgba(108,99,255,.12);
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-shrink:0;
    background:rgba(108,99,255,.04);
}
.drawer-logo{display:flex;align-items:center;gap:9px;text-decoration:none}
.drawer-logo-img{
    width:34px;
    height:34px;
    border-radius:10px;
    box-shadow:0 2px 8px rgba(108,99,255,.3);
    max-width:none!important;
}
.drawer-logo-text{
    font-size:1.15rem;
    font-weight:900;
    color:#f0f0ff;
    letter-spacing:-.04em;
}
.drawer-logo-text em{
    color:#FFA500;
    font-style:normal;
    font-size:.75em;
    vertical-align:middle;
    line-height:0;
}
.drawer-close{
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
    width:34px;
    height:34px;
    border-radius:9px;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    color:rgba(160,160,192,.6);
    transition:all .2s;
}
.drawer-close:hover{
    background:rgba(255,77,109,.1);
    border-color:rgba(255,77,109,.3);
    color:#ff4d6d;
}
.drawer-close svg{width:16px;height:16px;stroke:currentColor;fill:none}
.drawer-search{
    padding:12px 16px;
    border-bottom:1px solid rgba(255,255,255,.05);
    flex-shrink:0;
    background:rgba(0,0,0,.15);
}
.drawer-search form{display:flex;gap:8px}
.drawer-search .search-input{
    flex:1;
    border-radius:10px;
    background:rgba(255,255,255,.06)!important;
    border:1px solid rgba(255,255,255,.1)!important;
    font-size:.84rem!important;
}
.drawer-search .search-input:focus{border-color:rgba(108,99,255,.5)!important}
.drawer-search .search-btn{border-radius:10px;flex-shrink:0}
.drawer-user-card{
    margin:12px 14px;
    background:linear-gradient(135deg,rgba(108,99,255,.15),rgba(108,99,255,.07));
    border:1px solid rgba(108,99,255,.25);
    border-radius:14px;
    padding:14px 15px;
    display:flex;
    align-items:center;
    gap:13px;
    flex-shrink:0;
    position:relative;
    overflow:hidden;
}
.drawer-user-card::before{
    content:'';
    position:absolute;
    top:0;left:0;right:0;
    height:1px;
    background:linear-gradient(90deg,transparent,rgba(108,99,255,.5),transparent);
}
.drawer-avatar{
    width:44px;
    height:44px;
    border-radius:50%;
    background:linear-gradient(135deg,#4f46e5,#6C63FF);
    border:2px solid rgba(108,99,255,.4);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:.9rem;
    font-weight:800;
    color:#fff;
    flex-shrink:0;
    overflow:hidden;
}
.drawer-avatar img{width:100%;height:100%;object-fit:cover}
.drawer-user-name{font-size:.88rem;font-weight:700;color:#f0f0ff}
.drawer-user-role{
    font-size:.68rem;
    color:rgba(160,160,192,.7);
    margin-top:2px;
    display:inline-flex;
    align-items:center;
    gap:4px;
}
.drawer-login-cta{
    display:flex;
    flex-direction:column;
    gap:7px;
    margin:12px 14px;
    flex-shrink:0;
}
.drawer-btn-login{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    background:linear-gradient(135deg,#6C63FF,#5a52e0);
    color:#fff;
    border-radius:10px;
    padding:12px;
    font-weight:700;
    font-size:.84rem;
    text-decoration:none;
    transition:all .2s;
    box-shadow:0 4px 14px rgba(108,99,255,.3);
}
.drawer-btn-login:hover{
    background:linear-gradient(135deg,#5a52e0,#4f46e5);
    transform:translateY(-1px);
    color:#fff;
}
.drawer-btn-register{
    display:block;
    border:1.5px solid var(--brd);
    color:var(--tx2);
    border-radius:9px;
    padding:10px;
    text-align:center;
    font-size:.875rem;
    text-decoration:none;
    transition:all .2s;
}
.drawer-btn-register:hover{border-color:var(--acc);color:var(--acc2)}
.drawer-section-title{
    padding:14px 16px 5px;
    font-size:.63rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.1em;
    color:rgba(108,99,255,.6);
    flex-shrink:0;
    display:flex;
    align-items:center;
    gap:8px;
}
.drawer-section-title::after{
    content:'';
    flex:1;
    height:1px;
    background:linear-gradient(90deg,rgba(108,99,255,.2),transparent);
}
.drawer-body{
    overflow-y:auto;
    flex:1;
    scrollbar-width:thin;
    scrollbar-color:rgba(108,99,255,.3) transparent;
    padding-bottom:8px;
}
.drawer-body::-webkit-scrollbar{width:3px}
.drawer-body::-webkit-scrollbar-thumb{background:rgba(108,99,255,.3);border-radius:99px}
.mn-link{
    display:flex;
    align-items:center;
    gap:12px;
    padding:11px 18px;
    color:rgba(160,160,192,.75);
    text-decoration:none;
    font-size:.85rem;
    font-weight:500;
    transition:all .18s ease;
    border-left:3px solid transparent;
    margin:1px 0;
}
.mn-link:hover,.mn-link.active{
    background:rgba(108,99,255,.08);
    color:#f0f0ff;
    border-left-color:#6C63FF;
}
.mn-link svg{
    width:17px;
    height:17px;
    stroke:currentColor;
    fill:none;
    flex-shrink:0;
    opacity:.5;
    transition:opacity .18s;
}
.mn-link:hover svg,.mn-link.active svg{opacity:.9}
.mn-link.danger{color:rgba(255,77,109,.7)}
.mn-link.danger:hover{
    background:rgba(255,77,109,.08);
    border-left-color:#ff4d6d;
    color:#ff4d6d;
}
.drawer-divider{
    height:1px;
    background:linear-gradient(90deg,transparent,rgba(108,99,255,.15),transparent);
    margin:8px 0;
}
.drawer-footer{
    padding:12px 16px;
    border-top:1px solid rgba(108,99,255,.1);
    flex-shrink:0;
    font-size:.7rem;
    color:rgba(96,96,122,.7);
    text-align:center;
    background:rgba(0,0,0,.15);
}

/* ── Animations drawer ── */
.mobile-nav .drawer-header,
.mobile-nav .drawer-search,
.mobile-nav .drawer-login-cta,
.mobile-nav .drawer-user-card,
.mobile-nav .drawer-section-title,
.mobile-nav .mn-link,
.mobile-nav .drawer-divider,
.mobile-nav .drawer-footer{
    opacity:0;
    transform:translateX(-18px);
    transition:opacity .28s ease,transform .32s cubic-bezier(.22,.68,0,1.2);
}
.mobile-nav.open .drawer-header{opacity:1;transform:none;transition-delay:.06s}
.mobile-nav.open .drawer-search{opacity:1;transform:none;transition-delay:.10s}
.mobile-nav.open .drawer-login-cta,
.mobile-nav.open .drawer-user-card{opacity:1;transform:none;transition-delay:.13s}
.mobile-nav.open .drawer-section-title{opacity:1;transform:none;transition-delay:.15s}
.mobile-nav.open .mn-link{opacity:1;transform:none}
.mobile-nav.open .drawer-body>.mn-link:nth-child(1){transition-delay:.16s}
.mobile-nav.open .drawer-body>.mn-link:nth-child(2){transition-delay:.18s}
.mobile-nav.open .drawer-body>.mn-link:nth-child(3){transition-delay:.20s}
.mobile-nav.open .drawer-body>.mn-link:nth-child(4){transition-delay:.22s}
.mobile-nav.open .drawer-body>.mn-link:nth-child(5){transition-delay:.24s}
.mobile-nav.open .drawer-body>.mn-link:nth-child(6){transition-delay:.26s}
.mobile-nav.open .drawer-body>.mn-link:nth-child(7){transition-delay:.28s}
.mobile-nav.open .drawer-body>.mn-link:nth-child(n+8){transition-delay:.30s}
.mobile-nav.open .drawer-divider{opacity:1;transform:none;transition-delay:.20s}
.mobile-nav.open .drawer-footer{opacity:1;transform:none;transition-delay:.32s}
.mobile-nav:not(.open) .drawer-header,
.mobile-nav:not(.open) .drawer-search,
.mobile-nav:not(.open) .drawer-login-cta,
.mobile-nav:not(.open) .drawer-user-card,
.mobile-nav:not(.open) .drawer-section-title,
.mobile-nav:not(.open) .mn-link,
.mobile-nav:not(.open) .drawer-divider,
.mobile-nav:not(.open) .drawer-footer{transition-delay:0s!important}

/* ============================================================
   RESPONSIVE MOBILE  (max-width: 767px)
   ============================================================ */
@media(max-width:767px){

    /* Recherche : masquer desktop, afficher mobile */
    .hdr-search-desktop,
    .search-wrap.hdr-search-desktop{display:none!important}
    .hdr-search-mobile{
        display:block;
        padding:0 12px 10px;
        background:var(--hdr);
    }
    .hdr-search-mobile .search-wrap{display:flex!important;width:100%}
    .hdr-search-mobile form{display:flex;gap:0;width:100%}
    .hdr-search-mobile .search-input{
        flex:1;
        border-radius:10px 0 0 10px;
        border-right:none;
        padding:11px 14px;
        font-size:.85rem;
        background:rgba(255,255,255,.06);
        border-color:rgba(108,99,255,.3);
    }
    .hdr-search-mobile .search-input:focus{
        border-color:var(--acc);
        background:rgba(99,102,241,.07);
        box-shadow:0 0 0 3px rgba(99,102,241,.12);
    }
    .hdr-search-mobile .search-btn{
        border-radius:0 10px 10px 0;
        padding:11px 18px;
        background:var(--acc);
    }

    /* Rangée principale */
    .shm-inner{
        padding:9px 12px;
        gap:7px;
        justify-content:space-between;
    }

    /* Logo */
    .shop-logo{
        flex-shrink:1;
        min-width:0;
        gap:7px;
    }
    .logo-img{
        width:30px;
        height:30px;
        border-radius:8px;
        flex-shrink:0;
    }
    .logo-text-main{
        font-size:1.1rem;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }

    /* Zone actions */
    .shop-actions{gap:4px;flex-shrink:0}
    .shop-action-btn{
        width:36px;
        height:36px;
        border-radius:9px;
    }
    .shop-action-btn svg{width:17px;height:17px}

    /* Burger */
    .burger-btn{
        width:36px;
        height:36px;
        border-radius:9px;
        flex-shrink:0;
    }
    .burger-btn svg{width:18px;height:18px}

    /* Bouton avatar : cercle parfait */
    .user-btn{
        padding:0;
        border-radius:50%;
        width:36px;
        height:36px;
        min-width:36px;
        max-width:36px;
        justify-content:center;
        flex-shrink:0;
        overflow:hidden;
    }
    .user-btn .desktop-only{display:none}
    .user-btn > svg{display:none}

    /* Avatar initiales */
    .user-avatar-sm{
        width:34px;
        height:34px;
        border-radius:50%;
        font-size:.72rem;
        flex-shrink:0;
        overflow:hidden;
        color:#fff;
    }
    .user-avatar-sm img{
        width:100%;
        height:100%;
        object-fit:cover;
        border-radius:50%;
    }

    /* Badge panier : légèrement agrandi sur mobile */
    .cart-badge{
        min-width:18px;
        height:18px;
        font-size:.62rem;
        top:-4px;
        right:-4px;
    }
}

/* ============================================================
   RESPONSIVE TRES PETITS ECRANS  (max-width: 380px)
   ============================================================ */
@media(max-width:380px){

    .shm-inner{padding:8px 10px;gap:5px}

    /* Masquer le texte du logo, conserver uniquement l'icône */
    .logo-text-main{display:none}
    .logo-img{width:32px;height:32px}

    .shop-actions{gap:3px}
    .shop-action-btn{width:34px;height:34px}
    .shop-action-btn svg{width:16px;height:16px}

    .burger-btn{width:34px;height:34px}
    .burger-btn svg{width:17px;height:17px}

    .user-btn{width:34px;height:34px;min-width:34px;max-width:34px}
    .user-avatar-sm{width:32px;height:32px}

    .hdr-search-mobile{padding:0 10px 8px}
    .hdr-search-mobile .search-input{padding:10px 12px;font-size:.82rem}
}

/* ── Classes utilitaires ── */
.logo-link{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo-text{font-size:1.5rem;font-weight:900;color:var(--acc);letter-spacing:-1px;line-height:1}
.logo-text em{color:var(--tx);font-style:normal}
