body.winter-page-configureproduct,
body.winter-page-viewcart {
    --winter-cart-container-width: 1328px;
    --winter-cart-sidebar-width: 340px;
    --winter-cart-column-gap: 40px;
}

/*
 * This source-port layer owns page-specific details. Shared configure/cart
 * geometry and summary components are owned by cart-components.css, which is
 * loaded afterwards; do not duplicate those declarations here.
 */

/*
 * Source port: Lagom2 configureproduct.tpl uses the same main-grid contract
 * as checkout.  Keep this in the order-form stylesheet rather than in the
 * Smarty template, so all product types receive the same geometry.
 */
body.winter-page-configureproduct #frmConfigureProduct {
    color: #5e636e;
    font-family: Roboto, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 24px;
}

body.winter-page-configureproduct #frmConfigureProduct .main-content > .section + .section {
    margin-top: 48px;
}

body.winter-page-configureproduct #frmConfigureProduct .section-header > :last-child {
    margin-bottom: 0;
}

body.winter-page-configureproduct #frmConfigureProduct .product-config-info h2 {
    margin: 0 0 12px;
    color: #17191c;
    font-size: 24px;
    font-weight: 500;
    line-height: 32px;
}

body.winter-page-configureproduct #frmConfigureProduct .package-horizontal,
body.winter-page-configureproduct #frmConfigureProduct .package-features {
    margin: 0;
    padding: 0;
    list-style: none;
}

body.winter-page-configureproduct #frmConfigureProduct .package-content > p,
body.winter-page-configureproduct #frmConfigureProduct .package-desc,
body.winter-page-configureproduct #frmConfigureProduct .package-features {
    font-size: 17px;
    font-weight: 300;
    line-height: 28px;
}

body.winter-page-configureproduct #frmConfigureProduct .package-features > li {
    padding: 4px 0;
    color: #5e636e;
}

body.winter-page-configureproduct #frmConfigureProduct .package-features > li > b {
    color: #17191c;
    font-weight: 500;
}

body.winter-page-configureproduct #frmConfigureProduct #productConfigurableOptions > .section-header {
    margin-bottom: 24px;
}

body.winter-page-configureproduct #frmConfigureProduct #productConfigurableOptions .section {
    margin-top: 0;
}

body.winter-page-configureproduct #frmConfigureProduct #productConfigurableOptions .section + .section {
    margin-top: 20px;
}

body.winter-page-configureproduct #frmConfigureProduct #productConfigurableOptions .panel {
    margin-bottom: 0;
}

body.winter-page-configureproduct #frmConfigureProduct #productConfigurableOptions .section-desc {
    margin: 0;
    color: #737985;
    font-size: 14px;
    line-height: 24px;
}

body.winter-page-configureproduct #frmConfigureProduct #productConfigurableOptions .form-control {
    min-height: 44px;
    padding: 8px 16px;
    color: #17191c;
    background: #fff;
    border: 1px solid #dee0e3;
    border-radius: 3px;
    box-shadow: none;
}

body.winter-page-configureproduct #frmConfigureProduct #productConfigurableOptions .form-control:focus {
    border-color: var(--winter-primary);
    box-shadow: 0 0 0 3px rgba(16, 98, 254, .12);
}

body.winter-page-configureproduct #frmConfigureProduct #orderSummary {
    position: sticky;
    top: 24px;
    z-index: 2;
    display: flex;
}

body.winter-page-configureproduct #frmConfigureProduct #orderSummary .panel-summary {
    width: 100%;
    margin: 0;
    border: 0;
    border-radius: 6px;
}

@media (min-width: 768px) {
    body.winter-page-configureproduct #frmConfigureProduct #productConfigurableOptions .section.row > .section-body {
        position: relative;
    }

    body.winter-page-configureproduct #frmConfigureProduct .package-horizontal .package-features {
        display: flex;
        flex-wrap: wrap;
    }

    body.winter-page-configureproduct #frmConfigureProduct .package-horizontal .package-features > li {
        width: 50%;
        min-width: 50%;
    }
}

@media (max-width: 767px) {
    body.winter-page-configureproduct #frmConfigureProduct .main-grid {
        display: block;
    }

    body.winter-page-configureproduct #frmConfigureProduct .main-sidebar {
        width: auto;
        min-width: 0;
        margin: 32px 0 0;
    }
}

/*
 * Source-semantic checkout sections
 *
 * These selectors deliberately target the Lagom2 DOM (`.section`,
 * `.panel-check`, `.panel-switch`, `.search-box`) now rendered by Winter.
 * They replace the earlier `winter-cart-*` component wrappers so checkout is
 * no longer a parallel markup implementation.
 */
body.winter-page-viewcart #order-standard_cart > .main-grid > .main-content > .section {
    margin-top: 48px;
}

body.winter-page-viewcart #order-standard_cart > .main-grid > .main-content > .section .section-header,
body.winter-page-viewcart #order-standard_cart #frmCheckout > .section .section-header {
    margin: 0 0 24px;
}

body.winter-page-viewcart #order-standard_cart > .main-grid > .main-content > .section .section-title,
body.winter-page-viewcart #order-standard_cart #frmCheckout > .section .section-title {
    margin: 0;
    color: #17191c;
    font-family: Roboto, sans-serif;
    font-size: 26px;
    font-weight: 300;
    line-height: 34px;
}

body.winter-page-viewcart #order-standard_cart #frmCheckout > .section .section-desc {
    margin: -8px 0 32px;
    color: #737985;
    font-size: 14px;
    line-height: 24px;
}

/* Keep the shared marketing opt-in hierarchy identical to the client-area
 * implementation after the order form's broader label rules load. */
body.winter-page-viewcart #order-standard_cart #frmCheckout > .winter-marketing-section .section-desc {
    margin: 8px 0 32px;
}

body.winter-page-viewcart #order-standard_cart #frmCheckout > .winter-marketing-section .winter-marketing-switch-label {
    color: var(--winter-marketing-label-color);
    font-size: var(--winter-marketing-label-size);
    font-weight: var(--winter-marketing-label-weight);
}

body.winter-page-viewcart #order-standard_cart #frmCheckout > .section .panel {
    margin: 0;
    color: #17191c;
    background: #fff;
    border: 1px solid #efeff1;
    border-radius: 6px;
}

body.winter-page-viewcart #order-standard_cart #frmCheckout > .section .panel-body {
    padding: 24px;
}

body.winter-page-viewcart #order-standard_cart #frmCheckout .panel-group {
    margin: 0;
    background: #fff;
    border-radius: 6px;
}

body.winter-page-viewcart #order-standard_cart #frmCheckout .panel-check {
    position: relative;
    overflow: visible;
    border-radius: 0;
}

body.winter-page-viewcart #order-standard_cart #frmCheckout .panel-check:first-child {
    border-radius: 6px 6px 0 0;
}

body.winter-page-viewcart #order-standard_cart #frmCheckout .panel-check:last-child {
    border-radius: 0 0 6px 6px;
}

body.winter-page-viewcart #order-standard_cart #frmCheckout .panel-check + .panel-check {
    margin-top: -1px;
}

body.winter-page-viewcart #order-standard_cart #frmCheckout .panel-check.checked {
    z-index: 9;
    background: #f7f7f8;
    border-color: var(--winter-primary);
}

body.winter-page-viewcart #order-standard_cart #frmCheckout .panel-heading {
    display: flex;
    min-height: 0;
    padding: 0;
}

body.winter-page-viewcart #order-standard_cart #frmCheckout .panel-heading > label {
    position: relative;
    display: flex;
    width: 100%;
    align-items: center;
    margin: 0;
    padding: 16px;
    color: #5e636e;
    font-size: 14px;
    font-weight: 400;
    line-height: 24px;
    cursor: pointer;
}

body.winter-page-viewcart #order-standard_cart #frmCheckout .panel-heading > label > .iradio_square-blue,
body.winter-page-viewcart #order-standard_cart #frmCheckout .panel-heading > label > .icheckbox_square-blue {
    position: absolute;
    top: 19px;
    left: 16px;
    display: flex;
    width: 18px;
    min-width: 18px;
    height: 18px;
    min-height: 18px;
    margin: 0 8px 0 0;
    border: 2px solid #d9dde5;
    cursor: pointer;
}

body.winter-page-viewcart #order-standard_cart #frmCheckout .panel-heading .check-content {
    display: block;
    min-width: 0;
    flex: 1 1 0;
    margin-left: 26px;
    line-height: 24px;
}

body.winter-page-viewcart #order-standard_cart #frmCheckout .panel-heading .check-content > span,
body.winter-page-viewcart #order-standard_cart #frmCheckout .panel-heading .check-title {
    color: #17191c;
    font-size: 15px;
    font-weight: 500;
    line-height: 24px;
}

body.winter-page-viewcart #order-standard_cart #frmCheckout .panel-check .panel-collapse.show {
    display: block;
}

body.winter-page-viewcart #order-standard_cart #frmCheckout h6 {
    font-family: Roboto, sans-serif;
}

body.winter-page-viewcart #order-standard_cart #frmCheckout .form-group {
    margin-bottom: 12px;
}

body.winter-page-viewcart #order-standard_cart #frmCheckout .control-label,
body.winter-page-viewcart #order-standard_cart #frmCheckout .form-group > label {
    display: block;
    margin: 0 0 5px;
    color: #5e636e;
    font-size: 14px;
    font-weight: 400;
    line-height: 24px;
}

body.winter-page-viewcart #order-standard_cart #frmCheckout .form-control {
    min-height: 44px;
    padding: 8px 16px;
    color: #17191c;
    background: #fff;
    border: 1px solid #dee0e3;
    border-radius: 3px;
    box-shadow: none;
}

body.winter-page-viewcart #order-standard_cart #frmCheckout .form-control:focus {
    border-color: var(--winter-primary);
    box-shadow: 0 0 0 3px rgba(16, 98, 254, .12);
}

body.winter-page-viewcart #order-standard_cart > .main-grid > .main-content .search-box {
    margin: 0;
    padding: 24px;
    background: #0f8bed;
    border-radius: 6px;
    box-shadow: 0 12px 28px rgba(15, 139, 237, .16);
}

body.winter-page-viewcart #order-standard_cart > .main-grid > .main-content .search-group {
    display: flex;
    flex-wrap: wrap;
}

body.winter-page-viewcart #order-standard_cart > .main-grid > .main-content .search-field {
    position: relative;
    min-width: 0;
    flex: 1 1 0;
}

body.winter-page-viewcart #order-standard_cart > .main-grid > .main-content .search-group-btn {
    margin-left: 16px;
}

body.winter-page-viewcart #order-standard_cart > .main-grid > .main-content .search-field-icon {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 14px;
    display: flex;
    align-items: center;
    color: var(--winter-primary);
}

body.winter-page-viewcart #order-standard_cart > .main-grid > .main-content .search-box .form-control {
    height: 44px;
    padding-left: 48px;
    border: 0;
}

body.winter-page-viewcart #order-standard_cart > .main-grid > .main-content .search-box .btn {
    min-width: 82px;
    height: 44px;
    color: var(--winter-primary);
    background: #eef3ff;
    border-color: #eef3ff;
}

body.winter-page-viewcart #order-standard_cart #paymentGatewaysDetails > .section-body,
body.winter-page-viewcart #order-standard_cart #paymentGatewaysDetails .section > .section-body {
    padding: 0;
}

body.winter-page-viewcart #order-standard_cart #paymentGatewaysDetails .section {
    margin: 0;
}

body.winter-page-viewcart #order-standard_cart .winter-cc-popover-trigger {
    padding: 0;
    color: inherit;
    background: transparent;
    border: 0;
    line-height: 1;
    cursor: pointer;
}

body.winter-page-viewcart #order-standard_cart .winter-cc-popover-trigger:focus-visible {
    outline: 3px solid rgba(16, 98, 254, .22);
    outline-offset: 2px;
}

body.winter-page-viewcart #order-standard_cart [data-cc-popover][aria-hidden="true"] {
    display: none;
}

body.winter-page-viewcart #order-standard_cart #frmCheckout .panel-switch {
    width: 288px;
    max-width: 100%;
    margin: 0;
    background: #fff;
    border: 1px solid #dee0e3;
    border-radius: 4px;
}

body.winter-page-viewcart #order-standard_cart #frmCheckout .panel-switch .panel-body {
    display: flex;
    align-items: center;
    padding: 24px 16px;
}

body.winter-page-viewcart #order-standard_cart #frmCheckout .panel-switch .switch {
    margin: 0 0 0 auto;
}

body.winter-page-viewcart #order-standard_cart #frmCheckout .panel-switch .switch-label {
    display: block;
    padding-right: 16px;
    color: #17191c;
    text-align: left;
}

body.winter-page-viewcart #order-standard_cart #frmCheckout textarea[name="notes"] {
    min-height: 112px;
    resize: vertical;
}

body.winter-page-configureproduct #frmConfigureProduct .panel-check {
    border-color: #efeff1;
    background: #fff;
    cursor: pointer;
    transition: border-color .15s ease, background-color .15s ease;
}

body.winter-page-configureproduct #frmConfigureProduct .panel-check.checked {
    border-color: #1062fe;
}

/*
 * Lagom's source styles `icheck` wrappers.  Winter deliberately keeps the
 * native inputs, so the same selected state must be driven by the actual
 * checked control rather than by a wrapper that does not exist here.
 */
body.winter-page-configureproduct #frmConfigureProduct .panel-check:has(> .check > label > .icheck-control:checked) {
    border-color: #1062fe;
    background: #f7f7f8;
}

body.winter-page-configureproduct #frmConfigureProduct .panel-check > .check {
    position: relative;
    display: flex;
    align-items: flex-start;
}

body.winter-page-configureproduct #frmConfigureProduct .panel-check > .check > label {
    position: relative;
    display: flex;
    align-items: flex-start;
    width: 100%;
    min-height: 126px;
    margin: 0;
    padding: 16px;
    cursor: pointer;
}

body.winter-page-configureproduct #frmConfigureProduct .panel-check > .check > label > .icheck-control {
    position: absolute;
    top: 19px;
    left: 16px;
    width: 18px;
    height: 18px;
    margin: 0;
    appearance: none;
    cursor: pointer;
    background: #fff;
    border: 2px solid #d9dde5;
    outline: 0;
}

body.winter-page-configureproduct #frmConfigureProduct .panel-check > .check > label > input[type="radio"].icheck-control {
    border-radius: 50%;
}

body.winter-page-configureproduct #frmConfigureProduct .panel-check > .check > label > input[type="checkbox"].icheck-control {
    border-radius: 3px;
}

body.winter-page-configureproduct #frmConfigureProduct .panel-check > .check > label > .icheck-control:checked {
    background: #1062fe;
    border-color: #1062fe;
    box-shadow: inset 0 0 0 4px #f7f7f8;
}

body.winter-page-configureproduct #frmConfigureProduct .panel-check > .check > label > .icheck-control:focus-visible {
    box-shadow: 0 0 0 3px rgba(16, 98, 254, .15);
}

body.winter-page-configureproduct #frmConfigureProduct .panel-check > .check > label > .icheck-control:checked:focus-visible {
    box-shadow: inset 0 0 0 4px #f7f7f8, 0 0 0 3px rgba(16, 98, 254, .15);
}

body.winter-page-configureproduct #frmConfigureProduct .iradio_square-blue,
body.winter-page-configureproduct #frmConfigureProduct .icheckbox_square-blue {
    position: relative;
    width: 20px;
    height: 20px;
    background: #fff none;
    border: 2px solid #d9dde5;
}

body.winter-page-configureproduct #frmConfigureProduct .iradio_square-blue {
    border-radius: 50%;
}

body.winter-page-configureproduct #frmConfigureProduct .icheckbox_square-blue {
    border-radius: 3px;
}

body.winter-page-configureproduct #frmConfigureProduct .iradio_square-blue.checked {
    border-color: #1062fe;
}

body.winter-page-configureproduct #frmConfigureProduct .iradio_square-blue.checked::after {
    position: absolute;
    top: 4px;
    left: 4px;
    width: 8px;
    height: 8px;
    content: "";
    background: #1062fe;
    border-radius: 50%;
}

body.winter-page-configureproduct #frmConfigureProduct .icheckbox_square-blue.checked {
    background: #1062fe;
    border-color: #1062fe;
}

body.winter-page-configureproduct #frmConfigureProduct .icheckbox_square-blue.checked::after {
    position: absolute;
    top: 1px;
    left: 5px;
    width: 6px;
    height: 11px;
    content: "";
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

body.winter-page-configureproduct #frmConfigureProduct .iradio_square-blue.focus,
body.winter-page-configureproduct #frmConfigureProduct .icheckbox_square-blue.focus {
    box-shadow: 0 0 0 3px rgba(16, 98, 254, .15);
}

body.winter-page-configureproduct #frmConfigureProduct .alert-danger > p,
body.winter-page-viewcart #order-standard_cart .checkout-error-feedback > p {
    margin: 0;
}

body.winter-page-configureproduct #frmConfigureProduct .alert-danger .alert-body > ul,
body.winter-page-viewcart #order-standard_cart .checkout-error-feedback > ul {
    margin: 10px 0 0;
    padding-inline-start: 22px;
}

body.winter-page-configureproduct #frmConfigureProduct .alert-danger .alert-body > ul > li,
body.winter-page-viewcart #order-standard_cart .checkout-error-feedback > ul > li {
    padding-inline-start: 2px;
}

body.winter-page-configureproduct #frmConfigureProduct .sidebar-collapsed {
    display: none;
}

body.winter-page-configureproduct .container.primary-content,
body.winter-page-viewcart .container.primary-content {
    transform: none;
}

body.winter-page-viewcart .container.primary-content {
    padding-top: 48px;
}

body.winter-page-viewcart #order-standard_cart {
    width: 100%;
    margin: 0;
    padding: 0;
    color: var(--winter-text);
    font-family: Roboto, sans-serif;
    font-size: var(--winter-font-size-body);
    line-height: var(--winter-line-height-body);
}

body.winter-page-viewcart #order-standard_cart .winter-cart-shell {
    display: block;
    margin: 0;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-body {
    width: 100%;
    margin: 0;
    padding: 0;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-header {
    padding: 0;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-header h1 {
    letter-spacing: -.7px;
}

body.winter-page-viewcart #order-standard_cart .sidebar-collapsed {
    display: none;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) var(--winter-cart-sidebar-width);
    gap: var(--winter-cart-column-gap);
    align-items: start;
    margin: 0;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-main,
body.winter-page-viewcart #order-standard_cart .winter-cart-summary {
    width: auto;
    max-width: none;
    margin: 0;
    padding: 0;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-empty-state {
    display: flex;
    min-height: 320px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
    padding: 40px;
    background: #fff;
    border: 1px solid var(--winter-border);
    border-radius: var(--winter-radius);
}

body.winter-page-viewcart #order-standard_cart .winter-cart-empty-state > i {
    color: var(--winter-primary);
    font-size: 36px;
    line-height: 44px;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-empty-state h2 {
    margin: 0;
    color: var(--winter-heading);
    font-size: var(--winter-font-size-panel);
    font-weight: var(--winter-font-weight-display);
    line-height: var(--winter-line-height-panel);
}

body.winter-page-viewcart #order-standard_cart .view-cart-items-header {
    margin: 0;
    padding: 14px 20px;
    color: var(--winter-heading);
    background: var(--winter-surface-muted);
    border: 1px solid var(--winter-border);
    border-bottom: 0;
    border-radius: var(--winter-radius) var(--winter-radius) 0 0;
    font-weight: 500;
}

body.winter-page-viewcart #order-standard_cart .view-cart-items {
    margin: 0;
    border: 1px solid var(--winter-border);
    border-radius: 0 0 var(--winter-radius) var(--winter-radius);
}

body.winter-page-viewcart #order-standard_cart .view-cart-items .item {
    margin: 0;
    padding: 20px;
    background: #fff;
    border: 0;
    border-bottom: 1px solid var(--winter-border);
}

body.winter-page-viewcart #order-standard_cart .view-cart-items .item:last-child {
    border-bottom: 0;
}

body.winter-page-viewcart #order-standard_cart .item-title {
    color: var(--winter-heading);
    font-size: var(--winter-font-size-control-lg);
    font-weight: var(--winter-font-weight-action);
    line-height: 26px;
}

body.winter-page-viewcart #order-standard_cart .item-group,
body.winter-page-viewcart #order-standard_cart .item-domain,
body.winter-page-viewcart #order-standard_cart .item small,
body.winter-page-viewcart #order-standard_cart .item-price .cycle {
    color: var(--winter-muted);
}

body.winter-page-viewcart #order-standard_cart .item-price {
    color: var(--winter-heading);
    font-size: 17px;
    font-weight: 500;
}

body.winter-page-viewcart #order-standard_cart .empty-cart {
    padding: 8px 0 0;
    text-align: right;
}

body.winter-page-viewcart #order-standard_cart .view-cart-tabs {
    margin-top: 28px;
}

body.winter-page-viewcart #order-standard_cart .view-cart-tabs .nav-tabs {
    border-bottom-color: var(--winter-border);
}

body.winter-page-viewcart #order-standard_cart .view-cart-tabs .nav-link {
    color: var(--winter-text);
    border-color: transparent;
}

body.winter-page-viewcart #order-standard_cart .view-cart-tabs .nav-link.active {
    color: var(--winter-heading);
    background: #fff;
    border-color: var(--winter-border) var(--winter-border) #fff;
}

body.winter-page-viewcart #order-standard_cart .view-cart-tabs .tab-content {
    padding: 20px;
    background: #fff;
    border: 1px solid var(--winter-border);
    border-top: 0;
    border-radius: 0 0 var(--winter-radius) var(--winter-radius);
}

body.winter-page-viewcart #order-standard_cart .order-summary {
    overflow: hidden;
    margin: 0;
    background: #fff;
    border: 1px solid var(--winter-border);
    border-radius: var(--winter-radius);
    box-shadow: 0 8px 28px rgba(23, 25, 28, .06);
}

body.winter-page-viewcart #order-standard_cart .order-summary > h2 {
    height: auto;
    margin: 0;
    padding: 24px;
    color: var(--winter-heading);
    background: #fff;
    font-size: var(--winter-font-size-section);
    font-weight: var(--winter-font-weight-display);
    line-height: var(--winter-line-height-section);
    text-align: left;
}

body.winter-page-viewcart #order-standard_cart .summary-container {
    margin: 0;
    padding: 0 24px 24px;
    color: var(--winter-text);
    background: #fff;
}

body.winter-page-viewcart #order-standard_cart .subtotal,
body.winter-page-viewcart #order-standard_cart .bordered-totals,
body.winter-page-viewcart #order-standard_cart .recurring-totals {
    margin: 0;
    padding: 14px 0;
    font-size: var(--winter-font-size-meta);
    line-height: var(--winter-line-height-meta);
    border-top: 1px solid var(--winter-border);
}

body.winter-page-viewcart #order-standard_cart .order-summary .subtotal > span,
body.winter-page-viewcart #order-standard_cart .order-summary .bordered-totals > div,
body.winter-page-viewcart #order-standard_cart .order-summary .recurring-totals > span,
body.winter-page-viewcart #order-standard_cart .order-summary .recurring-charges > span {
    font-size: inherit;
    line-height: inherit;
}

body.winter-page-viewcart #order-standard_cart .total-due-today {
    margin: 0;
    padding: 22px 0;
    color: var(--winter-text);
    background: #fff;
    border-top: 1px solid var(--winter-border);
    text-align: left;
}

body.winter-page-viewcart #order-standard_cart .total-due-today .amt {
    display: block;
    margin-bottom: 4px;
    color: var(--winter-heading);
    font-size: var(--winter-font-size-page);
    font-weight: var(--winter-font-weight-page);
    line-height: var(--winter-line-height-page);
}

body.winter-page-viewcart #order-standard_cart .total-due-today > span:not(.amt) {
    font-size: var(--winter-font-size-meta);
    line-height: var(--winter-line-height-meta);
}

body.winter-page-viewcart #order-standard_cart .order-summary .text-right {
    text-align: left !important;
}

body.winter-page-viewcart #order-standard_cart .btn-checkout {
    width: 100%;
    color: #fff;
    background: var(--winter-primary);
    border-color: var(--winter-primary);
}

body.winter-page-viewcart #order-standard_cart .btn-checkout:hover,
body.winter-page-viewcart #order-standard_cart .btn-checkout:focus {
    color: #fff;
    background: var(--winter-primary-hover);
    border-color: var(--winter-primary-hover);
}

body.winter-page-viewcart #order-standard_cart .btn-continue-shopping {
    width: 100%;
    margin-top: 8px;
    font-size: var(--winter-font-size-body);
    font-weight: var(--winter-font-weight-action);
    line-height: var(--winter-line-height-body);
}

@media (max-width: 991.98px) {
    body.winter-page-viewcart #order-standard_cart .winter-cart-layout {
        grid-template-columns: minmax(0, 1fr) 300px;
        gap: 24px;
    }
}

@media (max-width: 767.98px) {
    body.winter-page-configureproduct .main-header-title {
        font-size: 32px;
        line-height: 40px;
        letter-spacing: -.4px;
    }

    body.winter-page-viewcart .container.primary-content {
        padding: 40px 24px;
    }

    body.winter-page-viewcart #order-standard_cart .winter-cart-header h1 {
        letter-spacing: -.4px;
    }

    body.winter-page-viewcart #order-standard_cart .winter-cart-layout {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    body.winter-page-viewcart #order-standard_cart .winter-cart-summary {
        grid-row: 2;
    }

    body.winter-page-viewcart #order-standard_cart .winter-cart-empty-state {
        min-height: 240px;
        padding: 32px 24px;
    }

    body.winter-page-viewcart #order-standard_cart .view-cart-items-header {
        display: none;
    }

    body.winter-page-viewcart #order-standard_cart .view-cart-items {
        border-radius: var(--winter-radius);
    }

    body.winter-page-viewcart #order-standard_cart .view-cart-items .item {
        padding: 18px;
    }

    body.winter-page-viewcart #order-standard_cart .item-price {
        margin-top: 16px;
        text-align: left;
    }

    body.winter-page-viewcart #order-standard_cart .order-summary > h2 {
        padding: 20px;
        font-size: 22px;
        line-height: 30px;
    }

    body.winter-page-viewcart #order-standard_cart .summary-container {
        padding: 0 20px 20px;
    }
}

/*
 * The Winter client-area shell also uses `.main-sidebar`; do not let that
 * fixed navigation rule leak into the source-derived order form.  These are
 * the actual Winter order-form DOM anchors, deliberately scoped to one route.
 */
body.winter-page-configureproduct #frmConfigureProduct > .main-grid > .main-sidebar #orderSummary {
    position: sticky;
    top: 24px;
    z-index: 2;
    display: flex;
    width: 100%;
    overflow: hidden;
    background: #fff;
    border: 0;
    border-radius: 6px;
    box-shadow: 0 0 1px rgba(0, 0, 0, .1), 0 2px 24px rgba(0, 0, 0, .08);
}

body.winter-page-configureproduct #frmConfigureProduct > .main-grid > .main-sidebar #orderSummary .panel-summary {
    width: 100%;
    margin: 0;
    border: 0;
    border-radius: 6px;
}

/* Configure-product summary uses the same native `ordersummary.tpl` structure
 * as the source form.  It must be styled here rather than by the Twenty-One
 * client shell, whose `.main-sidebar` declarations otherwise squash it. */
body.winter-page-configureproduct #frmConfigureProduct #orderSummary .panel-title {
    font-family: Roboto, sans-serif;
}

body.winter-page-configureproduct #frmConfigureProduct #orderSummary .summary-content {
    overflow: visible;
    margin: 0;
    padding: 0;
}

body.winter-page-configureproduct #frmConfigureProduct #orderSummary .summary-list {
    border: 0;
}

body.winter-page-configureproduct #frmConfigureProduct #orderSummary .summary-list .list-item {
    font-weight: 400;
}

body.winter-page-configureproduct #frmConfigureProduct #orderSummary .summary-list .list-item-main {
    color: #17191c;
}

body.winter-page-configureproduct #frmConfigureProduct #orderSummary .summary-list .item-name {
    min-width: 0;
    overflow-wrap: anywhere;
}

body.winter-page-configureproduct #frmConfigureProduct #orderSummary .summary-list .item-value,
body.winter-page-configureproduct #frmConfigureProduct #orderSummary .summary-list .item-cycle {
    flex: 0 0 auto;
}

body.winter-page-configureproduct #frmConfigureProduct #orderSummary .summary-list .item-cycle {
    text-align: right;
}

body.winter-page-configureproduct #frmConfigureProduct #orderSummary .summary-list .faded,
body.winter-page-configureproduct #frmConfigureProduct #orderSummary .summary-list .item-optionname,
body.winter-page-configureproduct #frmConfigureProduct #orderSummary .summary-list .pg-name {
    font-size: 13px;
    font-weight: 400;
}

body.winter-page-configureproduct #frmConfigureProduct #orderSummary .summary-list .item-optionname,
body.winter-page-configureproduct #frmConfigureProduct #orderSummary .summary-list .pg-name {
    color: #9297a2;
}

body.winter-page-configureproduct #frmConfigureProduct #orderSummary .summary-list .line-through {
    color: #a7acb6;
    text-decoration: line-through;
}

body.winter-page-configureproduct #frmConfigureProduct #orderSummary .price-total {
    font-weight: 400;
}

body.winter-page-configureproduct #frmConfigureProduct #productConfigurableOptions .section-title.h6 {
    font-family: Roboto, sans-serif;
}

body.winter-page-configureproduct #frmConfigureProduct #productConfigurableOptions .section-header h6 {
    margin: 8px 0 0;
    color: #5e636e;
    font-family: Roboto, sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 24px;
}

@media (max-width: 767.98px) {
    body.winter-page-configureproduct #frmConfigureProduct > .main-grid > .main-sidebar #orderSummary {
        position: static;
    }
}

/* One-page checkout */
/*
 * Checkout deliberately uses the same source DOM as configureproduct:
 * `.main-grid > .main-content + .main-sidebar`.  The client-area shell has
 * its own fixed `.main-sidebar`, so reset that shell only within this order
 * form before applying the shared 868 / 40 / 340 checkout contract.
 */
body.winter-page-viewcart #order-standard_cart > .main-grid > .main-sidebar > .sidebar-sticky-summary {
    position: sticky;
    top: 24px;
    width: 100%;
}

body.winter-page-viewcart #order-standard_cart > .main-grid > .main-sidebar #orderSummary {
    position: relative;
    width: 100%;
    margin: 0;
    overflow: hidden;
    background: #fff;
    border: 0;
    border-radius: 6px;
    box-shadow: 0 0 1px rgba(0, 0, 0, .1), 0 2px 24px rgba(0, 0, 0, .08);
}

body.winter-page-viewcart #order-standard_cart > .main-grid > .main-sidebar #orderSummary .panel-title {
    margin: 0;
    color: #17191c;
    font-family: Roboto, sans-serif;
    font-size: 26px;
    font-weight: 300;
    line-height: 34px;
}

body.winter-page-viewcart #order-standard_cart > .main-grid > .main-sidebar #orderSummary .panel-body,
body.winter-page-viewcart #order-standard_cart > .main-grid > .main-sidebar #orderSummary .panel-footer {
    background: #fff;
    border: 0;
}

body.winter-page-viewcart #order-standard_cart > .main-grid > .main-sidebar #orderSummary .panel-body {
    padding: 0 24px 24px;
}

body.winter-page-viewcart #order-standard_cart > .main-grid > .main-sidebar #orderSummary .panel-footer {
    padding-top: 8px;
}

body.winter-page-viewcart #order-standard_cart > .main-grid > .main-sidebar .winter-checkout-tos,
body.winter-page-viewcart #order-standard_cart > .main-grid > .main-sidebar .winter-checkout-notice {
    width: 100%;
}

body.winter-page-viewcart #order-standard_cart .winter-checkout-shell,
body.winter-page-viewcart #order-standard_cart .winter-checkout-body {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
}

body.winter-page-viewcart #order-standard_cart .winter-checkout-layout {
    display: flex;
    flex-direction: row;
    column-gap: var(--winter-cart-column-gap);
    align-items: start;
}

/*
 * The legacy Winter cart has a generic flex/margin rule on its main column.
 * Checkout uses Lagom2's flex relationship (remaining main width + 40px +
 * 340px sidebar), so the column must not inherit that 140px offset or it will
 * shrink incorrectly.
 */
/* Source-derived cart table.  Its markup is the production summary-table
 * contract; these declarations only resolve that contract into Winter's
 * shared tokens without replacing its data or cart actions. */
body.winter-page-viewcart #order-standard_cart .panel-cart {
    overflow: visible;
    margin: 0 0 42px;
    background: #fff;
    border: 1px solid var(--winter-border);
    border-radius: var(--winter-radius);
    box-shadow: none;
}

body.winter-page-viewcart #order-standard_cart .panel-cart .cart-heading {
    display: flex;
    min-height: 56px;
    align-items: center;
    padding: 12px 24px;
    color: #5e636e;
    background: #fff;
    border: 0;
    border-bottom: 1px solid var(--winter-border);
    font-size: 13px;
    font-weight: 400;
    line-height: 20px;
    border-radius: var(--winter-radius) var(--winter-radius) 0 0;
}

body.winter-page-viewcart #order-standard_cart .panel-cart .cart-heading > .row {
    flex: 1;
}

body.winter-page-viewcart #order-standard_cart .panel-cart .cart-heading > .row,
body.winter-page-viewcart #order-standard_cart .panel-cart .cart-item > .row {
    display: flex;
    align-items: center;
}

body.winter-page-viewcart #order-standard_cart .panel-cart .cart-item {
    padding: 16px 24px;
    border: 0;
    border-top: 1px solid var(--winter-border);
}

body.winter-page-viewcart #order-standard_cart .panel-cart .cart-heading + .cart-item {
    border-top: 0;
}

body.winter-page-viewcart #order-standard_cart .panel-cart .cart-item-title-main {
    display: block;
    color: var(--winter-heading);
    font-size: 17px;
    font-weight: 500;
    line-height: 24px;
}

body.winter-page-viewcart #order-standard_cart .panel-cart .cart-item-title-small {
    color: #1062fe;
    font-size: 13px;
    line-height: 20px;
}

body.winter-page-viewcart #order-standard_cart .panel-cart .prod-addons,
body.winter-page-viewcart #order-standard_cart .panel-cart .renewal {
    color: var(--winter-muted);
    font-size: var(--winter-font-size-meta);
    line-height: var(--winter-line-height-meta);
}

body.winter-page-viewcart #order-standard_cart .panel-cart .prod-addons-container {
    margin-top: 8px;
    margin-bottom: 8px;
    border-left: 1px solid #efeff1;
}

body.winter-page-viewcart #order-standard_cart .panel-cart .prod-addons .addon-item {
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    margin-right: -12px;
    margin-left: -12px;
    padding-top: 3px;
    padding-bottom: 3px;
    font-size: 12px;
    line-height: 18px;
    color: #5e636e;
    transition: background-color .15s ease;
}

body.winter-page-viewcart #order-standard_cart .panel-cart .prod-addons .addon-item:last-child {
    padding-bottom: 0;
}

body.winter-page-viewcart #order-standard_cart .panel-cart .prod-addons .addon-item > * {
    padding-right: 24px;
    padding-left: 12px;
}

body.winter-page-viewcart #order-standard_cart .panel-cart .prod-addons .addon-name {
    padding-left: 28px;
}

body.winter-page-viewcart #order-standard_cart .panel-cart .prod-addons .addon-name .item-name {
    color: #acb0b9;
}

body.winter-page-viewcart #order-standard_cart .panel-cart .prod-addons .item-price {
    color: #5e636e;
    font-size: 12px;
    font-weight: 400;
    line-height: 18px;
}

@media (min-width: 768px) {
    body.winter-page-viewcart #order-standard_cart .panel-cart .prod-addons .addon-item::after {
        position: absolute;
        top: 0;
        left: 11px;
        display: block;
        width: 2px;
        height: 100%;
        background: #1062fe;
        content: "";
        opacity: 0;
        visibility: hidden;
        transition: opacity .15s ease, visibility .15s ease;
    }

    body.winter-page-viewcart #order-standard_cart .panel-cart .prod-addons .addon-item:focus-within,
    body.winter-page-viewcart #order-standard_cart .panel-cart .prod-addons .addon-item:hover {
        outline: 0;
    }

    body.winter-page-viewcart #order-standard_cart .panel-cart .prod-addons .addon-item:focus-within::after,
    body.winter-page-viewcart #order-standard_cart .panel-cart .prod-addons .addon-item:hover::after {
        opacity: 1;
        visibility: visible;
    }
}

body.winter-page-viewcart #order-standard_cart .panel-cart .prod-price {
    min-width: 170px;
}

body.winter-page-viewcart #order-standard_cart .panel-cart .cart-item-price {
    overflow: hidden;
    color: var(--winter-heading);
    font-size: 14px;
    font-weight: 500;
    line-height: 24px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.winter-page-viewcart #order-standard_cart .panel-cart .cart-item-pricing .btn {
    display: flex;
    min-height: 44px;
    max-width: 160px;
    align-items: center;
    justify-content: space-between;
    overflow: hidden;
    padding: 6px 12px;
    border-color: #d8dbe1;
    border-radius: 3px;
    box-shadow: none;
    text-overflow: ellipsis;
}

body.winter-page-viewcart #order-standard_cart .panel-cart .cart-item-pricing .dropdown-menu {
    min-width: 200px;
    margin: 0;
    padding: 8px 0;
    background: #fff;
    border: 1px solid var(--winter-border);
    border-radius: 6px;
    box-shadow: 0 0 1px rgba(0, 0, 0, .12), 0 8px 32px rgba(0, 0, 0, .08);
}

body.winter-page-viewcart #order-standard_cart .panel-cart .cart-item-pricing.show {
    z-index: 20;
}

body.winter-page-viewcart #order-standard_cart .panel-cart .cart-item-pricing .dropdown-menu > li > a {
    display: flex;
    min-height: 36px;
    align-items: center;
    padding: 6px 24px;
    color: #5e636e;
    background: transparent;
    font-size: 14px;
    font-weight: 400;
    line-height: 24px;
    white-space: nowrap;
}

body.winter-page-viewcart #order-standard_cart .panel-cart .cart-item-pricing .dropdown-menu > li.active > a,
body.winter-page-viewcart #order-standard_cart .panel-cart .cart-item-pricing .dropdown-menu > li > a:focus,
body.winter-page-viewcart #order-standard_cart .panel-cart .cart-item-pricing .dropdown-menu > li > a:hover {
    color: #1062fe;
    background: #f0f5ff;
}

body.winter-page-viewcart #order-standard_cart .panel-cart .cart-item-pricing.is-loading .btn {
    cursor: wait;
    opacity: .7;
}

body.winter-page-viewcart #order-standard_cart .panel-cart [data-input-number-update].hidden {
    display: none !important;
}

body.winter-page-viewcart #order-standard_cart .panel-cart .prod-actions {
    padding-right: 0;
}

body.winter-page-viewcart #order-standard_cart .panel-cart .cart-item-actions {
    display: flex;
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: 0;
}

body.winter-page-viewcart #order-standard_cart .panel-cart .btn-icon {
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    padding: 0;
    color: #9297a2;
    background: transparent;
    border: 0;
    border-radius: 3px;
}

body.winter-page-viewcart #order-standard_cart .panel-cart .panel-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 24px;
    background: var(--winter-surface-muted);
    border: 0;
    border-top: 1px solid var(--winter-border);
    border-radius: 0 0 var(--winter-radius) var(--winter-radius);
}

body.winter-page-viewcart #order-standard_cart .panel-cart .panel-footer .content {
    display: flex;
    gap: 12px;
}

body.winter-page-viewcart #order-standard_cart .panel-cart .panel-footer .content.w-100 {
    justify-content: space-between;
    gap: 0;
}


body.winter-page-viewcart #order-standard_cart .winter-checkout-promo {
    margin-bottom: 42px;
}

body.winter-page-viewcart #order-standard_cart .winter-checkout-promo h2,
body.winter-page-viewcart #order-standard_cart .winter-checkout-section-title {
    margin: 0 0 20px;
    color: var(--winter-heading);
    font-size: var(--winter-font-size-section);
    font-weight: var(--winter-font-weight-display);
    line-height: var(--winter-line-height-section);
}

body.winter-page-viewcart #order-standard_cart .winter-checkout-promo-form {
    position: relative;
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 20px 24px;
    background: #0f8bed;
    border-radius: var(--winter-radius);
    box-shadow: 0 12px 28px rgba(15, 139, 237, .16);
}

body.winter-page-viewcart #order-standard_cart .winter-checkout-promo-form > i {
    color: #fff;
    font-size: 18px;
    text-align: center;
}

body.winter-page-viewcart #order-standard_cart .winter-checkout-promo-form .form-control {
    height: 44px;
    padding: 10px 14px;
    border: 0;
}

body.winter-page-viewcart #order-standard_cart .winter-checkout-promo-form .btn {
    height: 44px;
    color: var(--winter-primary);
    background: #eef3ff;
    border-color: #eef3ff;
}

body.winter-page-viewcart #order-standard_cart .winter-checkout-promo-applied {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 20px;
    background: #eef5ff;
    border: 1px solid #d9e6ff;
    border-radius: var(--winter-radius);
}

body.winter-page-viewcart #order-standard_cart .already-registered {
    margin-bottom: 18px;
    padding: 16px 18px;
    background: #f7f7f8;
    border: 1px solid var(--winter-border);
    border-radius: var(--winter-radius);
}

body.winter-page-viewcart #order-standard_cart .already-registered p {
    margin: 6px 0 0;
}

body.winter-page-viewcart #order-standard_cart .winter-checkout-form .sub-heading {
    height: auto;
    margin: 34px 0 18px;
    padding: 0;
    border: 0;
    text-align: left;
}

body.winter-page-viewcart #order-standard_cart .winter-checkout-form .sub-heading span {
    position: static;
    top: auto;
    display: block;
    padding: 0;
    color: var(--winter-heading);
    background: transparent;
    font-size: var(--winter-font-size-section);
    font-weight: var(--winter-font-weight-display);
    line-height: var(--winter-line-height-section);
}

body.winter-page-viewcart #order-standard_cart .winter-checkout-form .form-control {
    min-height: 44px;
    color: var(--winter-heading);
    background: #fff;
    border-color: #d8dbe1;
    border-radius: 3px;
}

body.winter-page-viewcart #order-standard_cart .winter-checkout-form .form-control:focus {
    border-color: var(--winter-primary);
    box-shadow: 0 0 0 3px rgba(16, 98, 254, .12);
}

/* Lagom checkout uses 12px column gutters, not the Twenty-One 15px default. */
body.winter-page-viewcart #order-standard_cart .winter-checkout-form .row {
    margin-right: -12px;
    margin-left: -12px;
}

body.winter-page-viewcart #order-standard_cart .winter-checkout-form .row > [class*="col-"] {
    padding-right: 12px;
    padding-left: 12px;
}

body.winter-page-viewcart #order-standard_cart .winter-checkout-form .form-group {
    margin: 0 0 12px;
}

body.winter-page-viewcart #order-standard_cart .winter-checkout-form .alert-lagom.alert-xs {
    padding: 7px 12px;
    font-size: 13px;
    line-height: 20px;
}

body.winter-page-viewcart #order-standard_cart .account-select-container {
    margin: 0;
    background: transparent;
    border: 0;
}

body.winter-page-viewcart #order-standard_cart .account-select-container > [class*="col-"] {
    max-width: 100%;
    padding: 0;
    flex: 0 0 100%;
}

body.winter-page-viewcart #order-standard_cart .account-select-container .account {
    position: relative;
    margin: 0;
    padding: 0;
    background: #fff;
    border: 1px solid var(--winter-border);
    border-radius: 0;
}

body.winter-page-viewcart #order-standard_cart .account-select-container > div + div .account {
    margin-top: -1px;
}

body.winter-page-viewcart #order-standard_cart .account-select-container > div:first-child .account {
    border-radius: var(--winter-radius) var(--winter-radius) 0 0;
}

body.winter-page-viewcart #order-standard_cart .account-select-container > div:last-child .account {
    border-radius: 0 0 var(--winter-radius) var(--winter-radius);
}

body.winter-page-viewcart #order-standard_cart .account-select-container .account.active {
    z-index: 1;
    background: #f7f7f8;
    border: 1px solid var(--winter-primary);
}

body.winter-page-viewcart #order-standard_cart .account-select-container .winter-account-heading {
    position: relative;
    display: flex;
    width: 100%;
    min-height: 56px;
    align-items: center;
    gap: 12px;
    margin: 0;
    padding: 16px;
    color: var(--winter-text);
    text-align: left;
    background: transparent;
    border: 0;
    cursor: pointer;
}

body.winter-page-viewcart #order-standard_cart .account-select-container .winter-account-heading > .iradio_square-blue {
    flex: 0 0 20px;
    margin: 0;
}

body.winter-page-viewcart #order-standard_cart .account-select-container .winter-account-radio {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    background: #fff;
    border: 2px solid #d7dce5;
    border-radius: 50%;
}

body.winter-page-viewcart #order-standard_cart .account-select-container .account.active .winter-account-radio,
body.winter-page-viewcart #order-standard_cart .account-select-container .account:has(.account-select:checked) .winter-account-radio {
    background: var(--winter-primary);
    border-color: var(--winter-primary);
    box-shadow: inset 0 0 0 5px #fff;
}

body.winter-page-viewcart #order-standard_cart .account-select-container .winter-account-heading.disabled {
    cursor: not-allowed;
    opacity: .55;
}

body.winter-page-viewcart #order-standard_cart .account-select-container .winter-account-title {
    display: block;
    min-width: 0;
    color: var(--winter-text);
    line-height: 22px;
}

body.winter-page-viewcart #order-standard_cart .account-select-container .winter-account-title strong {
    color: var(--winter-heading);
}

body.winter-page-viewcart #order-standard_cart .account-select-container .winter-account-title .label {
    float: right;
    margin-left: 8px;
    color: var(--winter-primary);
    background: #dfe9ff;
}

body.winter-page-viewcart #order-standard_cart .account-select-container .winter-account-collapse {
    display: none;
    border-top: 1px solid var(--winter-border);
}

body.winter-page-viewcart #order-standard_cart .account-select-container .account.active > .winter-account-collapse,
body.winter-page-viewcart #order-standard_cart .account-select-container .account:has(.account-select:checked) > .winter-account-collapse {
    display: block;
}

body.winter-page-viewcart #order-standard_cart .winter-account-address {
    margin: 0;
    padding: 20px 24px 24px;
    color: var(--winter-text);
    font-style: normal;
    line-height: 24px;
}

body.winter-page-viewcart #order-standard_cart .winter-account-address > span {
    display: block;
}

body.winter-page-viewcart #order-standard_cart .winter-account-new #containerNewUserSignup {
    padding: 0 24px 24px;
}

body.winter-page-viewcart #order-standard_cart .winter-account-new .sub-heading {
    margin: 20px 0 14px;
}

body.winter-page-viewcart #order-standard_cart .winter-account-new .sub-heading span {
    font-size: 17px;
    font-weight: 600;
    line-height: 24px;
}

body.winter-page-viewcart #order-standard_cart .winter-account-tip {
    margin: 0 0 16px;
    padding: 8px 12px;
    font-size: 13px;
    line-height: 20px;
}

body.winter-page-viewcart #order-standard_cart .apply-credit-container {
    margin: 0 0 24px;
    padding: 20px 24px;
    background: #fff;
    border: 1px solid var(--winter-border);
    border-radius: var(--winter-radius);
}

body.winter-page-viewcart #order-standard_cart .apply-credit-container > p {
    margin: 0 0 12px;
    color: var(--winter-muted);
}

body.winter-page-viewcart #order-standard_cart .apply-credit-container label {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 10px 0;
    color: var(--winter-heading);
    line-height: 24px;
}

body.winter-page-viewcart #order-standard_cart #paymentGatewaysContainer > p {
    margin: 0;
    padding: 14px 18px;
    color: var(--winter-muted) !important;
    background: var(--winter-surface-muted);
    border-bottom: 1px solid var(--winter-border);
}

body.winter-page-viewcart #order-standard_cart #paymentGatewaysContainer > .text-center {
    text-align: left !important;
}

body.winter-page-viewcart #order-standard_cart #paymentGatewaysContainer .radio-inline {
    display: flex;
    min-height: 56px;
    align-items: center;
    gap: 12px;
    margin: 0;
    padding: 14px 16px;
    color: var(--winter-heading);
    border-bottom: 1px solid var(--winter-border);
}

body.winter-page-viewcart #order-standard_cart #paymentGatewaysContainer .radio-inline:last-child {
    border-bottom: 0;
}

body.winter-page-viewcart #order-standard_cart #paymentGatewaysContainer .radio-inline:has(.checked) {
    margin: -1px;
    background: #f7f7f8;
    border: 1px solid var(--winter-primary);
}

body.winter-page-viewcart #order-standard_cart .iradio_square-blue,
body.winter-page-viewcart #order-standard_cart .icheckbox_square-blue {
    position: relative;
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    background: #fff none;
    border: 2px solid #d9dde5;
}

body.winter-page-viewcart #order-standard_cart .iradio_square-blue {
    border-radius: 50%;
}

body.winter-page-viewcart #order-standard_cart .icheckbox_square-blue {
    border-radius: 3px;
}

body.winter-page-viewcart #order-standard_cart .iradio_square-blue.checked {
    border-color: var(--winter-primary);
}

body.winter-page-viewcart #order-standard_cart .iradio_square-blue.checked::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 8px;
    content: "";
    background: var(--winter-primary);
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

body.winter-page-viewcart #order-standard_cart .icheckbox_square-blue.checked {
    background: var(--winter-primary);
    border-color: var(--winter-primary);
}

body.winter-page-viewcart #order-standard_cart .icheckbox_square-blue.checked::after {
    position: absolute;
    top: 1px;
    left: 5px;
    width: 6px;
    height: 11px;
    content: "";
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

body.winter-page-viewcart #order-standard_cart > .main-grid > .main-sidebar .order-summary {
    box-shadow: 0 10px 32px rgba(23, 25, 28, .08);
}

body.winter-page-viewcart #order-standard_cart > .main-grid > .main-sidebar .subtotal,
body.winter-page-viewcart #order-standard_cart > .main-grid > .main-sidebar .bordered-totals,
body.winter-page-viewcart #order-standard_cart > .main-grid > .main-sidebar .recurring-totals {
    padding: 14px 0;
    border-top: 1px solid var(--winter-border);
}

body.winter-page-viewcart #order-standard_cart > .main-grid > .main-sidebar .bordered-totals > div {
    margin: 6px 0;
}

body.winter-page-viewcart #order-standard_cart > .main-grid > .main-sidebar .recurring-charges {
    text-align: right;
}

body.winter-page-viewcart #order-standard_cart > .main-grid > .main-sidebar .total-due-today {
    padding: 22px 0;
    border-top: 1px solid var(--winter-border);
}

body.winter-page-viewcart #order-standard_cart > .main-grid > .main-sidebar .total-due-today > span {
    display: block;
    margin-bottom: 4px;
    color: var(--winter-muted);
    font-size: var(--winter-font-size-meta);
    line-height: var(--winter-line-height-meta);
}

body.winter-page-viewcart #order-standard_cart > .main-grid > .main-sidebar .total-due-today > strong {
    display: block;
    color: var(--winter-heading);
    font-size: var(--winter-font-size-page);
    font-weight: var(--winter-font-weight-page);
    line-height: var(--winter-line-height-page);
}

body.winter-page-viewcart #order-standard_cart > .main-grid > .main-sidebar #btnCompleteOrder {
    display: flex;
    width: 100%;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #fff;
    background: var(--winter-primary);
    border-color: var(--winter-primary);
}

body.winter-page-viewcart #order-standard_cart .winter-checkout-tos input {
    margin-top: 3px;
}

/*
 * Checkout primitives
 *
 * This is intentionally a small, standalone implementation of the source
 * Lagom checkout structure.  It is scoped to the Winter order form so the
 * Twenty-One child theme cannot leak its generic cart rules into checkout.
 */
body.winter-page-viewcart #order-standard_cart .winter-checkout-form {
    margin: 0;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section {
    margin-top: 48px;
}


body.winter-page-viewcart #order-standard_cart .winter-cart-section .section-header {
    margin: 0 0 24px;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .section-title {
    margin: 0;
    color: #17191c;
    font-size: 26px;
    font-weight: 300;
    line-height: 34px;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .section-desc {
    /* Lagom2: its paragraph sits under the section title, then leaves a
     * 32px gap before the actual control.  Twenty-One's inherited margin
     * previously made the mailing-list block too compact. */
    margin: -8px 0 32px;
    color: #737985;
    font-size: 14px;
    line-height: 24px;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .panel {
    margin: 0;
    color: #17191c;
    background: #fff;
    border: 1px solid #efeff1;
    border-radius: 6px;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .panel-body {
    padding: 24px;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .panel-group {
    overflow: hidden;
    margin: 0;
    background: #fff;
    border-radius: 6px;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .panel-check {
    position: relative;
    overflow: visible;
    border-radius: 0;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .panel-check:first-child {
    border-radius: 6px 6px 0 0;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .panel-check:last-child {
    border-radius: 0 0 6px 6px;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .panel-check + .panel-check {
    margin-top: -1px;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .panel-check.checked {
    z-index: 9;
    background: #f7f7f8;
    border-color: var(--winter-primary);
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .panel-heading {
    display: flex;
    min-height: 0;
    padding: 0;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .panel-heading > label {
    display: flex;
    position: relative;
    width: 100%;
    min-height: 56px;
    align-items: center;
    margin: 0;
    padding: 16px;
    color: #5e636e;
    font-size: 14px;
    font-weight: 400;
    line-height: 24px;
    cursor: pointer;
}

/* Source parity: Lagom2 positions the iCheck wrapper absolutely inside each
 * panel heading and gives the text a fixed 30px offset.  Twenty-One's old
 * square-blue rules otherwise leak in here and produce the larger 60px rows
 * and 13px/300 labels observed on Winter. */
body.winter-page-viewcart #order-standard_cart .winter-cart-section .panel-heading > label > .iradio_square-blue,
body.winter-page-viewcart #order-standard_cart .winter-cart-section .panel-heading > label > .icheckbox_square-blue {
    position: absolute;
    top: 19px;
    left: 16px;
    display: flex;
    width: 18px;
    min-width: 18px;
    height: 18px;
    min-height: 18px;
    margin: 0 8px 0 0;
    border: 2px solid #d9dde5;
    cursor: pointer;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .panel-heading > label > .iradio_square-blue > .icheck-control,
body.winter-page-viewcart #order-standard_cart .winter-cart-section .panel-heading > label > .icheckbox_square-blue > .icheck-control {
    top: -40% !important;
    left: -40% !important;
    width: 180% !important;
    height: 180% !important;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .panel-heading .check-content {
    display: block;
    min-width: 0;
    flex: 1 1 0;
    /* 18px iCheck control + 8px source spacing. */
    margin-left: 26px;
    line-height: 24px;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .panel-heading .check-content > span,
body.winter-page-viewcart #order-standard_cart .winter-cart-section .panel-heading .check-title {
    color: #17191c;
    font-size: 15px;
    font-weight: 500;
    line-height: 24px;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .panel-heading .check-icon {
    display: flex;
    max-width: 70px;
    margin-left: auto;
    justify-content: center;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .panel-heading .check-icon img {
    display: block;
    width: 100%;
    height: auto;
    max-width: none;
    max-height: none;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .panel-collapse {
    border-top: 1px solid #efeff1;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .panel-collapse:not(.show) {
    display: none;
}

/* Lagom2 uses `.hidden` throughout the checkout partials; Twenty-One does not
 * provide that utility after its client-theme styles are excluded. */
body.winter-page-viewcart #order-standard_cart .winter-checkout-form .hidden,
body.winter-page-viewcart #order-standard_cart .winter-checkout-form .w-hidden,
body.winter-page-viewcart #order-standard_cart #paymentGatewaysDetails .hidden,
body.winter-page-viewcart #order-standard_cart #paymentGatewaysDetails .w-hidden {
    display: none !important;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .panel-check .panel-collapse.show {
    display: block;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section h6 {
    margin: 0 0 16px;
    color: #17191c;
    font-size: 17px;
    font-weight: 500;
    line-height: 24px;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .form-group {
    margin-bottom: 12px;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .form-group:last-child {
    margin-bottom: 0;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .control-label,
body.winter-page-viewcart #order-standard_cart .winter-cart-section .form-group > label {
    display: block;
    margin: 0 0 5px;
    color: #5e636e;
    font-size: 14px;
    font-weight: 400;
    line-height: 24px;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .form-control {
    min-height: 44px;
    padding: 8px 16px;
    color: #17191c;
    background: #fff;
    border: 1px solid #dee0e3;
    border-radius: 3px;
    box-shadow: none;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .form-control:focus {
    border-color: var(--winter-primary);
    box-shadow: 0 0 0 3px rgba(16, 98, 254, .12);
}

/* Lagom2 checkout password layout: source selectors and resolved design tokens. */
body.winter-page-viewcart #order-standard_cart .winter-cart-section .password-content-top {
    margin-top: 0 !important;
    margin-bottom: 8px;
}

body.winter-page-viewcart #order-standard_cart #frmCheckout .password-content.password-content-group {
    margin-top: 8px;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .password-content-top label,
body.winter-page-viewcart #order-standard_cart .winter-cart-section .password-content-group > label,
body.winter-page-viewcart #order-standard_cart .winter-cart-section .password-content-group label {
    margin-right: auto;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .password-content-top label {
    margin-bottom: 0;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .password-content-text {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .password-content-text i {
    margin-left: 8px;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .password-content-group .progress {
    width: 76px;
    max-width: 76px;
    height: 6px;
    margin-top: 0;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .password-content-group .progress + .password-content-text {
    margin-left: 16px;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .input-password-strenght {
    position: relative;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .input-password-strenght .form-control {
    padding-right: 16px;
}

/* Lagom2 intl-tel-input geometry keeps the country code outside user text. */
body.winter-page-viewcart #order-standard_cart .winter-cart-section .intl-tel-input {
    position: relative;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .intl-tel-input input,
body.winter-page-viewcart #order-standard_cart .winter-cart-section .intl-tel-input input[type="tel"],
body.winter-page-viewcart #order-standard_cart .winter-cart-section .intl-tel-input input[type="text"] {
    position: relative;
    z-index: 0;
    margin-top: 0 !important;
    margin-right: 0;
    margin-bottom: 0 !important;
    padding-left: 106px;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .intl-tel-input .flag-container {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    padding: 1px;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .intl-tel-input.allow-dropdown .flag-container,
body.winter-page-viewcart #order-standard_cart .winter-cart-section .intl-tel-input.separate-dial-code .flag-container {
    right: 0;
    left: 0;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .intl-tel-input .selected-flag {
    position: relative;
    z-index: 1;
    width: 94px;
    height: 100%;
    padding: 0 20px 0 12px;
    border-right: 1px solid #dee0e3;
    outline: none;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .intl-tel-input .selected-flag .iti-flag {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .intl-tel-input .selected-flag .iti-arrow {
    position: absolute;
    top: 50%;
    right: 12px;
    width: 0;
    height: 0;
    margin-top: -2px;
    border-top: 4px solid #acb0b9;
    border-right: 3px solid transparent;
    border-left: 3px solid transparent;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .intl-tel-input.separate-dial-code .selected-flag {
    display: table;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .intl-tel-input.separate-dial-code .selected-dial-code {
    display: table-cell;
    padding-top: 3px;
    padding-left: 28px;
    vertical-align: middle;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-section .alert {
    margin: 0 0 16px;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-alert {
    margin: 0 0 24px;
    border-radius: 4px;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-alert > :last-child {
    margin-bottom: 0;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-promo .section-body {
    padding: 0;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-promo .search-box {
    margin: 0;
    padding: 24px;
    background: #0f8bed;
    border-radius: 6px;
    box-shadow: 0 12px 28px rgba(15, 139, 237, .16);
}

body.winter-page-viewcart #order-standard_cart .winter-cart-promo .search-group {
    display: flex;
    flex-wrap: wrap;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-promo .search-field {
    position: relative;
    min-width: 0;
    flex: 1 1 0;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-promo .search-group-btn {
    margin-left: 16px;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-promo .search-field-icon {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 14px;
    display: flex;
    align-items: center;
    color: var(--winter-primary);
}

body.winter-page-viewcart #order-standard_cart .winter-cart-promo .form-control {
    height: 44px;
    padding-left: 48px;
    border: 0;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-promo .btn {
    min-width: 82px;
    height: 44px;
    color: var(--winter-primary);
    background: #eef3ff;
    border-color: #eef3ff;
}

body.winter-page-viewcart #order-standard_cart #paymentGatewaysDetails {
    margin-top: 48px;
}

body.winter-page-viewcart #order-standard_cart #paymentGatewaysDetails .winter-cart-subsection {
    margin: 0;
}

body.winter-page-viewcart #order-standard_cart #paymentGatewaysDetails .winter-cart-subsection > .section-body {
    padding: 0;
}

body.winter-page-viewcart #order-standard_cart #paymentGatewaysDetails .credit-balance {
    margin-bottom: 16px;
    padding: 0 0 16px;
    border: 0;
    border-bottom: 1px solid var(--winter-order-border);
    border-radius: 0;
}

body.winter-page-viewcart #order-standard_cart #paymentGatewaysDetails .credit-balance-title {
    margin: 0 0 5px;
    color: #9297a2;
    font-size: 13px;
}

body.winter-page-viewcart #order-standard_cart #paymentGatewaysDetails .credit-balance span {
    color: #17191c;
    font-size: 36px;
    font-weight: 600;
    line-height: 44px;
}

body.winter-page-viewcart #order-standard_cart #paymentGatewaysDetails .apply-credit-container {
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
}

body.winter-page-viewcart #order-standard_cart #paymentGatewaysDetails .apply-credit-container .form-group {
    margin: 0 0 16px;
}

body.winter-page-viewcart #order-standard_cart #paymentGatewaysDetails .apply-credit-container .form-group:last-child {
    margin-bottom: 0;
}

body.winter-page-viewcart #order-standard_cart #paymentGatewaysDetails .apply-credit-container .radio {
    margin: 0;
}

body.winter-page-viewcart #order-standard_cart #paymentGatewaysDetails .apply-credit-container label {
    display: flex;
    align-items: center;
    gap: 0;
    margin: 0;
    color: #17191c;
    line-height: 24px;
}

body.winter-page-viewcart #order-standard_cart #paymentGatewaysDetails .apply-credit-container label > .icheck-control {
    margin-right: 8px;
}

body.winter-page-viewcart #order-standard_cart #paymentGatewaysContainer {
    margin-top: 24px;
    margin-bottom: 24px;
    overflow: visible;
    background: transparent;
    border: 0;
    border-radius: var(--winter-radius);
}

body.winter-page-viewcart #order-standard_cart #paymentGatewaysContainer .panel-group {
    overflow: hidden;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-marketing .section-body {
    padding: 0;
}

/* Exact Lagom2 panel-switch geometry.  This block intentionally owns every
 * property it uses: the older flex-based Winter version suppressed the
 * source ON/OFF labels and produced a different checked state. */
body.winter-page-viewcart #order-standard_cart .winter-cart-marketing .panel-switch {
    width: 288px;
    max-width: 100%;
    margin: 0;
    background: #fff;
    border: 1px solid #dee0e3;
    border-radius: 4px;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-marketing .panel-switch .panel-body {
    display: flex;
    align-items: center;
    padding: 24px 16px;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-marketing .panel-switch .switch {
    margin: 0 0 0 auto;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-marketing .panel-switch .switch-label {
    display: block;
    padding-right: 16px;
    color: #17191c;
    text-align: left;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-marketing .switch {
    position: relative;
    display: block;
    flex: 0 0 auto;
    width: 40px;
    height: 24px;
    cursor: pointer;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-marketing .switch--text {
    width: 50px;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-marketing .switch--lg {
    width: 60px;
    height: 28px;
    border-radius: 100%;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-marketing .switch__checkbox {
    position: absolute;
    width: auto;
    height: auto;
    opacity: 0;
}

/* Twenty-One's global iCheck initialiser wraps this source checkbox after the
 * template has rendered.  Keep that wrapper invisible and in the same hit
 * area, then support its sibling form below; without this containment the
 * wrapper severs Lagom2's input + .switch__container selectors. */
body.winter-page-viewcart #order-standard_cart .winter-cart-marketing .switch > .icheckbox_square-blue {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 3;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-marketing .switch > .icheckbox_square-blue .switch__checkbox {
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-marketing .switch__container,
body.winter-page-viewcart #order-standard_cart .winter-cart-marketing .switch__handle {
    position: absolute;
    border-radius: 12px;
    transition: .15s ease;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-marketing .switch__container {
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    background: #dee0e3;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-marketing .switch--lg .switch__container {
    border-radius: 50px;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-marketing .switch__handle {
    top: 2px;
    right: 2px;
    z-index: 2;
    display: block;
    width: 20px;
    height: 20px;
    background: #fff;
    box-shadow: none;
    transform: none;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-marketing .switch--lg .switch__handle {
    width: 24px;
    height: 24px;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-marketing .switch--text .switch__checkbox + .switch__container .switch__handle {
    right: 28px;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-marketing .switch--text > .icheckbox_square-blue + .switch__container .switch__handle {
    right: 28px;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-marketing .switch--lg.switch--text .switch__checkbox + .switch__container .switch__handle {
    right: 34px;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-marketing .switch--lg.switch--text > .icheckbox_square-blue + .switch__container .switch__handle {
    right: 34px;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-marketing .switch--text .switch__checkbox + .switch__container::after {
    position: absolute;
    top: 2px;
    right: 6px;
    bottom: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    content: "off";
    color: #acafb9;
    font-size: 11px;
    font-weight: 400;
    line-height: 1;
    text-transform: uppercase;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-marketing .switch--text > .icheckbox_square-blue + .switch__container::after {
    position: absolute;
    top: 2px;
    right: 6px;
    bottom: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    content: "off";
    color: #acafb9;
    font-size: 11px;
    font-weight: 400;
    line-height: 1;
    text-transform: uppercase;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-marketing .switch--lg.switch--text .switch__checkbox + .switch__container::after {
    right: 8px;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-marketing .switch--lg.switch--text > .icheckbox_square-blue + .switch__container::after {
    right: 8px;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-marketing .switch__checkbox:checked + .switch__container,
body.winter-page-viewcart #order-standard_cart .winter-cart-marketing .switch--text .switch__checkbox:checked + .switch__container {
    background: #1062fe;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-marketing .switch > .icheckbox_square-blue.checked + .switch__container {
    background: #1062fe;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-marketing .switch--text .switch__checkbox:checked + .switch__container::after {
    right: auto;
    left: 8px;
    content: "on";
    color: #fff;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-marketing .switch--text > .icheckbox_square-blue.checked + .switch__container::after {
    right: auto;
    left: 8px;
    content: "on";
    color: #fff;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-marketing .switch--lg.switch--text .switch__checkbox:checked + .switch__container::after {
    right: 36px !important;
    left: auto;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-marketing .switch--lg.switch--text > .icheckbox_square-blue.checked + .switch__container::after {
    right: 36px !important;
    left: auto;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-marketing .switch__checkbox:checked + .switch__container .switch__handle,
body.winter-page-viewcart #order-standard_cart .winter-cart-marketing .switch--lg.switch--text .switch__checkbox:checked + .switch__container .switch__handle {
    right: 2px;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-marketing .switch > .icheckbox_square-blue.checked + .switch__container .switch__handle {
    right: 2px;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-notes .section-body {
    padding: 0;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-notes textarea.form-control {
    min-height: 112px;
    resize: vertical;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-captcha {
    margin-top: 32px;
    text-align: center;
}

body.winter-page-viewcart #order-standard_cart .winter-cart-security-msg {
    display: flex;
    align-items: center;
    gap: 20px;
    min-height: 56px;
    margin: 32px 0 0;
    padding: 14px 24px;
}

/* Source-derived order-summary DOM.  The earlier Winter summary was a
 * separate card with different type roles and submit semantics. */
body.winter-page-viewcart #order-standard_cart .winter-order-summary > .panel-heading {
    padding: 24px 24px 18px;
    background: #fff;
}

body.winter-page-viewcart #order-standard_cart .winter-order-summary .panel-title {
    margin: 0;
    color: #17191c;
    font-size: 26px;
    font-weight: 300;
    line-height: 34px;
}

body.winter-page-viewcart #order-standard_cart .winter-order-summary > .panel-body {
    padding: 0 24px;
}

body.winter-page-viewcart #order-standard_cart .winter-order-summary .summary-list {
    margin: 0;
    padding: 12px 0;
    list-style: none;
    border-top: 1px solid #efeff1;
}

body.winter-page-viewcart #order-standard_cart .winter-order-summary .summary-list:first-child {
    border-top: 0;
}

body.winter-page-viewcart #order-standard_cart .winter-order-summary .list-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    min-height: 24px;
    color: #5e636e;
    font-size: 14px;
    font-weight: 400;
    line-height: 24px;
}

body.winter-page-viewcart #order-standard_cart .winter-order-summary .list-item + .list-item {
    margin-top: 4px;
}

body.winter-page-viewcart #order-standard_cart .winter-order-summary .list-item .item-value {
    color: #17191c;
    text-align: right;
    white-space: nowrap;
}

body.winter-page-viewcart #order-standard_cart .winter-order-summary .summary-list.faded,
body.winter-page-viewcart #order-standard_cart .winter-order-summary .list-item.faded {
    color: #9297a2;
}

body.winter-page-viewcart #order-standard_cart .winter-order-summary .panel-footer {
    padding: 20px 24px 24px;
    background: #fff;
}

body.winter-page-viewcart #order-standard_cart .winter-order-summary .price-total {
    display: block;
    margin-bottom: 6px;
    color: #9297a2;
    font-size: 13px;
    font-weight: 400;
    line-height: 20px;
    text-align: right;
}

body.winter-page-viewcart #order-standard_cart .winter-order-summary .price-amount {
    color: #17191c;
    font-size: 36px;
    font-weight: 600;
    line-height: 44px;
    text-align: right;
}

body.winter-page-viewcart #order-standard_cart .winter-order-summary .summary-actions {
    margin-top: 20px;
}

body.winter-page-viewcart #order-standard_cart .winter-order-summary #btnCompleteOrder {
    display: flex;
    width: 100%;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

body.winter-page-viewcart #order-standard_cart > .main-grid > .main-sidebar .winter-checkout-tos {
    display: block;
    margin: 18px 2px 10px;
    color: #5e636e;
    font-size: 14px;
    line-height: 24px;
}

body.winter-page-viewcart #order-standard_cart .winter-checkout-tos .checkbox {
    margin: 0;
}

body.winter-page-viewcart #order-standard_cart .winter-checkout-tos label {
    gap: 10px;
}

body.winter-page-viewcart #order-standard_cart .winter-checkout-tos label > .icheckbox_square-blue {
    flex: 0 0 20px;
    margin: 2px 0 0;
}

@media (max-width: 767.98px) {
    body.winter-page-viewcart #order-standard_cart > .main-grid > .main-sidebar > .sidebar-sticky-summary {
        position: static;
    }

    body.winter-page-viewcart #order-standard_cart > .main-grid > .main-content > .section {
        margin-top: 32px;
    }

    body.winter-page-viewcart #order-standard_cart > .main-grid > .main-content > .section .section-header,
    body.winter-page-viewcart #order-standard_cart #frmCheckout > .section .section-header {
        margin-bottom: 16px;
    }

    body.winter-page-viewcart #order-standard_cart > .main-grid > .main-content > .section .section-title,
    body.winter-page-viewcart #order-standard_cart #frmCheckout > .section .section-title {
        font-size: 22px;
        line-height: 30px;
    }

    body.winter-page-viewcart #order-standard_cart #frmCheckout .panel-switch {
        width: 100%;
    }

    body.winter-page-viewcart #order-standard_cart .winter-cart-section {
        margin-top: 32px;
    }

    body.winter-page-viewcart #order-standard_cart .winter-cart-section .section-header {
        margin-bottom: 16px;
    }

    body.winter-page-viewcart #order-standard_cart .winter-cart-section .section-title {
        font-size: 22px;
        line-height: 30px;
    }

    body.winter-page-viewcart #order-standard_cart .winter-cart-switch {
        width: 100%;
    }
}

/* The source search group becomes stacked only at the narrow phone
 * breakpoint; tablet widths retain the same flex structure as desktop. */
@media (max-width: 479.98px) {
    body.winter-page-viewcart #order-standard_cart > .main-grid > .main-content .search-group > * {
        flex-basis: 100%;
        min-width: 100%;
    }

    body.winter-page-viewcart #order-standard_cart > .main-grid > .main-content .search-group > * + * {
        margin-top: 16px;
        margin-left: 0;
    }

    body.winter-page-viewcart #order-standard_cart > .main-grid > .main-content .search-group-btn {
        margin-left: 0;
    }

    body.winter-page-viewcart #order-standard_cart .winter-cart-promo .search-group > * {
        flex-basis: 100%;
        min-width: 100%;
    }

    body.winter-page-viewcart #order-standard_cart .winter-cart-promo .search-group > * + * {
        margin-top: 16px;
        margin-left: 0;
    }

    body.winter-page-viewcart #order-standard_cart .winter-cart-promo .search-group-btn {
        margin-left: 0;
    }

    body.winter-page-viewcart #order-standard_cart .winter-cart-promo .btn {
        width: 100%;
    }
}

@media (max-width: 767.98px) {
    body.winter-page-viewcart #order-standard_cart .winter-checkout-layout {
        flex-direction: column;
        row-gap: 24px;
    }

    body.winter-page-viewcart #order-standard_cart .winter-checkout-promo-form {
        grid-template-columns: 20px minmax(0, 1fr);
        padding: 16px;
    }

    body.winter-page-viewcart #order-standard_cart .winter-checkout-promo-form .btn {
        grid-column: 1 / -1;
    }

    body.winter-page-viewcart #order-standard_cart .winter-checkout-promo h2,
    body.winter-page-viewcart #order-standard_cart .winter-checkout-section-title,
    body.winter-page-viewcart #order-standard_cart .winter-checkout-form .sub-heading span {
        font-size: 22px;
        line-height: 30px;
    }

    .winter-mobile-summary-action {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1050;
        display: flex;
        min-height: 56px;
        align-items: center;
        justify-content: center;
        gap: 10px;
        color: var(--winter-primary);
        background: #dfe9ff;
        box-shadow: 0 -6px 20px rgba(23, 25, 28, .08);
        font-size: var(--winter-font-size-control-lg);
        font-weight: var(--winter-font-weight-action);
        line-height: var(--winter-line-height-control-lg);
    }

    .winter-mobile-summary-action:hover,
    .winter-mobile-summary-action:focus {
        color: var(--winter-primary-hover);
        text-decoration: none;
    }
}

/*
 * Product grid parity with Lagom2.
 *
 * Twenty-One's Bootstrap gutter is 15px while Lagom2 uses 12px. Matching the
 * source gutter restores the same card/content width before typography is
 * evaluated. The amount remains a single semantic price string, so the longer
 * "CNY" format needs a slightly smaller desktop role to avoid splitting the
 * currency onto a second line.
 */
body.winter-page-products #order-standard_cart .products > .row {
    margin-right: -12px;
    margin-left: -12px;
}

body.winter-page-products #order-standard_cart .products > .row > .col {
    min-width: 0;
    padding-right: 12px;
    padding-left: 12px;
}

body.winter-page-products #order-standard_cart .package-title {
    margin-right: -12px;
    margin-left: -12px;
    font-size: 26px;
    font-weight: 300;
    line-height: 34px;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
}

body.winter-page-products #order-standard_cart .price {
    font-size: 40px;
    font-weight: 900;
    line-height: 52px;
}

body.winter-page-products #order-standard_cart .price-amount {
    font-size: 36px;
    font-weight: 900;
    line-height: 48px;
    white-space: nowrap;
    word-break: normal;
}

body.winter-page-products #order-standard_cart .price-cycle,
body.winter-page-products #order-standard_cart .price-starting-from {
    font-size: 13px;
    font-weight: 300;
    line-height: 20px;
}

body.winter-page-products #order-standard_cart .package-content {
    display: block;
}

body.winter-page-products #order-standard_cart .package-content > br:last-child {
    display: none;
}

body.winter-page-products #order-standard_cart .package-features {
    font-size: 17px;
    font-weight: 300;
    line-height: 28px;
}

body.winter-page-products #order-standard_cart .package-features > li {
    padding: 0 0 4px;
}

body.winter-page-products #order-standard_cart .package-features > li > b,
body.winter-page-products #order-standard_cart .package-features > li > strong {
    font-weight: 500;
}

@media (min-width: 992px) {
    body.winter-page-products #order-standard_cart .products > .row > .col {
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    body.winter-page-products #order-standard_cart .products > .row > .col {
        flex: 0 0 50%;
        max-width: 50%;
    }
}

@media (max-width: 767.98px) {
    body.winter-page-products #order-standard_cart .products > .row > .col {
        flex: 0 0 100%;
        max-width: 100%;
    }

    body.winter-page-products #order-standard_cart .package {
        margin-bottom: 20px;
    }

    body.winter-page-products #order-standard_cart .package-title {
        margin-right: 0;
        margin-left: 0;
        font-size: 21px;
        line-height: 30px;
        white-space: normal;
        word-break: break-word;
    }

    body.winter-page-products #order-standard_cart .price-amount {
        font-size: 32px;
        line-height: 40px;
    }

    body.winter-page-products #order-standard_cart .price-cycle,
    body.winter-page-products #order-standard_cart .price-starting-from {
        font-size: 12px;
        line-height: 18px;
    }

    body.winter-page-products #order-standard_cart .package-features {
        font-size: 16px;
        line-height: 26px;
    }

    body.winter-page-products #order-standard_cart .package-footer .btn {
        font-size: 16px;
        line-height: 26px;
    }
}

.auth-code-label {
    width: 100%;
}

.domain-hosting-status {
    color: #009900;
}

.domain-hosting-status-missing {
    color: #cc0000;
}
