/* Public WHMCS cart. Palette follows netsons-com's eco surfaces.
 * Scoped to cartstyle: the public restyle layer and private client pages stay separate.
 */

/* Card actions and confirmations share geometry in both themes. */
body.cartstyle #kt_content .restylewww-cart-actions {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-shrink: 0;
}

body.cartstyle #kt_content .restylewww-cart-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border-radius: .5rem;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--restylewww-cart-muted, #596579) !important;
}

body.cartstyle #kt_content .restylewww-cart-action:is(:hover, :focus-visible) {
    color: var(--restylewww-cart-link, #1769e0) !important;
}

body.cartstyle #kt_content .restylewww-cart-action.btn-outline-danger:is(:hover, :focus-visible) {
    color: var(--restylewww-cart-danger, #b9362b) !important;
}

body.cartstyle #kt_content .restylewww-cart-action:focus-visible {
    outline: 2px solid var(--restylewww-cart-link, #1769e0);
    outline-offset: 3px;
}

body.cartstyle #kt_content .restylewww-cart-action i {
    padding: 0;
    margin: 0;
    font-size: 1rem;
    color: inherit;
}

body.cartstyle #kt_content .restylewww-cart-confirm .modal-dialog {
    width: calc(100% - 2rem);
    max-width: 480px;
    margin-left: auto;
    margin-right: auto;
}

body.cartstyle #kt_content .restylewww-cart-confirm .modal-content {
    padding: 0;
    border: 1px solid var(--restylewww-cart-border, #dfe4e4);
    border-radius: .75rem;
    background: var(--restylewww-cart-panel, #fff);
    color: var(--restylewww-cart-text, #263445);
}

body.cartstyle #kt_content .restylewww-cart-confirm :is(.modal-header, .modal-footer) {
    padding: 1.25rem 1.5rem;
    margin: 0;
    border-color: var(--restylewww-cart-border, #dfe4e4);
}

body.cartstyle #kt_content .restylewww-cart-confirm .modal-body {
    padding: 1.5rem;
    margin: 0;
    font-size: 1rem;
    line-height: 1.6;
    text-align: left !important;
    color: var(--restylewww-cart-text, #263445);
    overflow-wrap: anywhere;
}

body.cartstyle #kt_content .restylewww-cart-confirm .modal-header {
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

body.cartstyle #kt_content .restylewww-cart-confirm .modal-body p {
    margin: 0;
    color: inherit;
}

body.cartstyle #kt_content .restylewww-cart-confirm .modal-footer {
    justify-content: flex-end;
    gap: .75rem;
    flex-wrap: wrap;
}

body.cartstyle #kt_content .restylewww-cart-confirm .modal-footer .btn {
    margin: 0;
    border-radius: .5rem;
}

body.cartstyle #kt_content .restylewww-cart-confirm .close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    padding: 0;
    margin: 0;
    color: inherit;
    opacity: 1;
}

body.cartstyle #kt_content .restylewww-cart-confirm .close span {
    display: block;
}

body.cartstyle #kt_content .restylewww-cart-confirm .close::before {
    display: none;
}

html[data-theme="eco"] body.cartstyle {
    --restylewww-cart-page: var(--restylewww-eco-page);
    --restylewww-cart-inset: var(--restylewww-eco-inset);
    --restylewww-cart-panel: var(--restylewww-eco-panel);
    --restylewww-cart-soft: var(--restylewww-eco-soft);
    --restylewww-cart-hover: #2b3b50;
    --restylewww-cart-border: var(--restylewww-eco-border);
    --restylewww-cart-text: var(--restylewww-eco-text);
    --restylewww-cart-muted: var(--restylewww-eco-muted);
    --restylewww-cart-link: var(--restylewww-eco-link);
    --restylewww-cart-primary: #1769e0;
    --restylewww-cart-primary-hover: #1258bd;
    --restylewww-cart-success: var(--restylewww-eco-success);
    --restylewww-cart-success-bg: var(--restylewww-eco-success-bg);
    --restylewww-cart-success-solid: var(--restylewww-eco-success-solid);
    --restylewww-cart-danger: var(--restylewww-eco-danger);
    --restylewww-cart-danger-bg: var(--restylewww-eco-danger-bg);
    --restylewww-cart-danger-solid: #b9362b;
    --restylewww-cart-warning: #f4ce85;
    --restylewww-cart-warning-bg: #342b1b;
    background: var(--restylewww-cart-page);
    color: var(--restylewww-cart-text);
    color-scheme: dark;
}

/* Canvas, panels and inset areas. */

html[data-theme="eco"] body.cartstyle .kt-container .kt-grid.kt-grid--hor {
    background: var(--restylewww-cart-inset);
    color: var(--restylewww-cart-text);
    box-shadow: none;
}

html[data-theme="eco"] body.cartstyle #kt_content :is(
    .kt-portlet, .card, .order-summary, .modal-content, .panel-addon,
    .promo-collapse, .spotlight-tld, .suggested-domains, .cc-input-container,
    .view-cart-gateway-checkout, .domain-pricing > .bg-white
) {
    background: var(--restylewww-cart-panel) !important;
    border-color: var(--restylewww-cart-border) !important;
    border-radius: .5rem;
    color: var(--restylewww-cart-text);
    /* Several legacy cards force a light shadow. */
    box-shadow: none !important;
}

html[data-theme="eco"] body.cartstyle #kt_content :is(.promo-collapse, .kt-portlet--notes, .kt-portlet--checkout) {
    border: 1px solid var(--restylewww-cart-border) !important;
    border-radius: .5rem !important;
}

/* Legacy checkout includes force light body backgrounds inline. */
html[data-theme="eco"] body.cartstyle #kt_content .kt-portlet__body {
    background-color: transparent !important;
}

html[data-theme="eco"] body.cartstyle #kt_content :is(
    .kt-portlet__head-title, .kt-portlet--checkout p,
    .ns-autorenewal-legal, .ns_autorenewal_not_available
) {
    color: var(--restylewww-cart-text) !important;
}

html[data-theme="eco"] body.cartstyle #kt_content :is(
    .kt-portlet__head, .kt-portlet__foot, .card-header, .card-footer,
    .modal-header, .modal-footer, .ordersum-row, .configuration-row,
    .viewcart-row, .view-cart-items .item, .list-group-item, .creditbalance-row
) {
    background-color: transparent;
    border-color: var(--restylewww-cart-border);
    color: var(--restylewww-cart-text);
}

html[data-theme="eco"] body.cartstyle #kt_content .viewcart_singleprod .kt-portlet__head {
    background-color: var(--restylewww-cart-soft) !important;
}

html[data-theme="eco"] body.cartstyle #kt_content :is(
    .product-description, .product-info, .domain-selection-options .domains-row,
    .nameserver-fields, .domain-field-item, .domain-item__badge,
    .view-cart-items-header
),
html[data-theme="eco"] body.cartstyle #order-netsons_cart #frmConfigureDomains .domain-item {
    background: var(--restylewww-cart-inset);
    border-color: var(--restylewww-cart-border);
    color: var(--restylewww-cart-text);
}

/* Registrant details, renewals and additional checkout tables share surfaces. */
html[data-theme="eco"] body.cartstyle #kt_content .table {
    background-color: var(--restylewww-cart-panel);
}

html[data-theme="eco"] body.cartstyle #kt_content :is(.table, .table th, .table td) {
    border-color: var(--restylewww-cart-border) !important;
    color: var(--restylewww-cart-text) !important;
}

html[data-theme="eco"] body.cartstyle #kt_content .table :is(th, td) {
    background-color: transparent;
}

html[data-theme="eco"] body.cartstyle #kt_content .table-striped tbody tr:nth-of-type(odd),
html[data-theme="eco"] body.cartstyle #kt_content .table thead,
html[data-theme="eco"] body.cartstyle #kt_content .domain-pricing .tld-pricing-header {
    background-color: var(--restylewww-cart-soft);
}

html[data-theme="eco"] body.cartstyle #kt_content .domain-pricing :is(.tld-row, .tld-pricing-header) {
    border-color: var(--restylewww-cart-border);
    color: var(--restylewww-cart-text);
}

html[data-theme="eco"] body.cartstyle #kt_content .table-hover tbody tr:hover {
    background-color: var(--restylewww-cart-hover);
}

html[data-theme="eco"] body.cartstyle #order-netsons_cart #frmConfigureDomains #nameserverConfig,
html[data-theme="eco"] body.cartstyle #kt_content :is(hr, .dropdown-divider) {
    border-color: var(--restylewww-cart-border);
}

/* Typography, amounts and secondary information. */

html[data-theme="eco"] body.cartstyle #kt_content :is(
    h1, h2, h3, h4, h5, h6, label, .row-title, .row-price,
    .product-description-header, .domain-field-item__label, .billingcycleprice,
    .panel-price, .ordersum_price, .confoption_price, .ec-price-container,
    .item-price, .price, .total-large-text, .item-title
) {
    color: var(--restylewww-cart-text);
}

html[data-theme="eco"] body.cartstyle #kt_content :is(
    .configuration-payoff, .panelpriceduration, .billingcycleduration,
    .field-help-text, .with-iva, .ordersum_price-iva, .ordersum_price-recurring,
    .domain-item__meta, .domain-fields-section__title, .domain-field-item__help,
    .domain-name, .item-domain, .renewal, .cycle, .ec-price-container small,
    .kt-portlet__head-title small, .product-description p, .intl-tel-input .dial-code
) {
    color: var(--restylewww-cart-muted);
}

html[data-theme="eco"] body.cartstyle #kt_content .text-muted {
    color: var(--restylewww-cart-muted) !important;
}

html[data-theme="eco"] body.cartstyle #kt_content :is(.domain-searching, .domain-lookup-spotlight-loader, .ns-inline-loader i) {
    color: var(--restylewww-cart-muted) !important;
}

html[data-theme="eco"] body.cartstyle #kt_content :is(.text-info, .text-primary),
html[data-theme="eco"] body.cartstyle #kt_content .fad-white.fad::before {
    color: var(--restylewww-cart-link) !important;
}

html[data-theme="eco"] body.cartstyle #kt_content :is(.text-success, .green) {
    color: var(--restylewww-cart-success) !important;
}

html[data-theme="eco"] body.cartstyle #kt_content .text-danger {
    color: var(--restylewww-cart-danger) !important;
}

html[data-theme="eco"] body.cartstyle #kt_content a:not(.btn):not(.dropdown-item) {
    color: var(--restylewww-cart-link);
}

html[data-theme="eco"] body.cartstyle #kt_content a:not(.btn):hover {
    color: var(--restylewww-cart-text);
}

html[data-theme="eco"] body.cartstyle #kt_content .kt-portlet__head-img[src*="/restylewww-theme/"] {
    filter: brightness(0) invert(1);
}

/* Inputs and Bootstrap-select: preserve geometry and validation behavior. */

html[data-theme="eco"] body.cartstyle #kt_content :is(
    .field, .form-control, .custom-select, .input-group-text,
    .dropdown-toggle, .dropdown-menu, .intl-tel-input .country-list
) {
    background-color: var(--restylewww-cart-inset);
    border-color: var(--restylewww-cart-border);
    color: var(--restylewww-cart-text);
}

html[data-theme="eco"] body.cartstyle #kt_content :is(.field, .form-control, .custom-select) {
    border-color: var(--restylewww-cart-border) !important;
    color-scheme: dark;
}

/* Domain prefix and input are a single field, with one border and focus surface. */
html[data-theme="eco"] body.cartstyle #kt_content .domain-input-group .input-group {
    background: var(--restylewww-cart-inset);
    border: 1px solid var(--restylewww-cart-border);
    border-radius: .5rem;
    overflow: hidden;
}

html[data-theme="eco"] body.cartstyle #kt_content .domain-input-group .input-group :is(.form-control, .input-group-text) {
    background: transparent;
    border: 0 !important;
    border-radius: 0;
    box-shadow: none !important;
    outline: none;
}

html[data-theme="eco"] body.cartstyle #kt_content .bootstrap-select .filter-option-inner-inner {
    color: var(--restylewww-cart-text) !important;
}

html[data-theme="eco"] body.cartstyle #kt_content :is(.dropdown-item, .dropdown-menu li > a) {
    color: var(--restylewww-cart-text);
}

html[data-theme="eco"] body.cartstyle #kt_content .bootstrap-select .dropdown-menu .text {
    color: var(--restylewww-cart-text) !important;
}

html[data-theme="eco"] body.cartstyle #kt_content .bootstrap-select .dropdown-menu .billingcycleduration,
html[data-theme="eco"] body.cartstyle #kt_content .bootstrap-select .dropdown-menu .panelpriceduration {
    color: var(--restylewww-cart-muted) !important;
}

html[data-theme="eco"] body.cartstyle #kt_content :is(.dropdown-item, .dropdown-menu li > a):is(:hover, :focus, .active, .selected),
html[data-theme="eco"] body.cartstyle #kt_content .intl-tel-input :is(.country.highlight, .selected-flag:hover) {
    background-color: var(--restylewww-cart-soft);
    color: var(--restylewww-cart-text);
}

html[data-theme="eco"] body.cartstyle #kt_content .dropdown-menu .disabled > a,
html[data-theme="eco"] body.cartstyle #kt_content .dropdown-item.disabled {
    background: var(--restylewww-cart-inset);
    color: var(--restylewww-cart-muted);
}

html[data-theme="eco"] body.cartstyle #kt_content .form-control::placeholder,
html[data-theme="eco"] body.cartstyle #kt_content .field::placeholder {
    color: var(--restylewww-cart-muted);
    opacity: 1;
}

html[data-theme="eco"] body.cartstyle #kt_content :is(.field, .form-control, .custom-select):focus {
    border-color: var(--restylewww-cart-link) !important;
    box-shadow: 0 0 0 2px var(--restylewww-cart-soft);
}

html[data-theme="eco"] body.cartstyle #kt_content :is(.field, .form-control, .custom-select):is(:disabled, [readonly]) {
    background-color: var(--restylewww-cart-soft);
    color: var(--restylewww-cart-muted);
    opacity: 1;
}

html[data-theme="eco"] body.cartstyle #kt_content :is(.field, .form-control, .custom-select):is(.is-invalid, [aria-invalid="true"]),
html[data-theme="eco"] body.cartstyle #kt_content :is(.ns-invalid-domain-field, .ns-invalid-domain-field-gov),
html[data-theme="eco"] body.cartstyle #kt_content .has-error .form-control {
    border-color: var(--restylewww-cart-danger) !important;
}

html[data-theme="eco"] body.cartstyle #kt_content select.field option,
html[data-theme="eco"] body.cartstyle #kt_content select.field optgroup {
    background-color: var(--restylewww-cart-inset);
    color: var(--restylewww-cart-text);
}

html[data-theme="eco"] body.cartstyle #kt_content #paymentGatewaysContainer .nav-link_boxed {
    background-color: var(--restylewww-cart-panel) !important;
    border-color: var(--restylewww-cart-border) !important;
    border-radius: .5rem;
    color: var(--restylewww-cart-text) !important;
}

html[data-theme="eco"] body.cartstyle #kt_content #paymentGatewaysContainer .nav-link_boxed:is(:hover, :focus-visible, :active, .active),
html[data-theme="eco"] body.cartstyle #kt_content .panel-addon-selected {
    background-color: var(--restylewww-cart-soft) !important;
    border-color: var(--restylewww-cart-link) !important;
    color: var(--restylewww-cart-text) !important;
}

html[data-theme="eco"] body.cartstyle #kt_content #creditCardInputFields {
    background-color: var(--restylewww-cart-panel) !important;
    border-color: var(--restylewww-cart-border) !important;
    color: var(--restylewww-cart-text);
}

html[data-theme="eco"] body.cartstyle #kt_content #add-new-cc-option {
    background-color: var(--restylewww-cart-inset) !important;
    border-color: var(--restylewww-cart-border) !important;
    color: var(--restylewww-cart-text) !important;
}

html[data-theme="eco"] body.cartstyle #kt_content #frmCheckout.paypal_ppcpv-payment-form #creditCardInputFields .paymethod-info {
    background-color: var(--restylewww-cart-inset);
    border-color: var(--restylewww-cart-border);
    color: var(--restylewww-cart-text);
}

html[data-theme="eco"] body.cartstyle #kt_content #frmCheckout.paypal_ppcpv-payment-form #creditCardInputFields :is(.paymethod-info.selected, #add-new-cc-option.selected) {
    background-color: var(--restylewww-cart-soft) !important;
    border-color: var(--restylewww-cart-link) !important;
}

html[data-theme="eco"] body.cartstyle #kt_content #frmCheckout.paypal_ppcpv-payment-form .payer-email {
    color: var(--restylewww-cart-text);
}

html[data-theme="eco"] body.cartstyle #kt_content #frmCheckout.paypal_ppcpv-payment-form .approval-instructions {
    color: var(--restylewww-cart-success);
}

/* PayPal documents use the light color scheme, even with custom dark inputs.
   Matching it preserves iframe transparency instead of an opaque white canvas. */

body.cartstyle #kt_content :is(
    #paypal_ppcpv_input_container iframe,
    #paypal_acdc_input_container iframe
) {
    color-scheme: light;
}

html[data-theme="eco"] body.cartstyle #kt_content :is(.invalid-feedback, .field-error-msg, .help-block-error, .ns-invalid-msg, .ns-invalid-msg-gov) {
    color: var(--restylewww-cart-danger);
}

html[data-theme="eco"] body.cartstyle #kt_content .ns-invalid-domain-field .icheckbox_square-blue {
    outline-color: var(--restylewww-cart-danger) !important;
}

html[data-theme="eco"] body.cartstyle #kt_content input:is([type="checkbox"], [type="radio"]) {
    accent-color: var(--restylewww-cart-primary);
}

/* Password feedback on checkout. */

html[data-theme="eco"] body.cartstyle .password-strength-meter {
    color: var(--restylewww-cart-muted);
}

html[data-theme="eco"] body.cartstyle .password-strength-meter .progress {
    height: .5rem;
    margin: .75rem 0 .5rem;
    overflow: hidden;
    background-color: var(--restylewww-cart-soft);
    border: 1px solid var(--restylewww-cart-border);
    border-radius: .5rem;
}

html[data-theme="eco"] body.cartstyle .password-strength-meter .progress-bar {
    min-width: 0;
    background-color: var(--restylewww-cart-primary);
    border-radius: .4rem;
    transition: width .2s ease, background-color .2s ease;
}

html[data-theme="eco"] body.cartstyle .password-strength-meter .progress-bar-success {
    background-color: var(--restylewww-cart-success-solid);
}

html[data-theme="eco"] body.cartstyle .password-strength-meter .progress-bar-warning {
    background-color: var(--restylewww-cart-warning);
}

html[data-theme="eco"] body.cartstyle .password-strength-meter .progress-bar-danger {
    background-color: var(--restylewww-cart-danger-solid);
}

html[data-theme="eco"] body.cartstyle .password-strength-meter #passwordStrengthTextLabel {
    margin-bottom: 0;
    color: var(--restylewww-cart-muted) !important;
}

/* Cart dialogs can be mounted outside the main content container. */

html[data-theme="eco"] body.cartstyle :is(#modalGeneratePassword, #pdf-viewer) .modal-content {
    background: var(--restylewww-cart-panel) !important;
    border-color: var(--restylewww-cart-border) !important;
    color: var(--restylewww-cart-text);
}

html[data-theme="eco"] body.cartstyle :is(#modalGeneratePassword, #pdf-viewer) :is(.modal-header, .modal-body, .modal-footer) {
    background: transparent;
    border-color: var(--restylewww-cart-border);
    color: var(--restylewww-cart-text);
}

html[data-theme="eco"] body.cartstyle :is(#modalGeneratePassword, #pdf-viewer) :is(label, p) {
    color: var(--restylewww-cart-muted);
}

html[data-theme="eco"] body.cartstyle :is(#modalGeneratePassword, #pdf-viewer) .modal-title {
    color: var(--restylewww-cart-text);
}

html[data-theme="eco"] body.cartstyle :is(#modalGeneratePassword, #pdf-viewer) .form-control {
    background-color: var(--restylewww-cart-inset);
    border-color: var(--restylewww-cart-border) !important;
    color: var(--restylewww-cart-text);
}

html[data-theme="eco"] body.cartstyle :is(#modalGeneratePassword, #pdf-viewer) .input-group-text {
    background-color: var(--restylewww-cart-soft);
    border-color: var(--restylewww-cart-border) !important;
    color: var(--restylewww-cart-text);
}

html[data-theme="eco"] body.cartstyle :is(#modalGeneratePassword, #pdf-viewer) .close {
    color: var(--restylewww-cart-text) !important;
    opacity: 1;
    text-shadow: none;
}

html[data-theme="eco"] body.cartstyle :is(#modalGeneratePassword, #pdf-viewer) .btn {
    background-color: var(--restylewww-cart-soft);
    border-color: var(--restylewww-cart-border);
    color: var(--restylewww-cart-text);
}

html[data-theme="eco"] body.cartstyle :is(#modalGeneratePassword, #pdf-viewer) .btn-primary {
    background-color: var(--restylewww-cart-primary);
    border-color: var(--restylewww-cart-primary);
    color: #fff;
}

html[data-theme="eco"] body.cartstyle :is(#modalGeneratePassword, #pdf-viewer) .btn-outline-primary {
    background-color: transparent;
    border-color: var(--restylewww-cart-link);
    color: var(--restylewww-cart-link);
}

html[data-theme="eco"] body.cartstyle :is(#modalGeneratePassword, #pdf-viewer) .btn:is(:hover, :focus-visible, :active) {
    background-color: var(--restylewww-cart-hover);
    border-color: var(--restylewww-cart-link);
    color: var(--restylewww-cart-text);
}

html[data-theme="eco"] body.cartstyle :is(#modalGeneratePassword, #pdf-viewer) .btn-primary:is(:hover, :focus-visible, :active) {
    background-color: var(--restylewww-cart-primary-hover);
    border-color: var(--restylewww-cart-primary-hover);
    color: #fff;
}

html[data-theme="eco"] body.cartstyle #pdf-viewer #controls :is(input, button) {
    color: var(--restylewww-cart-text) !important;
}

html[data-theme="eco"] body.cartstyle #pdf-viewer #canvas_container {
    background: var(--restylewww-cart-inset);
    border-color: var(--restylewww-cart-border);
}

/* Button roles share states; dropdown toggles use the input rules above. */

html[data-theme="eco"] body.cartstyle #kt_content .btn:where(:not(.dropdown-toggle)) {
    --restylewww-cart-btn-bg: var(--restylewww-cart-soft);
    --restylewww-cart-btn-border: var(--restylewww-cart-border);
    --restylewww-cart-btn-text: var(--restylewww-cart-text);
    --restylewww-cart-btn-hover: var(--restylewww-cart-hover);
    background-color: var(--restylewww-cart-btn-bg);
    border-color: var(--restylewww-cart-btn-border);
    color: var(--restylewww-cart-btn-text);
}

html[data-theme="eco"] body.cartstyle #kt_content :is(.btn-primary, .btn-brand, .buy) {
    --restylewww-cart-btn-bg: var(--restylewww-cart-primary);
    --restylewww-cart-btn-border: var(--restylewww-cart-primary);
    --restylewww-cart-btn-text: #fff;
    --restylewww-cart-btn-hover: var(--restylewww-cart-primary-hover);
}

html[data-theme="eco"] body.cartstyle #kt_content :is(.btn-success, .btn-checkout) {
    --restylewww-cart-btn-bg: var(--restylewww-cart-success-solid);
    --restylewww-cart-btn-border: var(--restylewww-cart-success-solid);
    --restylewww-cart-btn-text: #fff;
    --restylewww-cart-btn-hover: #12613e;
}

html[data-theme="eco"] body.cartstyle #kt_content .btn-danger {
    --restylewww-cart-btn-bg: var(--restylewww-cart-danger-solid);
    --restylewww-cart-btn-border: var(--restylewww-cart-danger-solid);
    --restylewww-cart-btn-text: #fff;
    --restylewww-cart-btn-hover: #982b22;
}

html[data-theme="eco"] body.cartstyle #kt_content .btn-warning {
    --restylewww-cart-btn-bg: var(--restylewww-cart-warning);
    --restylewww-cart-btn-border: var(--restylewww-cart-warning);
    --restylewww-cart-btn-text: var(--restylewww-cart-page);
    --restylewww-cart-btn-hover: #e9bc65;
}

html[data-theme="eco"] body.cartstyle #kt_content :is(.btn-outline-primary, .btn-outline-brand, .btn-outline-info, .btn-link) {
    --restylewww-cart-btn-bg: transparent;
    --restylewww-cart-btn-border: var(--restylewww-cart-link);
    --restylewww-cart-btn-text: var(--restylewww-cart-link);
}

html[data-theme="eco"] body.cartstyle #kt_content .btn-outline-secondary {
    --restylewww-cart-btn-bg: transparent;
    --restylewww-cart-btn-border: var(--restylewww-cart-border);
    --restylewww-cart-btn-text: var(--restylewww-cart-text);
}

html[data-theme="eco"] body.cartstyle #kt_content .btn-outline-danger {
    --restylewww-cart-btn-bg: transparent;
    --restylewww-cart-btn-border: var(--restylewww-cart-danger);
    --restylewww-cart-btn-text: var(--restylewww-cart-danger);
    --restylewww-cart-btn-hover: var(--restylewww-cart-danger-bg);
}

html[data-theme="eco"] body.cartstyle #kt_content .btn-outline-success {
    --restylewww-cart-btn-bg: transparent;
    --restylewww-cart-btn-border: var(--restylewww-cart-success);
    --restylewww-cart-btn-text: var(--restylewww-cart-success);
    --restylewww-cart-btn-hover: var(--restylewww-cart-success-bg);
}

html[data-theme="eco"] body.cartstyle #kt_content .btn:not(.dropdown-toggle):is(:hover, :focus-visible, :active):not(:disabled):not(.disabled) {
    background-color: var(--restylewww-cart-btn-hover);
    border-color: var(--restylewww-cart-btn-border);
    color: var(--restylewww-cart-btn-text);
}

/* The checkout bundle sets these two properties important. */

html[data-theme="eco"] body.cartstyle #kt_content .btn-checkout {
    background-color: var(--restylewww-cart-btn-bg) !important;
    border-color: var(--restylewww-cart-btn-border) !important;
}

html[data-theme="eco"] body.cartstyle #kt_content .btn-checkout:is(:hover, :focus-visible, :active):not(:disabled):not(.disabled) {
    background-color: var(--restylewww-cart-btn-hover) !important;
}

html[data-theme="eco"] body.cartstyle #kt_content .btn:not(.dropdown-toggle):is(:disabled, .disabled) {
    --restylewww-cart-btn-bg: var(--restylewww-cart-soft);
    --restylewww-cart-btn-border: var(--restylewww-cart-border);
    --restylewww-cart-btn-text: var(--restylewww-cart-muted);
    background-color: var(--restylewww-cart-btn-bg);
    color: var(--restylewww-cart-btn-text);
    opacity: 1;
}

html[data-theme="eco"] body.cartstyle #kt_content :is(.btn, a):focus-visible {
    outline: 2px solid var(--restylewww-cart-link);
    outline-offset: 3px;
}

html[data-theme="eco"] body.cartstyle #kt_content .close {
    color: var(--restylewww-cart-text);
    text-shadow: none;
    opacity: 1;
}

/* Feedback colors remain semantic, including dynamically inserted errors. */

html[data-theme="eco"] body.cartstyle #kt_content .alert {
    --restylewww-cart-alert-bg: var(--restylewww-cart-soft);
    --restylewww-cart-alert-text: var(--restylewww-cart-text);
    --restylewww-cart-alert-border: var(--restylewww-cart-border);
    background: var(--restylewww-cart-alert-bg);
    border-color: var(--restylewww-cart-alert-border);
    color: var(--restylewww-cart-alert-text);
}

html[data-theme="eco"] body.cartstyle #kt_content :is(.alert-danger, .alert-outline-danger) {
    --restylewww-cart-alert-bg: var(--restylewww-cart-danger-bg);
    --restylewww-cart-alert-text: var(--restylewww-cart-danger);
    --restylewww-cart-alert-border: var(--restylewww-cart-danger);
}

html[data-theme="eco"] body.cartstyle #kt_content :is(.alert-warning, .alert-outline-warning) {
    --restylewww-cart-alert-bg: var(--restylewww-cart-warning-bg);
    --restylewww-cart-alert-text: var(--restylewww-cart-warning);
    --restylewww-cart-alert-border: var(--restylewww-cart-warning);
}

html[data-theme="eco"] body.cartstyle #kt_content :is(.alert-info, .alert-outline-info) {
    --restylewww-cart-alert-bg: var(--restylewww-eco-info-bg);
    --restylewww-cart-alert-text: var(--restylewww-eco-info);
    --restylewww-cart-alert-border: var(--restylewww-cart-border);
}

html[data-theme="eco"] body.cartstyle #kt_content :is(.alert-success, .alert-outline-success) {
    --restylewww-cart-alert-bg: var(--restylewww-cart-success-bg);
    --restylewww-cart-alert-text: var(--restylewww-cart-success);
    --restylewww-cart-alert-border: var(--restylewww-cart-success);
}

html[data-theme="eco"] body.cartstyle #kt_content .alert :is(.alert-text, .alert-icon i, p, li, strong) {
    color: var(--restylewww-cart-alert-text);
}

html[data-theme="eco"] body.cartstyle #kt_content > div[style*="ffffd2"] {
    background: var(--restylewww-cart-soft) !important;
    color: var(--restylewww-cart-muted) !important;
}

html[data-theme="eco"] body.cartstyle #kt_content .ns-recommended {
    background: var(--restylewww-cart-success-solid) !important;
    color: #fff !important;
}

/* Progress remains distinguishable without bright unfinished steps. */

html[data-theme="eco"] body.cartstyle .cart_pagination_step {
    background: var(--restylewww-cart-soft);
    color: var(--restylewww-cart-muted);
}

html[data-theme="eco"] body.cartstyle .cart_pagination_current {
    background: var(--restylewww-cart-primary);
    color: #fff;
}

html[data-theme="eco"] body.cartstyle .cart_pagination_done {
    background: var(--restylewww-cart-success-solid);
    border-color: var(--restylewww-cart-success);
    color: #fff;
}
