/* TEST Dual-PC storefront overrides. Loaded after the theme CSS. */
:root {
    --acg-primary: #28d7f5;
    --acg-secondary: #8d6bff;
    --acg-text-strong: #f4f7ff;
    --acg-text-muted: #aab9d3;
}

body.acg-front-page {
    color: var(--acg-text-strong) !important;
    background-color: #050814 !important;
    background-image:
        linear-gradient(112deg, transparent 0 52%, rgba(83, 96, 226, .22) 72%, rgba(91, 30, 159, .18) 100%),
        linear-gradient(18deg, rgba(11, 80, 174, .12), transparent 42%),
        linear-gradient(120deg, #03091d 0%, #081746 52%, #20004a 100%) !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-attachment: fixed !important;
}

body.acg-front-page::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .026) 1px, transparent 1px),
        linear-gradient(rgba(255, 255, 255, .026) 1px, transparent 1px);
    background-size: 48px 48px;
    -webkit-mask-image: radial-gradient(circle at 55% 35%, black 0%, transparent 82%);
    mask-image: radial-gradient(circle at 55% 35%, black 0%, transparent 82%);
}

body.acg-front-page > * {
    position: relative;
    z-index: 1;
}

body.acg-front-page .navbar-acg {
    background: rgba(3, 9, 29, .78) !important;
    border-bottom-color: rgba(122, 158, 225, .24) !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .16) !important;
}

body.acg-front-page .navbar-acg .navbar-brand,
body.acg-front-page .navbar-acg .navbar-brand span,
body.acg-front-page .navbar-acg .nav-link,
body.acg-front-page .navbar-acg .nav-link .nav-icon {
    color: #edf5ff !important;
}

body.acg-front-page .navbar-acg .nav-link.active,
body.acg-front-page .navbar-acg .nav-link:hover,
body.acg-front-page .navbar-acg .nav-link:hover .nav-icon {
    color: var(--acg-primary) !important;
}

body.acg-front-page .panel,
body.acg-front-page .acg-card {
    background: rgba(9, 24, 61, .76) !important;
    border: 1px solid rgba(91, 143, 225, .32) !important;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .18), inset 0 1px 0 rgba(255, 255, 255, .04) !important;
}

body.acg-front-page .panel-header {
    border-bottom-color: rgba(91, 143, 225, .24) !important;
}

body.acg-front-page .panel-title,
body.acg-front-page .panel-body,
body.acg-front-page .panel-body label,
body.acg-front-page .panel-body .form-label,
body.acg-front-page .goods-title,
body.acg-front-page .card-title,
body.acg-front-page .card-section,
body.acg-front-page .sku-title {
    color: #f4f7ff !important;
}

body.acg-front-page .panel-body .muted,
body.acg-front-page .panel-body .meta,
body.acg-front-page .panel-body .stat-bottom,
body.acg-front-page .item-message,
body.acg-front-page .meta {
    color: #aab9d3 !important;
}

body.acg-front-page .form-control,
body.acg-front-page .form-select,
body.acg-front-page textarea,
body.acg-front-page select {
    color: #edf5ff !important;
    background-color: rgba(5, 18, 49, .82) !important;
    border-color: rgba(88, 137, 221, .48) !important;
}

body.acg-front-page .form-control::placeholder,
body.acg-front-page textarea::placeholder {
    color: #8fa4c5 !important;
}

/* 商品详情：SKU、数量控件与深色页面保持同一套间距和色彩。 */
body.acg-front-page .vstack {
    gap: 1.15rem !important;
}

body.acg-front-page .vstack > div > .form-label {
    display: block;
    margin-bottom: .55rem !important;
    color: #dceaff !important;
    font-size: 14px !important;
    font-weight: 700;
}

body.acg-front-page .sku-list {
    gap: .65rem !important;
    margin-top: 0 !important;
    padding: .15rem 0;
}

body.acg-front-page .sku-list .sku {
    min-height: 36px;
    padding: .48rem .85rem !important;
    border: 1px solid rgba(105, 161, 235, .46) !important;
    border-radius: 10px !important;
    color: #dceaff !important;
    background: rgba(20, 55, 111, .72) !important;
    box-shadow: none !important;
}

body.acg-front-page .sku-list .sku.is-primary {
    color: #ffffff !important;
    background: linear-gradient(90deg, #176fd1, #7659e8) !important;
    border-color: rgba(88, 223, 248, .8) !important;
    box-shadow: 0 8px 18px rgba(36, 105, 214, .22) !important;
}

body.acg-front-page .sku-list .sku .badge-money,
body.acg-front-page .sku-list .sku .badge-moeny {
    position: static !important;
    display: inline-block;
    margin-left: .45rem;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #a9eaff !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

body.acg-front-page .sku-list .sku.is-primary .badge-money,
body.acg-front-page .sku-list .sku.is-primary .badge-moeny {
    color: #ffffff !important;
}

body.acg-front-page .input-group.qty-group {
    width: 150px !important;
    gap: 4px !important;
    padding: 4px !important;
    border: 1px solid rgba(105, 161, 235, .52) !important;
    border-radius: 10px !important;
    background: rgba(20, 55, 111, .74) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 8px 18px rgba(0, 0, 0, .18) !important;
}

body.acg-front-page .input-group.qty-group > button {
    width: 34px !important;
    height: 30px !important;
    border-radius: 7px !important;
    color: #ffffff !important;
    background: linear-gradient(180deg, #238fe0, #4d67dc) !important;
    box-shadow: none !important;
}

body.acg-front-page .input-group.qty-group > input[type="number"] {
    color: #ffffff !important;
    background: transparent !important;
    font-weight: 800 !important;
}

body.acg-front-page .cash-pay {
    background: rgba(10, 26, 68, .94) !important;
    border: 1px solid rgba(97, 153, 235, .52) !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .22), inset 0 1px 0 rgba(255, 255, 255, .06) !important;
}

body.acg-front-page .cash-pay .form-label {
    color: #ffffff !important;
    font-size: 1.05rem !important;
    letter-spacing: .02em;
}

body.acg-front-page .cash-pay .pay-list {
    border-top-color: rgba(198, 218, 247, .5) !important;
}

body.acg-front-page .cash-pay .pay-list .pay {
    color: #ffffff !important;
    background: rgba(42, 87, 161, .86) !important;
    border: 1px solid rgba(126, 173, 237, .58) !important;
    box-shadow: none !important;
}

body.acg-front-page .cash-pay .pay-list .pay span {
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

body.acg-front-page .cash-pay .pay-list .pay:hover,
body.acg-front-page .cash-pay .pay-list .pay.is-primary,
body.acg-front-page .cash-pay .pay-list .pay.active,
body.acg-front-page .cash-pay .pay-list .pay.selected {
    color: #ffffff !important;
    background: linear-gradient(90deg, #176fd1, #7659e8) !important;
    border-color: #58dff8 !important;
}

body.acg-front-page .abacus .price {
    color: #ff6b88 !important;
}

body.acg-front-page .abacus .price.price-pending,
body.acg-front-page .abacus .price.price-error {
    color: #c8d8f0 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}
