/*
 * Galaxy IPTV commerce experience
 * Scoped to WHMCS shopping-cart pages and loaded after the active order-form CSS.
 */

body.itb-shopping-cart {
    --itb-commerce-panel: #111d2d;
    --itb-commerce-panel-2: #16263a;
    --itb-commerce-line: rgba(118, 164, 207, .20);
    --itb-commerce-blue: #1098ee;
    --itb-commerce-blue-2: #0871ca;
    --itb-commerce-gold: #f0c43c;
    --itb-commerce-text: #f4f8fc;
    --itb-commerce-muted: #a9bed1;
}

body.itb-shopping-cart #order-standard_cart {
    color: var(--itb-commerce-text);
}

body.itb-shopping-cart #order-standard_cart > .row {
    display: block;
    margin-right: 0;
    margin-left: 0;
}

body.itb-shopping-cart #order-standard_cart .cart-sidebar,
body.itb-shopping-cart #order-standard_cart .cart-body {
    float: none;
    width: 100%;
    max-width: none;
    padding-right: 0;
    padding-left: 0;
}

/* Category navigation: replace the hosting-style sidebar with a compact service switcher. */
body.itb-shopping-cart #order-standard_cart .cart-sidebar {
    margin: 0 0 24px;
}

body.itb-shopping-cart #order-standard_cart .cart-sidebar .panel-sidebar:not([menuitemname="Categories"]) {
    display: none !important;
}

body.itb-shopping-cart #order-standard_cart .cart-sidebar .panel-sidebar[menuitemname="Categories"] {
    overflow: hidden;
    margin: 0;
    border: 1px solid var(--itb-commerce-line) !important;
    border-radius: 16px !important;
    background: linear-gradient(145deg, rgba(18, 35, 54, .98), rgba(10, 24, 39, .98)) !important;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .20);
}

body.itb-shopping-cart #order-standard_cart .cart-sidebar .panel-sidebar[menuitemname="Categories"] .panel-heading {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 10px 16px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(97, 180, 242, .18) !important;
    background: linear-gradient(90deg, #07519a, #0b82d6) !important;
}

body.itb-shopping-cart #order-standard_cart .cart-sidebar .panel-sidebar[menuitemname="Categories"] .panel-title {
    margin: 0;
    color: #fff !important;
    font-family: Inter, "Open Sans", sans-serif !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    letter-spacing: .02em;
}

body.itb-shopping-cart #order-standard_cart .cart-sidebar .panel-sidebar[menuitemname="Categories"] .panel-minimise {
    display: none;
}

body.itb-shopping-cart #order-standard_cart .cart-sidebar .panel-sidebar[menuitemname="Categories"] .list-group {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    overflow-x: visible;
    padding: 10px;
    scrollbar-width: none;
}

body.itb-shopping-cart #order-standard_cart .cart-sidebar .panel-sidebar[menuitemname="Categories"] .list-group::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

body.itb-shopping-cart #order-standard_cart .cart-sidebar .panel-sidebar[menuitemname="Categories"] .list-group-item {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 9px 14px !important;
    border: 1px solid rgba(127, 167, 205, .18) !important;
    border-radius: 11px !important;
    background: rgba(10, 24, 39, .66) !important;
    color: #c8d8e7 !important;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.35;
    white-space: nowrap;
}

body.itb-shopping-cart #order-standard_cart .cart-sidebar .panel-sidebar[menuitemname="Categories"] .list-group-item:hover,
body.itb-shopping-cart #order-standard_cart .cart-sidebar .panel-sidebar[menuitemname="Categories"] .list-group-item:focus {
    border-color: rgba(35, 158, 241, .60) !important;
    background: rgba(18, 92, 151, .40) !important;
    color: #fff !important;
}

body.itb-shopping-cart #order-standard_cart .cart-sidebar .panel-sidebar[menuitemname="Categories"] .list-group-item.active {
    border-color: rgba(240, 196, 60, .58) !important;
    background: rgba(240, 196, 60, .12) !important;
    color: #ffe27b !important;
}

body.itb-shopping-cart #order-standard_cart .sidebar-collapsed {
    display: none !important;
}

/* Shared page framing */
body.itb-shopping-cart #order-standard_cart .header-lined {
    margin: 0 0 20px;
    padding: 22px 24px;
    border: 1px solid var(--itb-commerce-line) !important;
    border-radius: 18px;
    background:
        radial-gradient(circle at 88% 15%, rgba(24, 156, 244, .18), transparent 30%),
        linear-gradient(135deg, #14243a, #0c1827);
}

body.itb-shopping-cart #order-standard_cart .header-lined h1 {
    margin: 0 0 7px;
    border: 0 !important;
    color: #fff !important;
    font-family: Inter, "Open Sans", sans-serif !important;
    font-size: clamp(26px, 3vw, 38px) !important;
    font-weight: 780 !important;
    letter-spacing: -.035em;
}

body.itb-shopping-cart #order-standard_cart .header-lined p {
    max-width: 850px;
    margin: 0;
    color: var(--itb-commerce-muted) !important;
    font-size: 15px;
    line-height: 1.6;
}

body.itb-shopping-cart #order-standard_cart .form-control,
body.itb-shopping-cart #order-standard_cart .custom-select {
    min-height: 44px;
    border: 1px solid rgba(118, 164, 207, .28) !important;
    border-radius: 10px !important;
    background-color: #0b1725 !important;
    color: #f4f8fc !important;
    box-shadow: none !important;
}

body.itb-shopping-cart #order-standard_cart .form-control:focus,
body.itb-shopping-cart #order-standard_cart .custom-select:focus {
    border-color: #159ff4 !important;
    box-shadow: 0 0 0 3px rgba(21, 159, 244, .15) !important;
}

body.itb-shopping-cart #order-standard_cart .btn-primary,
body.itb-shopping-cart #order-standard_cart .btn-success,
body.itb-shopping-cart #order-standard_cart #checkout {
    border: 1px solid rgba(69, 184, 255, .70) !important;
    border-radius: 11px !important;
    background: linear-gradient(135deg, var(--itb-commerce-blue), var(--itb-commerce-blue-2)) !important;
    color: #fff !important;
    font-family: Inter, "Open Sans", sans-serif;
    font-weight: 750 !important;
    box-shadow: 0 9px 22px rgba(0, 116, 204, .25);
}

body.itb-shopping-cart #order-standard_cart .btn-primary:hover,
body.itb-shopping-cart #order-standard_cart .btn-success:hover,
body.itb-shopping-cart #order-standard_cart #checkout:hover {
    filter: brightness(1.08);
    transform: translateY(-1px);
}

/* Product catalogue */
body.itb-template-products #order-standard_cart .pull-right.form-inline {
    margin: 0 0 14px;
}

body.itb-template-products #order-standard_cart .products {
    clear: both;
}

body.itb-template-products #order-standard_cart .products > .row {
    display: flex !important;
    flex-wrap: wrap;
    margin: -7px -7px 7px;
}

body.itb-template-products #order-standard_cart .products > .row > [class*="col-"] {
    display: flex;
    float: none !important;
    width: 50% !important;
    max-width: 50% !important;
    flex: 0 0 50% !important;
    padding: 7px !important;
}

body.itb-template-products #order-standard_cart .products .product {
    display: flex;
    width: 100%;
    min-height: 100%;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--itb-commerce-line) !important;
    border-radius: 14px !important;
    background:
        linear-gradient(145deg, rgba(24, 40, 61, .98), rgba(12, 26, 42, .98)) !important;
    box-shadow: 0 14px 32px rgba(0, 0, 0, .18);
    transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

body.itb-template-products #order-standard_cart .products .product:hover {
    border-color: rgba(37, 164, 246, .54) !important;
    box-shadow: 0 18px 38px rgba(0, 0, 0, .26);
    transform: translateY(-2px);
}

body.itb-template-products #order-standard_cart .products .product > header {
    min-height: 62px;
    padding: 14px 16px 12px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(118, 164, 207, .14) !important;
    background: linear-gradient(115deg, rgba(11, 81, 145, .30), rgba(12, 26, 42, 0)) !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 760 !important;
    line-height: 1.32;
}

body.itb-template-products #order-standard_cart .products .product-desc {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    flex: 1 1 auto;
    padding: 12px 16px 10px !important;
    color: #b9cad9 !important;
    font-size: 12.75px;
    line-height: 1.4;
    box-sizing: border-box;
}

body.itb-template-products #order-standard_cart .products .product-desc br {
    display: block;
    content: "";
    margin-top: 5px;
}

body.itb-template-products #order-standard_cart .products .product-desc br + br {
    display: none;
}

body.itb-template-products #order-standard_cart .products .product-desc b,
body.itb-template-products #order-standard_cart .products .product-desc strong {
    color: #f2f7fc !important;
    font-weight: 720;
}

body.itb-template-products #order-standard_cart .products .product > footer {
    display: flex;
    float: none !important;
    clear: both;
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 66px;
    margin: auto 0 0 !important;
    padding: 11px 15px !important;
    border: 0 !important;
    border-top: 1px solid rgba(118, 164, 207, .16) !important;
    background: rgba(6, 17, 29, .36) !important;
    box-sizing: border-box;
}

body.itb-template-products #order-standard_cart .product-pricing {
    margin: 0 !important;
    color: #9fb4c8 !important;
    font-size: 11.5px;
    line-height: 1.3;
    white-space: normal;
}

body.itb-template-products #order-standard_cart .product-pricing br {
    display: none;
}

body.itb-template-products #order-standard_cart .product-pricing .price {
    color: var(--itb-commerce-gold) !important;
    display: inline-block;
    margin: 0 6px;
    font-size: 22px !important;
    font-weight: 800;
    letter-spacing: -.025em;
}

body.itb-template-products #order-standard_cart .products .product > footer .btn {
    flex: 0 0 auto;
    min-height: 39px;
    padding: 9px 14px !important;
    font-size: 12.5px;
}

/* Product configuration */
body.itb-template-configureproduct #order-standard_cart #frmConfigureProduct > .row {
    align-items: flex-start;
    margin: 0;
}

body.itb-template-configureproduct #order-standard_cart .secondary-cart-body {
    padding-left: 0;
}

body.itb-template-configureproduct #order-standard_cart .product-info,
body.itb-template-configureproduct #order-standard_cart .field-container,
body.itb-template-configureproduct #order-standard_cart .product-configurable-options {
    margin-bottom: 16px;
    padding: 18px 20px;
    border: 1px solid var(--itb-commerce-line) !important;
    border-radius: 15px !important;
    background: linear-gradient(145deg, rgba(22, 39, 60, .96), rgba(11, 25, 40, .96)) !important;
}

body.itb-template-configureproduct #order-standard_cart .product-info .product-title {
    margin-bottom: 12px;
    color: #fff !important;
    font-size: 20px !important;
    font-weight: 760 !important;
    line-height: 1.3;
}

body.itb-template-configureproduct #order-standard_cart .product-info p:not(.product-title),
body.itb-template-configureproduct #order-standard_cart .field-help-text,
body.itb-template-configureproduct #order-standard_cart .form-control-static {
    color: #b7c9d9 !important;
    line-height: 1.55;
}

body.itb-template-configureproduct #order-standard_cart .sub-heading {
    margin: 24px 0 12px !important;
    border: 0 !important;
    text-align: left !important;
}

body.itb-template-configureproduct #order-standard_cart .sub-heading span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 12px !important;
    border: 1px solid rgba(47, 165, 242, .30);
    border-radius: 999px;
    background: rgba(19, 121, 195, .15) !important;
    color: #90d3ff !important;
    font-family: Inter, "Open Sans", sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

body.itb-template-configureproduct #order-standard_cart .product-configurable-options .form-group {
    height: 100%;
    margin-bottom: 0;
    padding: 14px;
    border: 1px solid rgba(118, 164, 207, .16);
    border-radius: 12px;
    background: rgba(7, 18, 31, .42);
}

body.itb-template-configureproduct #order-standard_cart label {
    color: #f0f6fb !important;
}

body.itb-template-configureproduct #order-standard_cart #orderSummary {
    margin-top: 0 !important;
}

body.itb-template-configureproduct #order-standard_cart .order-summary {
    overflow: hidden;
    border: 1px solid rgba(50, 170, 244, .34) !important;
    border-radius: 17px !important;
    background: linear-gradient(155deg, #172942, #0b1828) !important;
    box-shadow: 0 18px 42px rgba(0, 0, 0, .26);
}

body.itb-template-configureproduct #order-standard_cart .order-summary > h2 {
    margin: 0;
    padding: 17px 18px !important;
    border-bottom: 1px solid rgba(105, 178, 231, .20);
    background: linear-gradient(90deg, rgba(4, 94, 170, .60), rgba(8, 44, 80, .30));
    color: #fff !important;
    font-family: Inter, "Open Sans", sans-serif !important;
    font-size: 20px !important;
    font-weight: 770 !important;
}

body.itb-template-configureproduct #order-standard_cart .summary-container {
    padding: 18px !important;
    color: #bdd0df !important;
}

body.itb-template-configureproduct #order-standard_cart .summary-container .product-name {
    color: #fff !important;
    font-weight: 760;
}

body.itb-template-configureproduct #order-standard_cart .total-due-today {
    margin-top: 14px;
    padding: 15px 0 0 !important;
    border-top: 1px solid rgba(118, 164, 207, .20);
}

body.itb-template-configureproduct #order-standard_cart .total-due-today .amt {
    color: var(--itb-commerce-gold) !important;
    font-size: 30px !important;
    font-weight: 820;
}

body.itb-template-configureproduct #order-standard_cart #btnCompleteProductConfig {
    width: 100%;
    margin-top: 13px;
    padding: 13px 18px !important;
}

/* Cart and checkout share a clean payment-console look. */
body.itb-template-viewcart #order-standard_cart .view-cart-items,
body.itb-template-checkout #order-standard_cart .checkout,
body.itb-shopping-cart #order-standard_cart .order-summary,
body.itb-shopping-cart #order-standard_cart .view-cart-tabs {
    border-color: var(--itb-commerce-line) !important;
    border-radius: 16px !important;
    background: linear-gradient(145deg, rgba(20, 36, 55, .98), rgba(10, 23, 37, .98)) !important;
    color: var(--itb-commerce-text) !important;
}

body.itb-shopping-cart #order-standard_cart .view-cart-items-header,
body.itb-shopping-cart #order-standard_cart .order-summary > h2,
body.itb-shopping-cart #order-standard_cart .checkout .sub-heading span {
    color: #fff !important;
}

body.itb-shopping-cart #order-standard_cart .view-cart-items .item,
body.itb-shopping-cart #order-standard_cart .summary-container,
body.itb-shopping-cart #order-standard_cart .checkout .form-group {
    border-color: rgba(118, 164, 207, .16) !important;
}

body.itb-shopping-cart #order-standard_cart .view-cart-items .item-title,
body.itb-shopping-cart #order-standard_cart .view-cart-items .item-price,
body.itb-shopping-cart #order-standard_cart .order-summary .total-due-today .amt {
    color: #fff !important;
}

body.itb-shopping-cart #order-standard_cart .order-summary .total-due-today .amt {
    color: var(--itb-commerce-gold) !important;
}

body.itb-shopping-cart #order-standard_cart .alert {
    border-radius: 12px !important;
}

body.itb-shopping-cart #order-standard_cart .alert-warning {
    border-color: rgba(240, 196, 60, .32) !important;
    background: rgba(240, 196, 60, .09) !important;
    color: #f4dda0 !important;
}

body.itb-shopping-cart #order-standard_cart .alert-danger {
    border-color: rgba(242, 92, 111, .40) !important;
    background: rgba(148, 30, 50, .18) !important;
    color: #ffc7cf !important;
}

/* Checkout account selector: the WHMCS default uses white account rows. */
body.itb-template-checkout #order-standard_cart .account-select-container {
    margin: 0 -6px 24px !important;
}

body.itb-template-checkout #order-standard_cart .account-select-container > [class*="col-"] {
    padding: 0 6px !important;
}

body.itb-template-checkout #order-standard_cart .account-select-container .account {
    overflow: hidden;
    min-height: 68px;
    margin: 0 0 12px !important;
    padding: 0 !important;
    border: 1px solid var(--itb-commerce-line) !important;
    border-radius: 13px !important;
    background: linear-gradient(145deg, rgba(22, 39, 60, .98), rgba(12, 27, 43, .98)) !important;
    color: var(--itb-commerce-text) !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .16);
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

body.itb-template-checkout #order-standard_cart .account-select-container .account:hover {
    border-color: rgba(35, 164, 244, .50) !important;
    transform: translateY(-1px);
}

body.itb-template-checkout #order-standard_cart .account-select-container .account.active {
    border-color: rgba(27, 164, 247, .82) !important;
    background: linear-gradient(145deg, rgba(8, 83, 145, .46), rgba(11, 31, 50, .98)) !important;
    box-shadow: 0 0 0 1px rgba(27, 164, 247, .16), 0 12px 28px rgba(0, 0, 0, .22);
}

body.itb-template-checkout #order-standard_cart .account-select-container .account > label,
body.itb-template-checkout #order-standard_cart .account-select-container .account .radio-inline {
    display: flex !important;
    align-items: flex-start;
    width: 100%;
    min-height: 68px;
    margin: 0 !important;
    padding: 15px 17px 14px 48px !important;
    color: var(--itb-commerce-text) !important;
    cursor: pointer;
}

body.itb-template-checkout #order-standard_cart .account-select-container .account input[type="radio"] {
    margin-top: 3px !important;
    margin-left: -30px !important;
    accent-color: var(--itb-commerce-blue);
}

body.itb-template-checkout #order-standard_cart .account-select-container .account .address,
body.itb-template-checkout #order-standard_cart .account-select-container .account strong {
    color: #f7fbff !important;
}

body.itb-template-checkout #order-standard_cart .account-select-container .account .address {
    display: block;
    line-height: 1.45;
}

body.itb-template-checkout #order-standard_cart .account-select-container .account .small {
    display: inline-block;
    margin-top: 5px;
    color: var(--itb-commerce-muted) !important;
}

body.itb-template-checkout #order-standard_cart .account-select-container .account .label-info {
    margin-left: 6px;
    border: 1px solid rgba(100, 203, 255, .32);
    border-radius: 6px;
    background: rgba(16, 152, 238, .18) !important;
    color: #9fddff !important;
    font-size: 10px;
    letter-spacing: .05em;
}

body.itb-template-checkout #order-standard_cart .account-select-container .account.border-bottom {
    border: 1px dashed rgba(118, 164, 207, .30) !important;
    background: rgba(13, 29, 46, .74) !important;
    box-shadow: none;
}

body.itb-template-checkout #order-standard_cart .account-select-container .account.border-bottom.active {
    border-style: solid !important;
    border-color: rgba(27, 164, 247, .68) !important;
    background: rgba(8, 83, 145, .32) !important;
}

body.itb-template-checkout #order-standard_cart .account-select-container + .sub-heading,
body.itb-template-checkout #order-standard_cart #containerNewUserSignup .sub-heading {
    margin-top: 28px;
}

@media (max-width: 991px) {
    body.itb-shopping-cart #order-standard_cart .cart-sidebar {
        margin-bottom: 18px;
    }

    body.itb-template-configureproduct #order-standard_cart .secondary-cart-body,
    body.itb-template-configureproduct #order-standard_cart .secondary-cart-sidebar {
        width: 100%;
        max-width: none;
        padding-right: 0;
        padding-left: 0;
    }

    body.itb-template-configureproduct #order-standard_cart .secondary-cart-sidebar {
        margin-top: 18px;
    }

    body.itb-template-configureproduct #order-standard_cart #orderSummary {
        position: static !important;
        width: 100% !important;
    }
}

@media (max-width: 767px) {
    body.itb-shopping-cart #order-standard_cart .header-lined {
        padding: 18px;
        border-radius: 15px;
    }

    body.itb-shopping-cart #order-standard_cart .cart-sidebar .panel-sidebar[menuitemname="Categories"] .panel-heading {
        padding: 9px 13px !important;
    }

    body.itb-shopping-cart #order-standard_cart .cart-sidebar .panel-sidebar[menuitemname="Categories"] .list-group {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding: 8px;
    }

    body.itb-template-checkout #order-standard_cart .account-select-container {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    body.itb-template-checkout #order-standard_cart .account-select-container > [class*="col-"] {
        width: 100%;
        padding: 0 !important;
    }

    body.itb-template-checkout #order-standard_cart .account-select-container .account > label,
    body.itb-template-checkout #order-standard_cart .account-select-container .account .radio-inline {
        padding: 14px 14px 13px 45px !important;
    }

    body.itb-template-products #order-standard_cart .products > .row {
        margin: -7px -7px 7px;
    }

    body.itb-template-products #order-standard_cart .products > .row > [class*="col-"] {
        width: 100% !important;
        max-width: 100% !important;
        flex-basis: 100% !important;
        padding: 7px !important;
    }

    body.itb-template-products #order-standard_cart .products .product > header {
        min-height: 0;
        padding: 14px 15px 12px !important;
        font-size: 16px !important;
    }

    body.itb-template-products #order-standard_cart .products .product-desc {
        padding: 12px 15px 9px !important;
    }

    body.itb-template-products #order-standard_cart .products .product > footer {
        min-height: 64px;
        padding: 11px 14px !important;
    }

    body.itb-template-products #order-standard_cart .products .product > footer .btn {
        padding: 9px 12px !important;
    }

    body.itb-template-configureproduct #order-standard_cart .product-info,
    body.itb-template-configureproduct #order-standard_cart .field-container,
    body.itb-template-configureproduct #order-standard_cart .product-configurable-options {
        padding: 15px;
    }

    body.itb-template-configureproduct #order-standard_cart .product-configurable-options .col-sm-6,
    body.itb-template-configureproduct #order-standard_cart .product-configurable-options .col-sm-12 {
        margin-bottom: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.itb-shopping-cart #order-standard_cart .product,
    body.itb-shopping-cart #order-standard_cart .btn {
        transition: none !important;
    }
}
