/* ══════════════════════════════════════════════════════════════
   CamiBijoux – Emballages cadeaux (bloc du mini panier)
   ══════════════════════════════════════════════════════════════ */
.cbgw-block {
    --cbgw-text:   #28211f;
    --cbgw-muted:  #8f817b;
    --cbgw-border: #E5E0DB;
    --cbgw-dark:   #3A2317;

    margin: 0 20px 14px !important;
    border: 1px solid var(--cbgw-border) !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #fff !important;
    font-family: "DM Sans", Arial, sans-serif !important;
}

/* ── En-tête cliquable ────────────────────────────────────── */
.cbgw-toggle {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 13px 14px !important;
    list-style: none !important;
    cursor: pointer !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--cbgw-text) !important;
    user-select: none !important;
    transition: background .15s ease !important;
}
.cbgw-toggle::-webkit-details-marker { display: none !important; }
.cbgw-toggle:hover { background: #F7F7F7 !important; }

.cbgw-toggle__icon,
.cbgw-toggle__chevron {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    color: var(--cbgw-dark) !important;
}
.cbgw-toggle__icon { width: 19px !important; height: 19px !important; }
.cbgw-toggle__chevron {
    width: 16px !important;
    height: 16px !important;
    margin-left: auto !important;
    color: var(--cbgw-muted) !important;
    transition: transform .15s ease !important;
}
.cbgw-toggle__icon svg,
.cbgw-toggle__chevron svg { width: 100% !important; height: 100% !important; }
.cbgw-block[open] .cbgw-toggle__chevron { transform: rotate(180deg) !important; }
.cbgw-block[open] .cbgw-toggle { border-bottom: 1px solid var(--cbgw-border) !important; }

.cbgw-toggle__label { flex: 0 1 auto !important; min-width: 0 !important; }

/* ── Liste des emballages ─────────────────────────────────── */
.cbgw-list {
    display: flex !important;
    flex-direction: column !important;
    padding: 6px !important;
}

.cbgw-item {
    display: flex !important;
    align-items: center !important;
    gap: 11px !important;
    padding: 9px 8px !important;
    border-radius: 10px !important;
}
.cbgw-item + .cbgw-item { border-top: 1px solid #F1EFEC !important; }

.cbgw-item__thumb {
    flex: 0 0 auto !important;
    width: 46px !important;
    height: 46px !important;
    border-radius: 9px !important;
    overflow: hidden !important;
    border: 1px solid var(--cbgw-border) !important;
    background: #F7F2EF !important;
}
.cbgw-item__thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    margin: 0 !important;
}

.cbgw-item__body {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 1px !important;
}
.cbgw-item__name  { font-size: 13.5px !important; font-weight: 600 !important; color: var(--cbgw-text) !important; }
.cbgw-item__desc  { font-size: 12px !important; color: var(--cbgw-muted) !important; }
.cbgw-item__price { font-size: 13px !important; font-weight: 700 !important; color: var(--cbgw-text) !important; }
.cbgw-item__price .amount { font-weight: 700 !important; }

.cbgw-add {
    flex: 0 0 auto !important;
    padding: 9px 16px !important;
    border: none !important;
    border-radius: 999px !important;
    background: var(--cbgw-dark) !important;
    color: #fff !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: opacity .15s ease !important;
}
.cbgw-add:hover:not(:disabled) { opacity: .88 !important; }
.cbgw-add:disabled { opacity: .55 !important; cursor: default !important; }

/* ── Déjà ajouté ──────────────────────────────────────────── */
.cbgw-block--added {
    border-color: #BFE3CE !important;
    background: #F1F9F4 !important;
}
.cbgw-added {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    padding: 13px 14px !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #2A7D50 !important;
}
.cbgw-added__icon { display: inline-flex !important; width: 17px !important; height: 17px !important; }
.cbgw-added__icon svg { width: 100% !important; height: 100% !important; }

@media (max-width: 520px) {
    .cbgw-block { margin-left: 16px !important; margin-right: 16px !important; }
    .cbgw-item__thumb { width: 40px !important; height: 40px !important; }
    .cbgw-add { padding: 8px 13px !important; }
}

/* ── Page panier complète : le bloc occupe la largeur du contenu ── */
.cbgw-block--cart {
    margin: 18px 0 0 !important;
    border-radius: 14px !important;
}
.cbgw-block--cart .cbgw-toggle { padding: 16px 18px !important; font-size: 15px !important; }
.cbgw-block--cart .cbgw-list { padding: 8px !important; }
.cbgw-block--cart .cbgw-item { padding: 11px 10px !important; }
.cbgw-block--cart .cbgw-item__thumb { width: 54px !important; height: 54px !important; }
.cbgw-block--cart .cbgw-item__name { font-size: 14.5px !important; }
.cbgw-block--cart .cbgw-added { padding: 16px 18px !important; font-size: 14.5px !important; }

/* ── Pastille : nombre d'emballages déjà au panier ─────────────── */
.cbgw-toggle__count {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 20px !important;
    height: 20px !important;
    padding: 0 6px !important;
    margin-left: 2px !important;
    border-radius: 999px !important;
    background: var(--cbgw-dark) !important;
    color: #fff !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    flex: 0 0 auto !important;
}
