/* =========================================================
   BOUTIQUE TECH LOBAMA SERVICES
   Complète css/style.css : réutilise les mêmes variables de
   couleur/typo, n'ajoute que ce qui est spécifique à la boutique.
   ========================================================= */

/* ---------- HERO DE LA BOUTIQUE ---------- */
.boutique-hero{
    min-height:45vh;
    padding-top:150px;
    background:
        linear-gradient(rgba(10,22,38,0.88), rgba(10,22,38,0.88)),
        linear-gradient(135deg,var(--navy),var(--ink));
    color:var(--white);
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
}
.boutique-hero h1{ color:var(--white); font-size:clamp(28px,4vw,42px); margin-bottom:14px; }
.boutique-hero p{ max-width:600px; color:rgba(255,255,255,0.78); font-size:16px; }

/* ---------- BARRE DE RECHERCHE ---------- */
.search{ padding:34px 5% 0; text-align:center; }
.search input{
    width:100%;
    max-width:520px;
    padding:14px 18px;
    border:1.5px solid var(--line);
    border-radius:999px;
    font-family:var(--font-body);
    font-size:15px;
    transition:border-color 0.2s ease;
}
.search input:focus{ outline:none; border-color:var(--gold); }

/* ---------- BOUTONS DE CATÉGORIE (boutique) ---------- */
.categories{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:10px;
    padding:26px 5% 10px;
}

/* ---------- GRILLE DES PRODUITS ---------- */
#products{ padding:20px 5% 60px; }
.products-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(230px, 1fr));
    gap:26px;
    max-width:var(--container);
    margin:0 auto;
}

.product-card{
    background:var(--white);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:18px;
    transition:transform 0.25s ease, box-shadow 0.25s ease;
}
.product-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-md); }
.product-card img{
    width:100%;
    height:190px;
    object-fit:cover;
    border-radius:10px;
    background:var(--paper);
}
.product-card h3{
    margin:16px 0 8px;
    color:var(--navy);
    font-size:16.5px;
}
.product-card p{
    font-size:13.5px;
    color:var(--muted);
    min-height:38px;
}
.product-price{
    font-family:var(--font-mono);
    font-size:19px;
    font-weight:600;
    margin:14px 0;
    color:var(--navy);
}
.btn-cart{
    display:block;
    width:100%;
    padding:12px;
    background:var(--gold);
    color:var(--ink);
    text-align:center;
    border:none;
    border-radius:999px;
    cursor:pointer;
    font-family:var(--font-body);
    font-weight:600;
    font-size:14.5px;
    transition:0.2s;
}
.btn-cart:hover{ background:var(--gold-soft); }

/* ---------- ICÔNE PANIER (dans le header) ---------- */
.cart-icon{
    position:relative;
    cursor:pointer;
    color:var(--white);
    display:flex;
    align-items:center;
    margin-left:8px;
}
#cart-count{
    position:absolute;
    top:-8px;
    right:-10px;
    background:var(--gold);
    color:var(--ink);
    font-family:var(--font-mono);
    font-size:11px;
    font-weight:700;
    border-radius:50%;
    padding:2px 6px;
    min-width:17px;
    text-align:center;
}

/* ---------- PANIER COULISSANT ---------- */
.cart{
    position:fixed;
    top:0;
    right:-400px;
    width:360px;
    max-width:90%;
    height:100vh;
    background:var(--white);
    box-shadow:-10px 0 30px rgba(10,31,68,0.2);
    z-index:2000;
    display:flex;
    flex-direction:column;
    transition:right 0.35s ease;
}
.cart.active{ right:0; }
.cart-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:22px;
    border-bottom:1px solid var(--line);
}
.cart-header h2{ color:var(--navy); font-size:19px; }
.cart-header button{ background:none; border:none; font-size:18px; cursor:pointer; color:var(--muted); }
#cart-items{ flex:1; overflow-y:auto; padding:15px 22px; }
.cart-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    padding:12px 0;
    border-bottom:1px solid var(--line);
    font-size:13.5px;
}
.cart-item button{ background:none; border:none; cursor:pointer; font-size:14px; }
.cart-footer{ padding:22px; border-top:1px solid var(--line); }
.cart-footer h3{
    display:flex;
    justify-content:space-between;
    font-family:var(--font-mono);
    font-size:16px;
    margin-bottom:16px;
    color:var(--navy);
}
.order-btn{
    width:100%;
    padding:14px;
    background:var(--whatsapp);
    color:var(--white);
    border:none;
    border-radius:999px;
    font-family:var(--font-body);
    font-weight:600;
    font-size:15.5px;
    cursor:pointer;
    transition:0.2s;
}
.order-btn:hover{ background:var(--whatsapp-dark); }

/* Fond sombre derrière le panier ouvert */
.overlay{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(10,22,38,0.6);
    z-index:1500;
}
.overlay.active{ display:block; }

/* ---------- RESPONSIVE MOBILE ---------- */
@media (max-width:600px){
    .products-grid{ grid-template-columns:1fr; }
    .product-card img{ height:180px; }
    .cart{ width:100%; right:-100%; }
}
