/* =====================================================================
   Host Our Sites cart (child of Standard Cart)
   Uses the --hos-* tokens defined by the hostoursites system theme.
   Fallback values are repeated so the cart still looks right if it is
   ever paired with a different system theme.
   ===================================================================== */

#order-standard_cart {
    --c-midnight: var(--hos-midnight, #0B1A3B);
    --c-raised: var(--hos-midnight-raised, #13285A);
    --c-cyan: var(--hos-cyan, #2CB8EE);
    --c-fibre: var(--hos-fibre, #1E6FE0);
    --c-uplink: var(--hos-uplink, #7FD6F7);
    --c-link: var(--hos-link, #1A5FC4);
    --c-cloud: var(--hos-cloud, #F3F8FC);
    --c-slate: var(--hos-slate, #4A5878);
    --c-mist: var(--hos-mist, #A9BBD6);
    --c-line: var(--hos-hairline, #D5E1EE);
    --c-r-sm: var(--hos-radius-sm, 6px);
    --c-r: var(--hos-radius, 10px);
    --c-shadow: var(--hos-shadow, 0 1px 2px rgba(11,26,59,.06), 0 4px 16px rgba(11,26,59,.06));
    font-family: var(--hos-font-body, "DM Sans", system-ui, sans-serif);
    font-size: 15px;
    color: var(--c-midnight);
}

#order-standard_cart h1,
#order-standard_cart h2,
#order-standard_cart h3,
#order-standard_cart .font-size-36,
#order-standard_cart .font-size-30 {
    font-family: var(--hos-font-head, "Lexend", sans-serif);
    color: var(--c-midnight);
    letter-spacing: -0.015em;
}

#order-standard_cart .header-lined h1 {
    font-weight: 700;
    font-size: 2rem;
    margin-bottom: 4px;
}
#order-standard_cart .header-lined p { color: var(--c-slate); }

#order-standard_cart label,
#order-standard_cart p.domain-renewal-desc { color: var(--c-slate); }

/* Section dividers become brand "eyebrows" */
#order-standard_cart .sub-heading {
    border-top: 1px solid var(--c-line);
    margin: 32px 0 20px;
}
#order-standard_cart .sub-heading span,
#order-standard_cart .sub-heading-borderless span {
    background: var(--hos-cloud, #F3F8FC);
    color: var(--c-link);
    font-family: var(--hos-font-body, "DM Sans", sans-serif);
    font-weight: 600;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: 0 12px 0 0;
}

/* Fields */
#order-standard_cart .field,
#order-standard_cart .form-control {
    border: 1px solid var(--c-line);
    border-radius: var(--c-r-sm);
    color: var(--c-midnight);
    background-color: #fff;
    min-height: 44px;
}
#order-standard_cart .form-control:focus,
#order-standard_cart .field:focus {
    border-color: var(--c-cyan);
    box-shadow: 0 0 0 3px rgba(44,184,238,.2);
}
#order-standard_cart .prepend-icon .field { padding-left: 40px; }
#order-standard_cart .field-icon { height: 44px; line-height: 44px; }
#order-standard_cart .field-icon i { color: var(--c-mist); }
#order-standard_cart .field-help-text { color: var(--c-slate); }
#order-standard_cart .field[disabled],
#order-standard_cart .field[readonly],
#order-standard_cart .form-control[disabled],
#order-standard_cart .form-control[readonly] { background-color: var(--c-cloud); }

/* Buttons */
#order-standard_cart .btn-primary,
#order-standard_cart .btn-success,
#order-standard_cart .btn-checkout {
    background-color: var(--c-cyan);
    border-color: var(--c-cyan);
    color: var(--c-midnight);
    font-weight: 600;
    border-radius: var(--c-r-sm);
}
#order-standard_cart .btn-primary:hover,
#order-standard_cart .btn-success:hover,
#order-standard_cart .btn-checkout:hover {
    background-color: var(--c-fibre);
    border-color: var(--c-fibre);
    color: #fff;
}
#order-standard_cart .btn-checkout,
#order-standard_cart #btnCompleteOrder {
    width: 100%;
    max-width: 420px;
    padding: 14px 24px;
    font-size: 17px;
}
#order-standard_cart .btn-checkout { max-width: none; }

/* ---------- Product listing (products.tpl) ---------- */
#order-standard_cart .products .product {
    background: #fff;
    border: 1px solid var(--c-line);
    border-radius: var(--c-r);
    box-shadow: var(--c-shadow);
    overflow: hidden;
    padding: 0;
    margin-bottom: 20px;
}
#order-standard_cart .products .product header {
    background: #fff;
    border-bottom: 1px solid var(--c-line);
    padding: 16px 20px;
    margin: 0;
}
#order-standard_cart .products .product header span {
    font-family: var(--hos-font-head, "Lexend", sans-serif);
    font-weight: 600;
    font-size: 18px;
    color: var(--c-midnight);
}
#order-standard_cart .products .product header .qty { color: var(--c-slate); }
#order-standard_cart .products .product div.product-desc {
    padding: 16px 20px;
    color: var(--c-slate);
}
#order-standard_cart .products .product footer {
    padding: 16px 20px;
    border-top: 1px solid var(--c-line);
    background: var(--c-cloud);
    margin: 0;
}
#order-standard_cart .products .product div.product-pricing .price {
    font-family: var(--hos-font-head, "Lexend", sans-serif);
    font-weight: 700;
    font-size: 1.6em;
    color: var(--c-midnight);
}

/* Product info strip on configure page */
#order-standard_cart .product-info {
    background-color: #fff;
    border: 1px solid var(--c-line);
    border-radius: var(--c-r);
    padding: 16px 20px;
}
#order-standard_cart .product-info .product-title {
    font-family: var(--hos-font-head, "Lexend", sans-serif);
    font-weight: 600;
    color: var(--c-midnight);
}

/* Addons */
#order-standard_cart .panel-addon {
    border: 1px solid var(--c-line);
    border-radius: var(--c-r);
    overflow: hidden;
}
#order-standard_cart .panel-addon .panel-body label { color: var(--c-midnight); }
#order-standard_cart .panel-addon .panel-price { background-color: var(--c-cloud); color: var(--c-midnight); font-weight: 600; }
#order-standard_cart .panel-addon .panel-add,
#order-standard_cart .panel-addon-selected .panel-add { background-color: var(--c-cyan); color: var(--c-midnight); font-weight: 600; }
#order-standard_cart .panel-addon-selected { border-color: var(--c-cyan); }

/* Domain choice on configure-domain step */
#order-standard_cart .domain-selection-options .option {
    background-color: #fff;
    border: 1px solid var(--c-line);
    border-radius: var(--c-r-sm);
    margin-bottom: 8px;
}
#order-standard_cart .domain-selection-options .option-selected {
    background-color: #E6F6FD;
    border-color: var(--c-cyan);
}

/* ---------- Order summary sidebar ---------- */
#order-standard_cart .order-summary {
    background-color: var(--c-midnight);
    border-bottom: 0;
    border-radius: var(--c-r);
    overflow: hidden;
    box-shadow: var(--c-shadow);
}
#order-standard_cart .order-summary h2 {
    color: #fff;
    font-family: var(--hos-font-head, "Lexend", sans-serif);
    font-weight: 600;
    font-size: 18px;
    padding: 14px 20px;
    margin: 0;
}
#order-standard_cart .summary-container {
    background-color: #fff;
    padding: 18px 20px;
    color: var(--c-midnight);
}
#order-standard_cart .order-summary .summary-totals,
#order-standard_cart .order-summary .subtotal,
#order-standard_cart .order-summary .bordered-totals { border-color: var(--c-line); }
#order-standard_cart .order-summary .recurring-charges { color: var(--c-slate); }
#order-standard_cart .order-summary .total-due-today .amt {
    font-family: var(--hos-font-head, "Lexend", sans-serif);
    font-weight: 700;
    color: var(--c-midnight);
}
#order-standard_cart .order-summary .total-due-today span:not(.amt) { color: var(--c-slate); }
#order-standard_cart .order-summary .btn-continue-shopping { color: var(--c-link); }

/* ---------- View cart ---------- */
#order-standard_cart .view-cart-items-header {
    background-color: var(--c-midnight);
    color: #fff;
    border-radius: var(--c-r) var(--c-r) 0 0;
    font-weight: 600;
    font-size: 13px;
    letter-spacing: .04em;
    text-transform: uppercase;
}
#order-standard_cart .view-cart-items {
    border: 1px solid var(--c-line);
    border-top: 0;
    border-radius: 0 0 var(--c-r) var(--c-r);
    overflow: hidden;
    background: #fff;
}
#order-standard_cart .view-cart-items .item { background-color: #fff; border-bottom: 1px solid var(--c-line); }
#order-standard_cart .view-cart-items .item:nth-child(even) { background-color: #fff; }
#order-standard_cart .view-cart-items .item:last-child { border-bottom: 0; }
#order-standard_cart .view-cart-items .item-title { font-weight: 600; color: var(--c-midnight); }
#order-standard_cart .view-cart-items .item-group,
#order-standard_cart .view-cart-items .item-domain { color: var(--c-link); }
#order-standard_cart .view-cart-items .item-price span:first-child {
    font-family: var(--hos-font-head, "Lexend", sans-serif);
    font-weight: 600;
}
#order-standard_cart .btn-remove-from-cart { color: var(--c-slate); }
#order-standard_cart .btn-remove-from-cart:hover { color: #C62828; }
#order-standard_cart .empty-cart { margin-top: 12px; }

#order-standard_cart .view-cart-tabs .nav-tabs a { color: var(--c-slate); font-weight: 600; }
#order-standard_cart .view-cart-tabs .nav-tabs a[aria-selected="true"],
#order-standard_cart .view-cart-tabs .nav-tabs a[aria-expanded="true"] {
    background-color: #fff;
    border-color: var(--c-line) var(--c-line) #fff;
    color: var(--c-midnight);
}
#order-standard_cart .view-cart-tabs .tab-content {
    background-color: #fff;
    border: 1px solid var(--c-line);
    border-top: 0;
    border-radius: 0 0 var(--c-r) var(--c-r);
}
#order-standard_cart .view-cart-promotion-code {
    background-color: #E6F6FD;
    border: 1px dashed var(--c-cyan);
    border-radius: var(--c-r-sm);
}
#order-standard_cart .view-cart-gateway-checkout {
    background-color: var(--c-cloud);
    border-radius: var(--c-r);
}

/* ---------- Checkout ---------- */
#order-standard_cart .account-select-container { border-right-color: var(--c-line); }
#order-standard_cart .account-select-container div.account {
    background: #fff;
    border: 1px solid var(--c-line);
    border-radius: var(--c-r-sm);
}
#order-standard_cart .account-select-container div.account.active { border-color: var(--c-cyan); background: #E6F6FD; }

#order-standard_cart div.alert#totalDueToday {
    background: var(--c-midnight);
    background-image: radial-gradient(circle at 100% 0%, rgba(44,184,238,.35), transparent 60%);
    border: 0;
    border-radius: var(--c-r);
    color: var(--c-mist);
    padding: 20px;
    font-size: 16px;
}
#order-standard_cart div.alert#totalDueToday strong {
    color: #fff;
    font-family: var(--hos-font-head, "Lexend", sans-serif);
    font-size: 26px;
    font-weight: 700;
}

#order-standard_cart .apply-credit-container {
    background-color: var(--c-cloud);
    border: 1px solid var(--c-line);
    border-radius: var(--c-r);
}

/* Payment method chooser: radios become selectable tiles */
#order-standard_cart #paymentGatewaysContainer .text-center {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}
#order-standard_cart #paymentGatewaysContainer .radio-inline {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 12px 18px;
    background: #fff;
    border: 1px solid var(--c-line);
    border-radius: var(--c-r-sm);
    color: var(--c-midnight);
    font-weight: 600;
    cursor: pointer;
    transition: border-color .15s ease, box-shadow .15s ease;
}
#order-standard_cart #paymentGatewaysContainer .radio-inline:hover { border-color: var(--c-mist); }
#order-standard_cart #paymentGatewaysContainer .radio-inline:has(input:checked) {
    border-color: var(--c-cyan);
    box-shadow: 0 0 0 3px rgba(44,184,238,.2);
    background: #F5FBFE;
}

#order-standard_cart .cc-input-container {
    background-color: #fff;
    border: 1px solid var(--c-line);
    border-radius: var(--c-r);
    padding: 20px;
}
#order-standard_cart .cc-input-container .existing-cc-grid { color: var(--c-slate); }

#order-standard_cart .marketing-email-optin {
    background: var(--c-cloud);
    border: 1px solid var(--c-line);
    border-radius: var(--c-r);
}

#order-standard_cart .checkout-security-msg {
    background: transparent;
    border: 0;
    color: var(--c-slate);
    font-size: 13px;
    text-align: center;
}
#order-standard_cart .checkout-security-msg i { color: var(--c-link); }

/* ---------- Domain search (domainregister / transfer) ---------- */
.domain-checker-container {
    background: var(--hos-midnight, #0B1A3B) !important;
    background-image: radial-gradient(circle at 90% 0%, rgba(44,184,238,.4), transparent 55%) !important;
    border-radius: var(--hos-radius, 10px);
}
.domain-checker-container .input-group-box {
    background: #fff;
    border-radius: var(--hos-radius-sm, 6px);
}
.domain-checker-container .btn-primary { min-height: 44px; }
.domain-checker-available,
#order-standard_cart .domain-checker-available { color: #1B7F4C; }
.domain-checker-unavailable, .domain-checker-invalid,
#order-standard_cart .domain-checker-unavailable,
#order-standard_cart .domain-checker-invalid { color: #C62828; }

.spotlight-tlds { background-color: var(--hos-cloud, #F3F8FC); border-radius: var(--hos-radius, 10px); }
.spotlight-tld {
    background-color: #fff;
    border: 1px solid var(--hos-hairline, #D5E1EE);
    border-radius: var(--hos-radius-sm, 6px);
    color: var(--hos-midnight, #0B1A3B);
}
.spotlight-tld .btn:not(.domain-contact-support),
.suggested-domains .btn:not(.domain-contact-support) {
    background-color: var(--hos-cyan, #2CB8EE);
    border-color: var(--hos-cyan, #2CB8EE);
    color: var(--hos-midnight, #0B1A3B);
    font-weight: 600;
}
.spotlight-tld .btn:not(.domain-contact-support):hover,
.suggested-domains .btn:not(.domain-contact-support):hover {
    background-color: var(--hos-fibre, #1E6FE0);
    border-color: var(--hos-fibre, #1E6FE0);
    color: #fff;
}
.suggested-domains .panel-heading,
.suggested-domains .card-header,
#DomainSearchResults .primary-domain-header { border-bottom-color: var(--hos-cyan, #2CB8EE); }
.suggested-domains .domain-lookup-suggestions-message,
.suggested-domains .domain-lookup-suggestions-loader { background-color: var(--hos-cloud, #F3F8FC); }

.domain-pricing .tld-row.highlighted { background: #E6F6FD; }
.domain-pricing .tld-pricing-header .col-xs-2,
.domain-pricing .tld-pricing-header .col-sm-2,
.domain-pricing .tld-pricing-header .col-xs-4,
.domain-pricing .tld-pricing-header .col-sm-4 {
    border-bottom-color: var(--hos-mist, #A9BBD6);
    background-color: var(--hos-cloud, #F3F8FC);
}
.domain-pricing .tld-pricing-header div:nth-child(odd) { border-color: var(--hos-midnight, #0B1A3B); }

.domain-promo-box {
    background-color: #fff;
    border: 1px solid var(--hos-hairline, #D5E1EE);
    border-radius: var(--hos-radius, 10px);
    color: var(--hos-midnight, #0B1A3B);
}

/* MarketConnect promos keep their vendor colours, just softened corners */
#order-standard_cart .mc-promo { border-radius: var(--c-r); overflow: hidden; }

/* ---------- Mobile ---------- */
@media (max-width: 767.98px) {
    #order-standard_cart .header-lined h1 { font-size: 1.6rem; }
    #order-standard_cart #paymentGatewaysContainer .radio-inline { flex: 1 1 100%; justify-content: flex-start; }
    #order-standard_cart #btnCompleteOrder { max-width: none; }
}


/* Empty Cart: a quiet text link, not a call to action */
#order-standard_cart .empty-cart .btn,
#order-standard_cart #btnEmptyCart {
    background: transparent;
    border: 0;
    color: var(--c-slate);
    font-weight: 600;
    font-size: 13px;
    padding: 4px 0;
}
#order-standard_cart .empty-cart .btn:hover,
#order-standard_cart #btnEmptyCart:hover { color: #C62828; background: transparent; }

/* Mailing list opt-in box */
#order-standard_cart .marketing-email-optin {
    padding: 18px 20px;
    margin: 24px 0;
}
#order-standard_cart .marketing-email-optin h4 {
    font-family: var(--hos-font-head, "Lexend", sans-serif);
    font-weight: 600;
    font-size: 17px !important;
    margin: 0 0 6px;
}
#order-standard_cart .marketing-email-optin p { color: var(--c-slate); margin-bottom: 12px; }

/* Bootstrap toggle switches in brand cyan */
#order-standard_cart .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success,
#order-standard_cart .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary {
    background: var(--c-cyan);
    color: var(--c-midnight);
    font-weight: 700;
}
#order-standard_cart .bootstrap-switch { border-color: var(--c-line); border-radius: var(--c-r-sm); }

/* Secure-order note: small padlock, centred line */
#order-standard_cart .checkout-security-msg {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    max-width: 640px;
    margin: 20px auto 0;
    padding: 0;
}
#order-standard_cart .checkout-security-msg i {
    float: none !important;
    font-size: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 0 0 auto;
}
#order-standard_cart .checkout-security-msg .clearfix { display: none; }

/* Space above the Complete Order button */
#order-standard_cart #btnCompleteOrder { margin-top: 4px; }
