/*!
 * SIT Portal Cart
 * Restyles Standard Cart (WHMCS 8.11) to match the SIT Portal client theme.
 * Loaded automatically by standard_cart/common.tpl after the base order form CSS.
 */

:root {
    --sp-navy-900: #082B3B;
    --sp-navy: #0B3A4F;
    --sp-navy-700: #2C5466;
    --sp-blue: #009CC0;
    --sp-blue-ink: #00789C;
    --sp-blue-deep: #00607D;
    --sp-blue-wash: #EAF6FA;
    --sp-blue-tint: #E1F4F9;
    --sp-orange: #FC6000;
    --sp-orange-ink: #C84A00;
    --sp-orange-deep: #A23C00;
    --sp-orange-tint: #FFE6D5;
    --sp-orange-text: #8A3300;
    --sp-green: #90C018;
    --sp-green-ink: #3F6200;
    --sp-green-wash: #EEF6DC;
    --sp-red: #B42318;
    --sp-red-wash: #FDECEA;
    --sp-bg: #F4F8FA;
    --sp-line: #DCE6EB;
    --sp-line-soft: #EDF2F5;
    --sp-line-strong: #C3D2DA;
    --sp-text: #0B3A4F;
    --sp-muted: #54616E;
    --sp-faint: #7A8894;
    --sp-font: 'Sora', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --sp-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
    --sp-r-sm: 8px;
    --sp-r: 10px;
    --sp-r-lg: 14px;
    --sp-focus: 0 0 0 3px rgba(0, 156, 192, .35);
}

/* ---------- Layout ---------- */
#order-standard_cart {
    font-family: var(--sp-font);
    font-size: 15px;
    color: var(--sp-text);
    padding-bottom: 24px;
}
#order-standard_cart > .row { display: flex; flex-wrap: wrap; }

/* Category sidebar only on the "choose a plan" step; the client theme adds .sp-step-N to the page */
#order-standard_cart .cart-sidebar { display: none; }
.sp-step-1 #order-standard_cart .cart-sidebar { display: block; }
#order-standard_cart .cart-body { width: 100%; float: none; }
.sp-step-1 #order-standard_cart .cart-body { width: 75%; }
@media (max-width: 1199px) {
    .sp-step-1 #order-standard_cart .cart-sidebar { display: none; }
    .sp-step-1 #order-standard_cart .cart-body { width: 100%; }
}
#order-standard_cart .secondary-cart-body { width: 64%; }
#order-standard_cart .secondary-cart-sidebar { width: 36%; }
@media (max-width: 991px) {
    #order-standard_cart .secondary-cart-body,
    #order-standard_cart .secondary-cart-sidebar { width: 100%; float: none; }
}

/* ---------- Headings ---------- */
#order-standard_cart .header-lined { border: 0; margin: 0 0 22px; padding: 0; }
#order-standard_cart .header-lined h1,
#order-standard_cart .header-lined .font-size-36 {
    margin: 0;
    font-family: var(--sp-font);
    font-size: 32px;
    font-weight: 700;
    letter-spacing: -.6px;
    color: var(--sp-text);
}
#order-standard_cart .header-lined p { margin: 8px 0 0; font-size: 16px; color: var(--sp-muted); }
#order-standard_cart .sub-heading,
#order-standard_cart .sub-heading-borderless {
    height: auto;
    border: 0;
    text-align: left;
    margin: 28px 0 14px;
}
#order-standard_cart .sub-heading span,
#order-standard_cart .sub-heading-borderless span {
    position: static;
    padding: 0;
    background: none !important;
    font-family: var(--sp-font);
    font-size: 17px;
    font-weight: 700;
    color: var(--sp-text);
}
#order-standard_cart label,
#order-standard_cart p.domain-renewal-desc {
    font-size: 14px;
    font-weight: 600;
    color: var(--sp-text);
}
#order-standard_cart .field-container { margin-bottom: 22px; }

/* ---------- Product info and options ---------- */
#order-standard_cart .product-info {
    background: #fff;
    border: 1px solid var(--sp-line);
    border-radius: var(--sp-r-lg);
    padding: 20px 22px;
    margin-bottom: 22px;
    box-shadow: inset 0 4px 0 var(--sp-blue);
}
#order-standard_cart .product-info .product-title { font-size: 22px; font-weight: 700; margin: 0 0 6px; color: var(--sp-text); }
#order-standard_cart .product-info p { font-size: 14px; }
#order-standard_cart .product-info p { color: var(--sp-muted); margin-bottom: 0; }

#order-standard_cart .form-control,
#order-standard_cart .custom-select {
    height: 48px;
    border: 1px solid var(--sp-line-strong);
    border-radius: var(--sp-r);
    color: var(--sp-text);
    font-size: 15px;
    box-shadow: none;
}
#order-standard_cart textarea.form-control { height: auto; }
#order-standard_cart .form-control:focus,
#order-standard_cart .custom-select:focus { border-color: var(--sp-blue-ink); box-shadow: var(--sp-focus); }
#order-standard_cart .select-inline { width: auto; min-width: 280px; max-width: 100%; }
#order-standard_cart .prepend-icon .field-icon { color: var(--sp-faint); }
#order-standard_cart .prepend-icon .field { padding-left: 42px; }

/* Addons */
#order-standard_cart .panel-addon {
    background: #fff;
    border: 2px solid var(--sp-line);
    border-radius: var(--sp-r-lg);
    font-size: 14px;
    text-align: left;
    overflow: hidden;
    margin-bottom: 14px;
    transition: border-color .15s;
}
#order-standard_cart .panel-addon:hover { border-color: var(--sp-line-strong); }
#order-standard_cart .panel-addon .panel-body { padding: 16px 18px; border-radius: 0; }
#order-standard_cart .panel-addon .panel-body label { font-size: 15px; font-weight: 600; color: var(--sp-text); }
#order-standard_cart .panel-addon .panel-price {
    padding: 10px 18px;
    background: var(--sp-bg);
    font-family: var(--sp-mono);
    font-size: 14px;
    color: var(--sp-text);
}
#order-standard_cart .panel-addon .panel-add {
    padding: 10px 18px;
    background: var(--sp-blue-wash);
    color: var(--sp-navy);
    font-weight: 600;
    border-radius: 0;
}
#order-standard_cart .panel-addon-selected { border-color: var(--sp-blue-ink); }
#order-standard_cart .panel-addon-selected .panel-add { background: var(--sp-navy); color: #fff; }

/* ---------- Order summary ---------- */
#order-standard_cart .order-summary {
    background: #fff;
    border: 1px solid var(--sp-line);
    border-radius: var(--sp-r-lg);
    overflow: hidden;
    border-bottom-width: 1px;
}
#order-standard_cart .order-summary h2 {
    background: var(--sp-navy);
    color: #fff;
    text-align: left;
    font-family: var(--sp-font);
    font-size: 17px;
    font-weight: 700;
    padding: 18px 22px;
}
#order-standard_cart .summary-container {
    background: #fff;
    padding: 18px 22px 22px;
    font-size: 14px;
    border-radius: 0;
}
#order-standard_cart .order-summary .loader { color: var(--sp-blue); top: 16px; padding-right: 20px; }
#order-standard_cart .order-summary .product-name { font-size: 15px; font-weight: 600; }
#order-standard_cart .order-summary .product-group { font-style: normal; color: var(--sp-muted); font-size: 13px; }
#order-standard_cart .order-summary .summary-totals { border-color: var(--sp-line-soft); }
#order-standard_cart .order-summary .clearfix .float-right,
#order-standard_cart .order-summary .pull-right,
#order-standard_cart .order-summary .amt { font-family: var(--sp-mono); }
#order-standard_cart .order-summary .total-due-today span:not(.amt) { color: var(--sp-muted); font-size: 13px; }
#order-standard_cart .order-summary .total-due-today .amt { font-size: 26px; font-weight: 500; color: var(--sp-text); }
#order-standard_cart .order-summary .subtotal,
#order-standard_cart .order-summary .bordered-totals { border-color: var(--sp-line-soft); }
#order-standard_cart .order-summary .btn-checkout,
#order-standard_cart #checkout { margin-top: 6px; }

/* ---------- Buttons ---------- */
#order-standard_cart .btn {
    font-family: var(--sp-font);
    font-weight: 600;
    border-radius: var(--sp-r);
}
#order-standard_cart .btn-primary,
#order-standard_cart .btn-checkout,
#order-standard_cart .btn-success.btn-checkout {
    background: var(--sp-orange-ink);
    border-color: var(--sp-orange-ink);
    color: #fff;
}
#order-standard_cart .btn-primary:hover,
#order-standard_cart .btn-checkout:hover { background: var(--sp-orange-deep); border-color: var(--sp-orange-deep); color: #fff; }
#order-standard_cart .btn-lg { min-height: 52px; padding: 12px 26px; font-size: 16px; }
#order-standard_cart .btn-default,
#order-standard_cart .btn-secondary {
    background: #fff;
    border: 1px solid var(--sp-line-strong);
    color: var(--sp-navy);
}
#order-standard_cart .btn-default:hover,
#order-standard_cart .btn-secondary:hover { background: var(--sp-blue-wash); border-color: var(--sp-blue-ink); }
#order-standard_cart .btn-link { color: var(--sp-blue-ink); }
#order-standard_cart .btn-remove-from-cart { color: var(--sp-faint); }
#order-standard_cart .btn-remove-from-cart:hover { color: var(--sp-red); }

/* ---------- Products listing ---------- */
#order-standard_cart .products .product {
    background: #fff;
    border: 1px solid var(--sp-line);
    border-radius: var(--sp-r-lg);
    padding: 0;
    overflow: hidden;
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
    height: calc(100% - 20px);
}
#order-standard_cart .products .product header {
    background: none;
    border-bottom: 1px solid var(--sp-line-soft);
    padding: 18px 22px;
    margin: 0;
    box-shadow: inset 0 4px 0 var(--sp-blue);
}
#order-standard_cart .products .product header span { font-size: 20px; font-weight: 700; color: var(--sp-text); }
#order-standard_cart .products .product header .qty { font-size: 12px; color: var(--sp-muted); font-style: normal; }
#order-standard_cart .products .product div.product-desc {
    float: none; width: auto;
    padding: 18px 22px 8px;
    font-size: 14px;
    color: var(--sp-muted);
    flex: 1;
}
#order-standard_cart .products .product div.product-desc ul { padding: 0; margin: 12px 0 0; list-style: none; }
#order-standard_cart .products .product div.product-desc li { padding: 6px 0; border-bottom: 1px solid var(--sp-line-soft); color: var(--sp-text); }
#order-standard_cart .products .product span.feature-value { font-weight: 600; color: var(--sp-text); }
#order-standard_cart .products .product footer {
    float: none; width: auto;
    margin: 0;
    padding: 16px 22px 20px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    font-size: 13px;
    color: var(--sp-muted);
    text-align: left;
}
#order-standard_cart .products .product div.product-pricing span.price {
    font-family: var(--sp-mono);
    font-size: 24px;
    font-weight: 500;
    color: var(--sp-text);
}
#order-standard_cart .products .product .btn-order-now { min-height: 44px; padding: 10px 20px; }

/* ---------- Category sidebar ---------- */
#order-standard_cart .cart-sidebar .card,
#order-standard_cart .cart-sidebar .panel {
    border: 1px solid var(--sp-line);
    border-radius: var(--sp-r-lg);
    overflow: hidden;
}
#order-standard_cart .cart-sidebar .list-group-item { padding: 10px 18px; font-size: 14px; }
#order-standard_cart .cart-sidebar .list-group-item.active { background: var(--sp-blue-wash); color: var(--sp-navy); box-shadow: inset 3px 0 0 var(--sp-blue); border-color: var(--sp-line-soft); }
#order-standard_cart .sidebar-collapsed { background: #fff; border: 1px solid var(--sp-line); border-radius: var(--sp-r-lg); padding: 10px; margin: 0 0 18px; }

/* ---------- Domain search ---------- */
#order-standard_cart .domain-checker-container { margin: 18px 0 24px; }
#order-standard_cart .domain-checker-bg,
.domain-checker-bg {
    background: var(--sp-navy-900) !important;
    background-image: none !important;
    border-radius: 16px;
    padding: 26px 22px;
    margin: 0;
}
#order-standard_cart .domain-checker-bg .col-md-8 { flex: 0 0 100%; max-width: 100%; margin-left: 0; }
#order-standard_cart .input-group-box { background: transparent; border: 0; padding: 0; box-shadow: none; display: flex; gap: 10px; flex-wrap: nowrap; }
#order-standard_cart .input-group-box .form-control {
    height: 56px;
    border-radius: 12px !important;
    font-family: var(--sp-mono);
    font-size: 17px;
    border: 1px solid var(--sp-navy-700);
}
#order-standard_cart .input-group-box .btn,
#order-standard_cart .domain-checker-bg .btn-primary {
    height: 56px;
    padding: 0 28px;
    border-radius: 12px !important;
    background: var(--sp-blue);
    border-color: var(--sp-blue);
    color: var(--sp-navy-900);
    font-weight: 700;
}
#order-standard_cart .input-group-box .btn:hover { background: #33B0CD; border-color: #33B0CD; }
#order-standard_cart .domain-checker-result-headline { font-family: var(--sp-font); font-size: 18px; font-weight: 600; }
#order-standard_cart .domain-checker-available,
.domain-checker-available { color: var(--sp-green-ink) !important; }
#order-standard_cart .domain-checker-unavailable,
.domain-checker-unavailable { color: var(--sp-red) !important; }
#order-standard_cart .domain-checker-invalid { color: var(--sp-orange-text) !important; }
#order-standard_cart .domain-lookup-primary-results,
#order-standard_cart .domain-suggestions {
    background: #fff;
    border: 1px solid var(--sp-line);
    border-radius: var(--sp-r-lg);
    overflow: hidden;
}
#order-standard_cart .domain-price .price,
.domain-pricing .price,
.suggested-domains .price { font-family: var(--sp-mono); }
.suggested-domains { border-radius: var(--sp-r-lg); border-color: var(--sp-line) !important; overflow: hidden; }
.suggested-domains .panel-heading,
.suggested-domains .card-header { background: var(--sp-bg); font-weight: 700; color: var(--sp-text); }
.suggested-domains .list-group-item { padding: 14px 18px; border-color: var(--sp-line-soft); font-family: var(--sp-mono); }
.suggested-domains .list-group-item .domain { font-weight: 500; }
.suggested-domains .list-group-item .extension { color: var(--sp-blue-ink); }
.spotlight-tlds { border-radius: var(--sp-r-lg); overflow: hidden; }
.spotlight-tld {
    background: #fff !important;
    border: 1px solid var(--sp-line) !important;
    border-radius: var(--sp-r-lg) !important;
    color: var(--sp-text) !important;
    font-family: var(--sp-font) !important;
}
.spotlight-tld .btn { border-radius: var(--sp-r-sm); }
.domain-promo-box { border-radius: var(--sp-r-lg); border-color: var(--sp-line) !important; }
#order-standard_cart .domain-selection-options .option {
    background: #fff;
    border: 2px solid var(--sp-line);
    border-radius: 12px;
    padding: 14px 16px;
    margin-bottom: 10px;
}
#order-standard_cart .domain-selection-options .option-selected { border-color: var(--sp-blue-ink); background: var(--sp-blue-wash); }

/* ---------- View cart ---------- */
#order-standard_cart .view-cart-items-header {
    background: var(--sp-navy);
    color: #fff;
    border-radius: var(--sp-r-lg) var(--sp-r-lg) 0 0;
    padding: 14px 20px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
}
#order-standard_cart .view-cart-items {
    background: #fff;
    border: 1px solid var(--sp-line);
    border-top: 0;
    border-radius: 0 0 var(--sp-r-lg) var(--sp-r-lg);
    overflow: hidden;
}
#order-standard_cart .view-cart-items .item { padding: 16px 20px; border-bottom: 1px solid var(--sp-line-soft); background: #fff; }
#order-standard_cart .view-cart-items .item:nth-child(even) { background: #fff; }
#order-standard_cart .view-cart-items .item:last-child { border-bottom: 0; }
#order-standard_cart .view-cart-items .item-title { font-weight: 600; font-size: 15px; }
#order-standard_cart .view-cart-items .item-group { color: var(--sp-muted); }
#order-standard_cart .view-cart-items .item-domain { font-family: var(--sp-mono); color: var(--sp-blue-ink); }
#order-standard_cart .view-cart-items .item-price span { font-family: var(--sp-mono); font-size: 15px; }
#order-standard_cart .view-cart-items .item-price .cycle { color: var(--sp-muted); font-family: var(--sp-font); font-size: 12px; }
#order-standard_cart .view-cart-tabs .nav-tabs { border-bottom: 1px solid var(--sp-line); }
#order-standard_cart .view-cart-tabs .nav-tabs .nav-link { border: 0; border-bottom: 3px solid transparent; color: var(--sp-muted); font-weight: 600; }
#order-standard_cart .view-cart-tabs .nav-tabs .nav-link.active,
#order-standard_cart .view-cart-tabs .nav-tabs > li.active > a { color: var(--sp-navy); border-bottom-color: var(--sp-blue); background: transparent; }
#order-standard_cart .view-cart-tabs .tab-content {
    background: #fff;
    border: 1px solid var(--sp-line);
    border-top: 0;
    border-radius: 0 0 var(--sp-r-lg) var(--sp-r-lg);
    padding: 18px;
}
#order-standard_cart .view-cart-promotion-code { font-family: var(--sp-mono); }
#order-standard_cart .empty-cart .btn,
#order-standard_cart .view-cart-empty { border-radius: var(--sp-r-lg); }

/* ---------- Checkout ---------- */
#order-standard_cart .already-registered {
    background: var(--sp-blue-wash);
    border: 1px solid #C9E7F0;
    border-radius: var(--sp-r-lg);
    padding: 16px 18px;
    margin-bottom: 18px;
}
#order-standard_cart .account-select-container .account {
    border: 2px solid var(--sp-line);
    border-radius: 12px;
    background: #fff;
}
#order-standard_cart .account-select-container .account.active { border-color: var(--sp-blue-ink); background: var(--sp-blue-wash); }
#order-standard_cart .cc-input-container,
#order-standard_cart .apply-credit-container {
    background: #fff;
    border: 1px solid var(--sp-line);
    border-radius: var(--sp-r-lg);
    padding: 18px;
}
#order-standard_cart .cc-input-container .paymethod-info { font-family: var(--sp-mono); }
#order-standard_cart .checkout-security-msg {
    background: var(--sp-green-wash);
    border: 1px solid #D6E9AE;
    border-radius: var(--sp-r-lg);
    color: #2F4A00;
    padding: 14px 18px;
}
#order-standard_cart .checkout-security-msg .fas { color: var(--sp-green-ink); }
#order-standard_cart #btnCompleteOrder { min-height: 56px; padding: 14px 32px; font-size: 17px; }
#order-standard_cart .marketing-email-optin,
#order-standard_cart .order-confirmation {
    background: #fff;
    border: 1px solid var(--sp-line);
    border-radius: var(--sp-r-lg);
    padding: 18px 20px;
}
#order-standard_cart .order-confirmation span { font-family: var(--sp-mono); font-weight: 500; }

/* ---------- Alerts and misc ---------- */
#order-standard_cart .alert { border-radius: var(--sp-r-lg); font-size: 14px; }
#order-standard_cart .alert-info { background: var(--sp-blue-wash); border-color: #C9E7F0; color: var(--sp-navy); }
#order-standard_cart .alert-success { background: var(--sp-green-wash); border-color: #D6E9AE; color: #2F4A00; }
#order-standard_cart .alert-warning { background: #FFF3EA; border-color: #FFD3B5; color: #6B3A16; }
#order-standard_cart .alert-danger { background: var(--sp-red-wash); border-color: #F4C6C0; color: #8E1C13; }
#order-standard_cart .label-success, #order-standard_cart .badge-success { background: var(--sp-green-wash); color: var(--sp-green-ink); }
#order-standard_cart .mc-promo { border-radius: var(--sp-r-lg); border-color: var(--sp-line); }
#order-standard_cart .mc-promo .header { border-radius: var(--sp-r-lg) var(--sp-r-lg) 0 0; }
#order-standard_cart .modal-content { border-radius: 18px; border: 0; }

@media (max-width: 767px) {
    #order-standard_cart .header-lined h1,
    #order-standard_cart .header-lined .font-size-36 { font-size: 26px; }
    #order-standard_cart .input-group-box { flex-wrap: wrap; }
    #order-standard_cart .input-group-box .btn { width: 100%; }
    #order-standard_cart .select-inline { min-width: 0; width: 100%; }
}
