/**
 * Trybot Cart UI
 * Visual layer for every view inherited from WHMCS standard_cart.
 * Keeps WHMCS markup and JavaScript behaviour intact.
 */

#order-standard_cart {
    --tb-bg: #030609;
    --tb-bg-raised: #07111c;
    --tb-surface: rgba(11, 20, 31, .94);
    --tb-surface-soft: rgba(255, 255, 255, .045);
    --tb-surface-hover: rgba(0, 157, 255, .085);
    --tb-line: rgba(255, 255, 255, .10);
    --tb-line-strong: rgba(0, 157, 255, .42);
    --tb-blue: #009dff;
    --tb-blue-bright: #35baff;
    --tb-blue-soft: #8fd3ff;
    --tb-green: #18c987;
    --tb-yellow: #f8c85c;
    --tb-red: #ff667a;
    --tb-text: #f7fbff;
    --tb-text-soft: #a8b7c8;
    --tb-text-muted: #718296;
    --tb-radius-sm: 10px;
    --tb-radius: 14px;
    --tb-radius-lg: 20px;
    width: 100%;
    max-width: 1270px;
    margin: 0 auto;
    padding: 8px 0 48px;
    color: var(--tb-text-soft);
    font-size: 14px;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

#order-standard_cart *,
#order-standard_cart *::before,
#order-standard_cart *::after {
    box-sizing: border-box;
}

#order-standard_cart h1,
#order-standard_cart h2,
#order-standard_cart h3,
#order-standard_cart h4,
#order-standard_cart h5,
#order-standard_cart h6,
#order-standard_cart .product-title,
#order-standard_cart .product-name,
#order-standard_cart .summary-container .product-name {
    color: var(--tb-text);
    letter-spacing: -.02em;
}

#order-standard_cart p,
#order-standard_cart label,
#order-standard_cart .help-block,
#order-standard_cart .text-muted,
#order-standard_cart small {
    color: var(--tb-text-soft) !important;
}

#order-standard_cart a {
    color: var(--tb-blue-soft);
    transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease;
}

#order-standard_cart a:hover,
#order-standard_cart a:focus {
    color: var(--tb-blue-bright);
    text-decoration: none;
}

#order-standard_cart img,
#order-standard_cart svg {
    max-width: 100%;
}

#order-standard_cart hr {
    border-color: var(--tb-line);
}

#order-standard_cart .cart-sidebar,
#order-standard_cart .cart-body,
#order-standard_cart .secondary-cart-body,
#order-standard_cart .secondary-cart-sidebar {
    min-width: 0;
}

#order-standard_cart .panel,
#order-standard_cart .card,
#order-standard_cart .product,
#order-standard_cart .product-info,
#order-standard_cart .domain-selection-options,
#order-standard_cart .domain-checker-container,
#order-standard_cart .domain-pricing,
#order-standard_cart .view-cart-items,
#order-standard_cart .order-summary,
#order-standard_cart .summary-container,
#order-standard_cart .checkout-security-msg,
#order-standard_cart .service-renewal,
#order-standard_cart .mc-promo,
#order-standard_cart .account,
#order-standard_cart .payment-methods .payment-method,
#order-standard_cart .sub-heading span,
#order-standard_cart .field-container,
#order-standard_cart .promo-code-form {
    color: var(--tb-text-soft) !important;
    background: var(--tb-surface) !important;
    border: 1px solid var(--tb-line) !important;
    border-radius: var(--tb-radius);
    box-shadow: 0 18px 45px rgba(0, 0, 0, .18);
}

#order-standard_cart .panel,
#order-standard_cart .card,
#order-standard_cart .domain-selection-options,
#order-standard_cart .domain-checker-container,
#order-standard_cart .domain-pricing,
#order-standard_cart .view-cart-items,
#order-standard_cart .order-summary,
#order-standard_cart .summary-container,
#order-standard_cart .checkout-security-msg,
#order-standard_cart .service-renewal,
#order-standard_cart .mc-promo {
    overflow: hidden;
}

#order-standard_cart .panel-heading,
#order-standard_cart .panel-footer,
#order-standard_cart .card-header,
#order-standard_cart .card-footer,
#order-standard_cart .view-cart-items-header,
#order-standard_cart .order-summary h2,
#order-standard_cart .summary-container .subtotal,
#order-standard_cart .summary-container .total-due-today,
#order-standard_cart .domain-pricing .tld-pricing-header,
#order-standard_cart .product .product-price,
#order-standard_cart .product .product-desc,
#order-standard_cart .product .product-footer {
    color: var(--tb-text) !important;
    background: var(--tb-surface-soft) !important;
    border-color: var(--tb-line) !important;
}

/* The upstream cart stylesheet uses more-specific white product surfaces. */
#order-standard_cart .products .product,
#order-standard_cart .products .product header,
#order-standard_cart .products .product footer,
#order-standard_cart .view-cart-items .item,
#order-standard_cart .domain-selection-options .option,
#order-standard_cart .apply-credit-container,
#order-standard_cart .cc-input-container {
    color: var(--tb-text-soft) !important;
    background: var(--tb-surface) !important;
    border-color: var(--tb-line) !important;
}

#order-standard_cart .products .product header span,
#order-standard_cart .products .product h1,
#order-standard_cart .products .product h2,
#order-standard_cart .products .product h3,
#order-standard_cart .view-cart-items .item .item-title,
#order-standard_cart .view-cart-items .item strong {
    color: var(--tb-text) !important;
}

#order-standard_cart .panel-body,
#order-standard_cart .card-body,
#order-standard_cart .panel-default > .panel-heading {
    color: var(--tb-text-soft);
    background: transparent;
    border-color: var(--tb-line);
}

#order-standard_cart .panel-title,
#order-standard_cart .card-title,
#order-standard_cart .sub-heading span {
    color: var(--tb-text);
    font-weight: 700;
}

#order-standard_cart .sub-heading {
    height: auto;
    margin: 30px 0 20px;
    border-color: var(--tb-line);
}

#order-standard_cart .sub-heading span {
    display: inline-block;
    padding: 8px 14px;
    box-shadow: none;
}

#order-standard_cart .cart-sidebar .panel,
#order-standard_cart .cart-sidebar .card {
    position: sticky;
    top: 18px;
    box-shadow: none;
}

#order-standard_cart .cart-sidebar .panel-heading,
#order-standard_cart .cart-sidebar .card-header {
    padding: 16px 18px;
    color: var(--tb-text);
    background: linear-gradient(135deg, rgba(0, 157, 255, .14), rgba(255, 255, 255, .02));
    border-bottom: 1px solid var(--tb-line);
}

#order-standard_cart .list-group-item,
#order-standard_cart .list-group-item:first-child,
#order-standard_cart .list-group-item:last-child,
#order-standard_cart .cart-sidebar .list-group-item {
    color: var(--tb-text-soft);
    background: transparent;
    border-color: var(--tb-line);
}

#order-standard_cart a.list-group-item:hover,
#order-standard_cart a.list-group-item:focus,
#order-standard_cart .list-group-item.active,
#order-standard_cart .list-group-item.active:hover,
#order-standard_cart .list-group-item.active:focus,
#order-standard_cart .cart-sidebar .list-group-item.active {
    color: var(--tb-text);
    background: var(--tb-surface-hover);
    border-color: var(--tb-line-strong);
}

#order-standard_cart .list-group-item.active::before,
#order-standard_cart .cart-sidebar .list-group-item.active::before {
    background: var(--tb-blue);
}

#order-standard_cart .form-control,
#order-standard_cart input[type="text"],
#order-standard_cart input[type="email"],
#order-standard_cart input[type="password"],
#order-standard_cart input[type="tel"],
#order-standard_cart input[type="number"],
#order-standard_cart select,
#order-standard_cart textarea,
#order-standard_cart .input-group-addon,
#order-standard_cart .input-group-text {
    min-height: 42px;
    color: var(--tb-text);
    background-color: rgba(255, 255, 255, .055);
    border: 1px solid var(--tb-line);
    border-radius: var(--tb-radius-sm);
    box-shadow: none;
}

#order-standard_cart select option {
    color: #101722;
    background: #fff;
}

#order-standard_cart .form-control::placeholder,
#order-standard_cart input::placeholder,
#order-standard_cart textarea::placeholder {
    color: var(--tb-text-muted);
    opacity: 1;
}

#order-standard_cart .form-control:focus,
#order-standard_cart input:focus,
#order-standard_cart select:focus,
#order-standard_cart textarea:focus {
    color: var(--tb-text);
    background-color: rgba(0, 157, 255, .06);
    border-color: var(--tb-blue);
    box-shadow: 0 0 0 3px rgba(0, 157, 255, .14);
    outline: 0;
}

#order-standard_cart .prepend-icon .field-icon,
#order-standard_cart .field-icon {
    color: var(--tb-text-muted);
}

#order-standard_cart .btn {
    min-height: 40px;
    padding: 9px 16px;
    border-radius: var(--tb-radius-sm);
    font-weight: 700;
    border-width: 1px;
    box-shadow: none;
    white-space: normal;
}

#order-standard_cart .btn:hover,
#order-standard_cart .btn:focus {
    transform: translateY(-1px);
}

#order-standard_cart .btn-primary,
#order-standard_cart .btn-success,
#order-standard_cart .btn-info,
#order-standard_cart .btn-checkout,
#order-standard_cart button[type="submit"] {
    color: #fff;
    background: linear-gradient(135deg, var(--tb-blue), #0876e8);
    border-color: var(--tb-blue);
    box-shadow: 0 10px 24px rgba(0, 157, 255, .20);
}

#order-standard_cart .btn-primary:hover,
#order-standard_cart .btn-success:hover,
#order-standard_cart .btn-info:hover,
#order-standard_cart .btn-checkout:hover,
#order-standard_cart button[type="submit"]:hover {
    color: #fff;
    background: linear-gradient(135deg, var(--tb-blue-bright), var(--tb-blue));
    border-color: var(--tb-blue-bright);
}

#order-standard_cart .btn-default,
#order-standard_cart .btn-secondary,
#order-standard_cart .btn-light {
    color: var(--tb-text);
    background: var(--tb-surface-soft);
    border-color: var(--tb-line);
}

#order-standard_cart .btn-default:hover,
#order-standard_cart .btn-secondary:hover,
#order-standard_cart .btn-light:hover {
    color: var(--tb-text);
    background: var(--tb-surface-hover);
    border-color: var(--tb-line-strong);
}

#order-standard_cart .btn-danger,
#order-standard_cart .btn-remove-from-cart {
    color: var(--tb-red);
    background: rgba(255, 102, 122, .09);
    border-color: rgba(255, 102, 122, .28);
}

#order-standard_cart .btn[disabled],
#order-standard_cart .btn.disabled {
    opacity: .5;
    transform: none;
}

#order-standard_cart .alert {
    color: var(--tb-text);
    background: var(--tb-surface-soft);
    border: 1px solid var(--tb-line);
    border-radius: var(--tb-radius);
}

#order-standard_cart .alert-info {
    background: rgba(0, 157, 255, .09);
    border-color: rgba(0, 157, 255, .30);
}

#order-standard_cart .alert-success {
    background: rgba(24, 201, 135, .09);
    border-color: rgba(24, 201, 135, .30);
}

#order-standard_cart .alert-warning {
    background: rgba(248, 200, 92, .09);
    border-color: rgba(248, 200, 92, .30);
}

#order-standard_cart .alert-danger {
    background: rgba(255, 102, 122, .09);
    border-color: rgba(255, 102, 122, .30);
}

#order-standard_cart .label,
#order-standard_cart .badge {
    border-radius: 999px;
    font-weight: 700;
}

#order-standard_cart table,
#order-standard_cart .table {
    width: 100%;
    color: var(--tb-text-soft);
    background: transparent;
}

#order-standard_cart .table > thead > tr > th,
#order-standard_cart .table > tbody > tr > th,
#order-standard_cart .table > tfoot > tr > th,
#order-standard_cart .table > thead > tr > td,
#order-standard_cart .table > tbody > tr > td,
#order-standard_cart .table > tfoot > tr > td {
    color: var(--tb-text-soft);
    background: transparent;
    border-color: var(--tb-line);
    vertical-align: middle;
}

#order-standard_cart .table-striped > tbody > tr:nth-of-type(odd),
#order-standard_cart .table-hover > tbody > tr:hover {
    background: var(--tb-surface-soft);
}

#order-standard_cart .products .product,
#order-standard_cart .product,
#order-standard_cart .product-info {
    margin-bottom: 18px;
    transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

#order-standard_cart .products .product:hover,
#order-standard_cart .product:hover,
#order-standard_cart .product-info:hover {
    border-color: var(--tb-line-strong);
    transform: translateY(-2px);
    box-shadow: 0 22px 50px rgba(0, 0, 0, .24);
}

#order-standard_cart .product .product-title,
#order-standard_cart .product .product-price,
#order-standard_cart .product .product-desc,
#order-standard_cart .product .product-footer {
    border-color: var(--tb-line);
}

#order-standard_cart .product .product-price,
#order-standard_cart .price,
#order-standard_cart .pricing,
#order-standard_cart .amt,
#order-standard_cart .total-due-today .amt {
    color: var(--tb-text);
}

#order-standard_cart .domain-selection-options .option,
#order-standard_cart .domain-result,
#order-standard_cart .domain-suggestions .domain-suggestion,
#order-standard_cart .spotlight-tld,
#order-standard_cart .tld-pricing .tld-row {
    color: var(--tb-text-soft);
    background: var(--tb-surface-soft);
    border-color: var(--tb-line);
}

#order-standard_cart .domain-selection-options .option:hover,
#order-standard_cart .domain-suggestions .domain-suggestion:hover,
#order-standard_cart .spotlight-tld:hover {
    background: var(--tb-surface-hover);
    border-color: var(--tb-line-strong);
}

#order-standard_cart .domain-result.domain-available,
#order-standard_cart .domain-available,
#order-standard_cart .text-success {
    color: var(--tb-green) !important;
}

#order-standard_cart .trybot-domain-option-result,
#order-standard_cart .trybot-product-recommendations,
#order-standard_cart .trybot-provider-messages {
    border-radius: var(--tb-radius);
}

#order-standard_cart .trybot-paymethod-cell,
#order-standard_cart .trybot-linked-accounts,
#order-standard_cart .trybot-marketconnect-promo,
#order-standard_cart .trybot-category-selector {
    border-color: var(--tb-line);
}

#order-standard_cart .trybot-summary-product {
    display: inline-block;
    margin-bottom: 8px;
    font-weight: 700;
}

#order-standard_cart .text-danger {
    color: var(--tb-red) !important;
}

#order-standard_cart .view-cart-items .item,
#order-standard_cart .view-cart-items .item-domain,
#order-standard_cart .view-cart-items .item-price,
#order-standard_cart .order-summary .summary-totals,
#order-standard_cart .order-summary .total-due-today,
#order-standard_cart .summary-container .summary-totals,
#order-standard_cart .summary-container .total-due-today {
    color: var(--tb-text-soft);
    background: transparent;
    border-color: var(--tb-line);
}

#order-standard_cart .order-summary .total-due-today,
#order-standard_cart .summary-container .total-due-today {
    background: linear-gradient(135deg, rgba(0, 157, 255, .12), rgba(255, 255, 255, .025));
}

#order-standard_cart .order-summary .total-due-today .amt,
#order-standard_cart .summary-container .total-due-today .amt {
    color: var(--tb-blue-bright);
}

#order-standard_cart .account-select-container .account,
#order-standard_cart .account-select-container .account.active,
#order-standard_cart .payment-methods .payment-method,
#order-standard_cart .cc-input-container,
#order-standard_cart .existing-cc-grid .paymethod-info {
    color: var(--tb-text-soft);
    background: var(--tb-surface-soft);
    border-color: var(--tb-line);
}

#order-standard_cart .account-select-container .account.active,
#order-standard_cart .payment-methods .payment-method.selected,
#order-standard_cart .payment-methods .payment-method:hover {
    background: var(--tb-surface-hover);
    border-color: var(--tb-line-strong);
}

#order-standard_cart .progress {
    height: 8px;
    background: var(--tb-surface-soft);
    border-radius: 999px;
    box-shadow: none;
}

#order-standard_cart .progress-bar {
    background: linear-gradient(90deg, var(--tb-blue), var(--tb-blue-bright));
    box-shadow: none;
}

#order-standard_cart .icheckbox_square-blue,
#order-standard_cart .iradio_square-blue {
    filter: saturate(.8) brightness(1.18);
}

#order-standard_cart .captchaimage,
#order-standard_cart .recaptcha-container,
#order-standard_cart .g-recaptcha {
    max-width: 100%;
}

#order-standard_cart .modal-content,
.modal.trybot-cart-modal .modal-content {
    color: var(--tb-text-soft, #a8b7c8);
    background: #0b141f;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 16px;
    box-shadow: 0 30px 90px rgba(0, 0, 0, .55);
}

#order-standard_cart .modal-header,
#order-standard_cart .modal-footer,
.modal.trybot-cart-modal .modal-header,
.modal.trybot-cart-modal .modal-footer {
    border-color: rgba(255, 255, 255, .10);
}

#order-standard_cart .modal-title,
.modal.trybot-cart-modal .modal-title {
    color: #f7fbff;
}

#order-standard_cart .close,
.modal.trybot-cart-modal .close {
    color: #f7fbff;
    text-shadow: none;
    opacity: .75;
}

#order-standard_cart .loading-spinner,
#order-standard_cart .spinner {
    color: var(--tb-blue);
}

@media (max-width: 1199px) {
    #order-standard_cart {
        padding-right: 4px;
        padding-left: 4px;
    }

    #order-standard_cart .cart-body {
        width: 100%;
    }
}

@media (max-width: 991px) {
    #order-standard_cart .secondary-cart-body,
    #order-standard_cart .secondary-cart-sidebar {
        float: none;
        width: 100%;
    }

    #order-standard_cart .secondary-cart-sidebar {
        max-width: none;
        margin-top: 22px;
    }

    #order-standard_cart .secondary-cart-sidebar .panel,
    #order-standard_cart .secondary-cart-sidebar .card {
        position: static;
    }

    #order-standard_cart .products .row,
    #order-standard_cart .product-row {
        display: flex;
        flex-wrap: wrap;
    }
}

@media (max-width: 767px) {
    #order-standard_cart {
        padding-bottom: 30px;
        font-size: 13px;
    }

    #order-standard_cart .cart-body,
    #order-standard_cart .secondary-cart-body,
    #order-standard_cart .secondary-cart-sidebar {
        padding-right: 8px;
        padding-left: 8px;
    }

    #order-standard_cart h1 {
        font-size: 26px;
    }

    #order-standard_cart h2 {
        font-size: 21px;
    }

    #order-standard_cart .panel-body,
    #order-standard_cart .card-body,
    #order-standard_cart .summary-container,
    #order-standard_cart .domain-selection-options {
        padding: 14px;
    }

    #order-standard_cart .btn-lg,
    #order-standard_cart .btn-block-xs {
        width: 100%;
    }

    #order-standard_cart .table-responsive,
    #order-standard_cart .domain-pricing,
    #order-standard_cart .view-cart-items {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    #order-standard_cart .table-responsive > .table {
        min-width: 620px;
    }

    #order-standard_cart .input-group {
        width: 100%;
    }

    #order-standard_cart .domain-search .input-group-btn,
    #order-standard_cart .domain-search .input-group-btn .btn {
        width: auto;
    }

    #order-standard_cart .g-recaptcha {
        transform: scale(.88);
        transform-origin: 0 0;
    }
}

@media (max-width: 480px) {
    #order-standard_cart .btn-group,
    #order-standard_cart .btn-group .btn,
    #order-standard_cart .checkout-btn-container .btn,
    #order-standard_cart .domain-add-to-cart .btn {
        display: block;
        width: 100%;
        margin: 5px 0;
    }

    #order-standard_cart .g-recaptcha {
        transform: scale(.76);
    }
}

@media (prefers-reduced-motion: reduce) {
    #order-standard_cart *,
    #order-standard_cart *::before,
    #order-standard_cart *::after {
        scroll-behavior: auto !important;
        transition: none !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}
