/* CSS cũ (Grid, Group, Form) ... */
.account-shop-container { border: 1px solid #e0e0e0; padding: 24px; margin-top: 25px; background-color: #ffffff; border-radius: 8px; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.03); }
.account-shop-container .shop-balance { font-size: 1.2em; font-weight: 600; margin-bottom: 15px; color: #333; padding-bottom: 10px; border-bottom: 1px solid #f0f0f0; }
.account-shop-container .balance-amount { color: #0073aa; font-weight: 700; }
.account-shop-form h4 { margin-top: 0; margin-bottom: 15px; font-size: 1.3em; color: #1d2327; }
.account-shop-form p { margin-bottom: 15px; }
.account-shop-form label { font-weight: 600; display: block; margin-bottom: 6px; color: #444; }
.account-shop-form input[type="text"].asc-input, .account-shop-form input[type="email"].asc-input, .account-shop-form input[type="number"].asc-input,
input.g.asc-input { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 4px; box-sizing: border-box; }
.account-shop-form .shop-price { font-size: 1.4em; font-weight: 700; margin: 20px 0; color: #b92f2f; }
.account-shop-form .shop-price strong { color: #b92f2f; }
.account-shop-form .shop-purchase-button { background-color: #0085ba; color: #fff; border: none; padding: 12px 20px; cursor: pointer; font-size: 1.1em; font-weight: 600; border-radius: 5px; width: 100%; transition: background-color 0.2s ease; }
.account-shop-form .shop-purchase-button:hover { background-color: #0073aa; }
.account-shop-form .shop-purchase-button:disabled { background-color: #aaa; cursor: not-allowed; opacity: 0.7; }
.account-shop-form .shop-messages { margin-top: 15px; font-weight: 600; padding: 12px; border-radius: 4px; display: none; }
.shop-messages[style*="color: green"], .asc-cart-messages.success, .asc-checkout-messages.success { background-color: #f0fff4; border: 1px solid #b7ebc8; color: #0a632c; padding: 12px; border-radius: 4px; }
.shop-messages[style*="color: red"], .asc-cart-messages.error, .asc-checkout-messages.error { background-color: #fff5f5; border: 1px solid #ffb8b8; color: #c53030; padding: 12px; border-radius: 4px; }
.shop-fulfillment-data { margin-top: 20px; background-color: #f7fafd; padding: 20px; border: 1px solid #d6e8fa; border-radius: 8px; }
.shop-fulfillment-data h3 { margin-top: 0; color: #005a9c; }
.shop-fulfillment-data pre { background-color: #fff; padding: 15px; white-space: pre-wrap; word-break: break-all; border: 1px solid #e0e0e0; border-radius: 4px; }
.account-shop-group-container { margin-bottom: 25px; }
.account-shop-group-container h3 { font-size: 1.5em; color: #1d2327; margin-bottom: 15px; }
.asc-group-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.asc-group-button { padding: 10px 16px; border: 1px solid #b0b0b0; border-radius: 8px; text-decoration: none; color: #3c434a; font-weight: 600; background-color: #fff; transition: all 0.2s ease; }
.asc-group-button:hover { border-color: #0073aa; color: #0073aa; }
.asc-group-button.is-active { border-color: #0073aa; background-color: #0073aa; color: #fff; box-shadow: 0 2px 5px rgba(0, 115, 170, 0.2); }

/* (MỚI) CSS Cho Giỏ Hàng */
.asc-cart-wrapper {
    width: 100%;
    margin-top: 20px;
}
.asc-cart-wrapper table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}
.asc-cart-wrapper th, .asc-cart-wrapper td {
    padding: 12px 15px;
    border: 1px solid #e0e0e0;
    text-align: left;
}
.asc-cart-wrapper th {
    background-color: #f9f9f9;
    font-weight: 600;
}
.asc-cart-wrapper .product-name {
    width: 50%;
}
.asc-cart-wrapper .product-quantity {
    width: 20%;
    text-align: center;
}
.asc-cart-wrapper .product-subtotal {
    width: 30%;
    text-align: right;
}
.asc-cart-wrapper tfoot td {
    text-align: right;
    font-size: 1.2em;
}
.asc-cart-checkout {
    text-align: right;
}
#asc-checkout-button {
    background-color: #0085ba;
    color: #fff;
    border: none;
    padding: 12px 20px;
    cursor: pointer;
    font-size: 1.1em;
    font-weight: 600;
    border-radius: 5px;
}
#asc-checkout-button:disabled {
    background-color: #aaa;
    cursor: not-allowed;
}