/* Futuretrends checkout and account design 2.6.23. Native Shopware forms, values,
   validation, CSRF tokens and actions remain authoritative. */
body.is--target-checkout.is--ctl-register:not([data-ft-checkout]) .content-main,
body.is--ctl-checkout:not(.is--act-cart):not([data-ft-checkout]) .content-main {
    opacity: 0;
    animation: ft-checkout-native-fallback 0s linear 1.2s forwards;
}

/* Final review: Shopware's native line items follow the approved cart card
   language. Values, controls, forms and endpoints stay untouched. */
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-table.panel.has--border,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-table.panel.has--border,
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-table > .panel.has--border,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-table > .panel.has--border {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-table > .panel--body,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-table > .panel--body,
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-table > .panel > .panel--body,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-table > .panel > .panel--body {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    padding: 0;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-table > .panel--body > *,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-table > .panel--body > *,
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-table > .panel > .panel--body > *,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-table > .panel > .panel--body > * {
    grid-column-start: 1;
    grid-column-end: -1;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-product,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-product {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(390px, 470px) 42px;
    gap: 18px;
    align-items: center;
    float: none;
    width: 100%;
    min-height: 132px;
    margin: 0;
    padding: 14px;
    border: 1px solid #dfe4e1;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(31, 45, 36, .045);
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-product::before,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-product::before,
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-product::after,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-product::after,
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-commerce::before,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-commerce::before,
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-commerce::after,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-commerce::after {
    display: none;
    content: none;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-product .column--product,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-product .column--product {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    gap: 16px;
    align-items: center;
    float: none;
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 0;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-product .column--image,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-product .column--image,
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-product .table--media,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-product .table--media,
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-product .table--media-outer,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-product .table--media-outer,
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-product .table--media-inner,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-product .table--media-inner {
    float: none;
    width: 86px;
    height: 86px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-product .table--media-link,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-product .table--media-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 86px;
    height: 86px;
    overflow: hidden;
    border: 1px solid #e1e6e3;
    border-radius: 11px;
    background: #fff;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-product .table--media img,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-product .table--media img {
    display: block;
    max-width: 72px;
    max-height: 72px;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-product .table--content,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-product .table--content {
    float: none;
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 0;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-product .content--title,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-product .content--title {
    display: block;
    margin: 0 0 6px;
    color: #22292f;
    font-size: 15px;
    line-height: 1.32;
    font-weight: 800;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-product .content--sku,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-product .content--sku,
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-product .product--delivery,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-product .product--delivery {
    margin: 4px 0 0;
    color: #77817b;
    font-size: 12px;
    line-height: 1.35;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-product .delivery--text-not-available,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-product .delivery--text-not-available,
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-product .delivery--text-more-is-coming,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-product .delivery--text-more-is-coming {
    color: #9a6500;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-commerce,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-commerce {
    display: grid;
    grid-template-columns: minmax(142px, 1fr) minmax(112px, 1fr);
    gap: 16px;
    align-items: end;
    min-width: 0;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-commerce--unit-price,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-commerce--unit-price {
    grid-template-columns: minmax(142px, 1.15fr) minmax(105px, .9fr) minmax(112px, 1fr);
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-commerce > .panel--td,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-commerce > .panel--td {
    float: none;
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 0;
    text-align: right;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-commerce .column--label,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-commerce .column--label {
    display: block;
    float: none;
    width: auto;
    min-height: 17px;
    margin: 0 0 5px;
    color: #7a847e;
    font-size: 10px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-quantity,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-quantity {
    text-align: left !important;
}

body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout-quantity {
    position: relative;
    display: grid;
    grid-template-columns: 42px 50px 42px;
    box-sizing: border-box;
    float: none;
    width: 136px !important;
    max-width: 100%;
    height: 44px;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #d9dfdc;
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
}

body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout-quantity::before,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout-quantity::after {
    display: none !important;
    content: none !important;
}

body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout-quantity__button,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout-quantity__select {
    position: relative;
    float: none;
    width: 100%;
    height: 42px;
    margin: 0;
    padding: 0;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff;
    color: #22292f;
    font-size: 17px;
    line-height: 40px;
    text-align: center;
}

body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout-quantity__button--minus {
    grid-column: 1;
    grid-row: 1;
    border-right: 1px solid #e1e5e3 !important;
}

body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout-quantity__select {
    z-index: 2;
    grid-column: 2;
    grid-row: 1;
    opacity: 0;
    color: transparent;
    cursor: pointer;
}

body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout-quantity__button--plus {
    grid-column: 3;
    grid-row: 1;
    border-left: 1px solid #e1e5e3 !important;
}

body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout-quantity__value {
    position: absolute;
    z-index: 1;
    left: 42px;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 42px;
    color: #22292f;
    font-size: 17px;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    pointer-events: none;
}

body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout-quantity__button:hover:not(:disabled),
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout-quantity__button:focus:not(:disabled) {
    background: #f1f7f2;
    color: #2f7d32;
}

body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout-quantity__button:disabled {
    color: #b8c0ba;
    cursor: default;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-total-price,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-total-price {
    color: #22292f;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-tax-price,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-tax-price {
    display: none !important;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-remove,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-remove {
    float: none;
    width: 42px;
    margin: 0;
    padding: 0;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-remove form,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-remove form,
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-remove .cart-item-delete,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-remove .cart-item-delete {
    display: block;
    width: 42px;
    height: 42px;
    margin: 0;
    padding: 0;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-remove .cart-item-delete,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-remove .cart-item-delete {
    border: 1px solid #e0e5e2;
    border-radius: 10px;
    background: #f7f8f7;
    color: #252c31;
    line-height: 40px;
    text-align: center;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-fee-row,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-fee-row {
    float: none;
    width: 100%;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 1px solid #e3e8e5;
    border-radius: 13px;
    background: #fff;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-fee-row > *:not(.ft-checkout__review-fee-presentation),
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-fee-row > *:not(.ft-checkout__review-fee-presentation) {
    display: none !important;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-fee-presentation,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-fee-presentation {
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    gap: 14px;
    align-items: center;
    width: 100%;
    padding: 13px 16px;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-fee-presentation--payment,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-fee-presentation--payment {
    grid-template-columns: 28px minmax(0, 1fr) max-content;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-fee-copy,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-fee-copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-fee-icon,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-fee-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #252c31;
    color: #fff;
    font-size: 18px;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-fee-label,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-fee-label {
    color: #293139;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 800;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-fee-note,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-fee-note {
    margin-top: 2px;
    color: #7b857f;
    font-size: 11px;
    line-height: 1.35;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-fee-value,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-fee-value,
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-totals .entry--value,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-totals .entry--value {
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-totals,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-totals {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    float: none;
    width: 100%;
    margin: 0;
    padding: 16px 18px;
    border: 1px solid #dfe4e1;
    border-radius: 16px;
    background: #fff;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-totals .list--entry,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-totals .list--entry {
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    gap: 18px;
    align-items: baseline;
    float: none;
    width: 100%;
    margin: 0;
    padding: 7px 0;
    color: #5f6963;
    line-height: 1.35;
}

/* Shopware's block-group clearfix otherwise becomes two real grid items. */
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-totals::before,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-totals::before,
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-totals::after,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-totals::after,
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-totals .list--entry::before,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-totals .list--entry::before,
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-totals .list--entry::after,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-totals .list--entry::after,
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-product .column--product::before,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-product .column--product::before,
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-product .column--product::after,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-product .column--product::after {
    display: none !important;
    content: none !important;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-totals .entry--label,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-totals .entry--label,
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-totals .entry--value,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-totals .entry--value {
    float: none;
    width: auto;
    margin: 0;
    padding: 0;
    min-width: 0;
    height: auto;
    line-height: inherit;
    grid-row: 1;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-totals .entry--label,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-totals .entry--label {
    grid-column: 1;
    text-align: left !important;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-totals .entry--value,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-totals .entry--value {
    grid-column: 2;
    justify-self: end;
    text-align: right !important;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-table .basket--footer,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-table .basket--footer {
    float: none;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__order-submit-home {
    display: block;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-totals .entry--total,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-totals .entry--total {
    margin-top: 8px;
    padding-top: 13px;
    border-top: 1px solid #e1e6e3;
    color: #22292f;
    font-size: 18px;
    font-weight: 800;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-totals .entry--total .entry--value,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-totals .entry--total .entry--value {
    color: #2f6035;
    font-size: 22px;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-tax-detail,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-tax-detail {
    color: #87908b !important;
    font-size: 11px;
}

body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__direct-article-entry,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__order-submit-duplicate,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__optional-comment-content[hidden] {
    display: none !important;
}

body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__optional-comment-toggle {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 52px;
    margin: 0;
    padding: 13px 52px 13px 16px;
    border: 1px solid #dfe4e1;
    border-radius: 13px;
    background: #fff;
    color: #293139;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 800;
    text-align: left;
}

body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__optional-comment-toggle::after {
    content: '›';
    position: absolute;
    right: 12px;
    top: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    transform: translateY(-50%) rotate(90deg);
    border-radius: 50%;
    background: #252c31;
    color: #fff;
    font-size: 22px;
    transition: transform .18s ease;
}

body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__optional-comment-toggle[aria-expanded="true"]::after {
    transform: translateY(-50%) rotate(-90deg);
}

body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__optional-comment-content {
    margin-top: 10px;
}

body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__optional-comment-content textarea {
    width: 100%;
    min-height: 110px;
    border: 1px solid #dce4df;
    border-radius: 10px;
    background: #fff;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-voucher,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-voucher {
    clear: both;
    width: 100%;
    margin: 0 0 12px;
    border: 1px solid #dfe4e1;
    border-radius: 14px;
    background: #fff;
    overflow: hidden;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-voucher-toggle,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-voucher-toggle {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 52px;
    padding: 10px 56px 10px 14px;
    color: #293139;
    font-size: 14px;
    font-weight: 800;
    list-style: none;
    cursor: pointer;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-voucher-toggle::-webkit-details-marker,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-voucher-toggle::-webkit-details-marker {
    display: none;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-voucher-toggle::after,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-voucher-toggle::after {
    content: '›';
    position: absolute;
    right: 12px;
    top: 50%;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #252c31;
    color: #fff;
    font-size: 22px;
    line-height: 32px;
    text-align: center;
    transform: translateY(-50%) rotate(90deg);
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-voucher[open] > summary::after,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-voucher[open] > summary::after {
    transform: translateY(-50%) rotate(-90deg);
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-voucher-icon,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-voucher-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    border: 2px solid #4d833c;
    border-radius: 7px;
    color: #4d833c;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-table .table--aggregation,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-table .table--aggregation,
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-voucher .table--add-voucher,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-voucher .table--add-voucher {
    float: none;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-voucher .table--add-voucher,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-voucher .table--add-voucher {
    padding: 0 14px 14px;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-voucher .add-voucher--checkbox,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-voucher .add-voucher--checkbox,
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-voucher .add-voucher--label,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-voucher .add-voucher--label {
    display: none !important;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-voucher .add-voucher--panel,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-voucher .add-voucher--panel {
    display: flex !important;
    gap: 8px;
    width: 100%;
    margin: 0;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-voucher input[type="text"],
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-voucher input[type="text"] {
    flex: 1;
    min-width: 0;
    width: 100%;
    height: 44px;
    margin: 0;
    border: 1px solid #dce4df;
    border-radius: 9px;
    background: #fff;
    font-size: 16px;
}

body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-voucher button[type="submit"],
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-voucher button[type="submit"] {
    flex: 0 0 44px;
    position: static;
    height: 44px;
    margin: 0;
    border: 0;
    border-radius: 9px;
    background: #2f6035;
    color: #fff;
}

body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout-quantity:focus-within,
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-voucher-toggle:focus-visible,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-voucher-toggle:focus-visible {
    outline: 2px solid #2f6035;
    outline-offset: 2px;
}

body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__order-submit {
    min-height: 52px;
    padding: 13px 48px 13px 22px;
    border: 0;
    border-radius: 11px;
    background: #2f6035;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    box-shadow: 0 9px 20px rgba(47, 96, 53, .18);
}

body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__mobile-order-bar {
    display: none;
}

/* Retain the mobile class contract; one native action now serves all widths. */
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__order-bar-inner {
    display: contents;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__mobile-order-total[hidden] {
    display: none;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__mobile-order-total[hidden] + .ft-checkout__mobile-order-action {
    grid-column-start: 1;
    grid-column-end: -1;
}

@media screen and (max-width: 1023px) {
    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-product,
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-product {
        grid-template-columns: minmax(0, 1fr) minmax(340px, 410px) 42px;
        gap: 12px;
    }
}

@media screen and (max-width: 767px) {
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .content--wrapper {
        padding-bottom: 34px;
    }

    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-table > .panel--body,
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-table > .panel--body,
    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-table > .panel > .panel--body,
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-table > .panel > .panel--body {
        gap: 10px;
    }

    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-product,
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-product {
        grid-template-columns: minmax(0, 1fr) 42px;
        gap: 12px;
        min-height: 0;
        padding: 12px;
        border-radius: 14px;
    }

    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-product .column--product,
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-product .column--product {
        grid-column-start: 1;
        grid-column-end: -1;
        grid-template-columns: 72px minmax(0, 1fr);
        gap: 12px;
        padding-right: 48px;
    }

    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-product .column--image,
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-product .column--image,
    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-product .table--media,
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-product .table--media,
    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-product .table--media-outer,
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-product .table--media-outer,
    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-product .table--media-inner,
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-product .table--media-inner,
    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-product .table--media-link,
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-product .table--media-link {
        width: 72px;
        height: 72px;
    }

    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-product .table--media img,
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-product .table--media img {
        max-width: 62px;
        max-height: 62px;
    }

    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-product .content--title,
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-product .content--title {
        font-size: 14px;
    }

    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-commerce,
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-commerce,
    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-commerce--unit-price,
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-commerce--unit-price {
        grid-column-start: 1;
        grid-column-end: -1;
        grid-template-columns: 136px minmax(0, 1fr);
        gap: 12px;
        align-items: end;
    }

    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-unit-price,
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-unit-price {
        display: none;
    }

    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-total-price,
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-total-price {
        grid-column: 2;
        align-self: end;
    }

    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-remove,
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-remove {
        position: absolute;
        top: 12px;
        right: 12px;
    }

    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-totals,
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-totals {
        padding: 13px 14px;
        border-radius: 14px;
    }

    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-totals .list--entry,
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-totals .list--entry {
        gap: 12px;
        padding: 6px 0;
        font-size: 13px;
    }

    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-totals .entry--total,
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-totals .entry--total {
        font-size: 16px;
    }

    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-totals .entry--total .entry--value,
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-totals .entry--total .entry--value {
        font-size: 20px;
    }

    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-fee-presentation,
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-fee-presentation {
        padding: 11px 13px;
    }

    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__order-submit {
        width: 100%;
        min-height: 52px;
    }

    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__mobile-order-bar.is--active {
        position: fixed;
        z-index: 400;
        right: 0;
        bottom: 0;
        left: 0;
        display: grid;
        grid-template-columns: minmax(112px, .8fr) minmax(0, 1.65fr);
        gap: 12px;
        align-items: center;
        padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
        border-top: 1px solid #dfe6e1;
        background: rgba(255, 255, 255, .97);
        box-shadow: 0 -10px 28px rgba(20, 36, 25, .12);
    }

    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__mobile-order-total {
        display: flex;
        flex-direction: column;
        min-width: 0;
        color: #647069;
        line-height: 1.15;
    }

    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__mobile-order-total small {
        margin-bottom: 3px;
        font-size: 10px;
        font-weight: 700;
    }

    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__mobile-order-total strong {
        color: #2f6035;
        font-size: 18px;
        font-weight: 800;
        font-variant-numeric: tabular-nums;
        white-space: nowrap;
    }

    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__mobile-order-action {
        min-width: 0;
    }

    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__mobile-order-action .ft-checkout__order-submit {
        min-height: 54px;
        padding-right: 34px;
        padding-left: 16px;
        font-size: 14px;
    }

    body.is--ctl-checkout.is--act-confirm[data-ft-checkout].ft-checkout--review-sticky-active {
        padding-bottom: var(--ft-checkout-order-bar-height, calc(84px + env(safe-area-inset-bottom)));
    }
}

@keyframes ft-checkout-native-fallback {
    to { opacity: 1; }
}

body[data-ft-checkout] {
    color: #22292f;
    background: #f6f8f7;
}

body[data-ft-checkout] .content-main {
    min-height: 0;
    background: #f6f8f7;
}

body[data-ft-checkout] .content-main--inner {
    padding: 0;
}

body[data-ft-checkout] .sidebar-main,
body[data-ft-checkout] .btnSideNeueProdukte,
body[data-ft-checkout] .footer-main {
    display: none !important;
}

body[data-ft-checkout] .content--wrapper,
body[data-ft-checkout] .content-main,
body[data-ft-checkout] .content-main--inner,
body[data-ft-checkout] .content--wrapper *,
body[data-ft-checkout] .steps--container * {
    box-sizing: border-box;
}

/* Native checkout progress */
body[data-ft-checkout] .steps--container {
    width: 100%;
    height: auto;
    margin: 0;
    padding: 12px 24px 0;
    background: #f6f8f7;
}

body[data-ft-checkout] .steps--content {
    max-width: 1240px;
    margin: 0 auto;
    padding: 8px 16px;
    border: 1px solid #dfe6e1;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(22, 45, 29, .05);
}

body[data-ft-checkout] .steps--list {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    align-items: center;
    width: 100%;
    margin: 0;
}

body[data-ft-checkout] .steps--list::before,
body[data-ft-checkout] .steps--list::after {
    content: '';
    position: absolute;
    z-index: 0;
    top: 50%;
    left: 16.6667%;
    height: 2px;
    border-radius: 2px;
    transform: translateY(-50%);
}

body[data-ft-checkout] .steps--list::before {
    right: 16.6667%;
    background: #e0e7e2;
}

body[data-ft-checkout] .steps--list::after {
    width: var(--ft-step-progress, 0%);
    background: linear-gradient(90deg, #2f6035 0%, #79bf5a 100%);
    box-shadow: 0 0 8px rgba(94, 166, 76, .28);
}

body[data-ft-checkout] .steps--entry {
    float: none;
    width: auto;
    min-height: 34px;
    color: #758078;
}

body[data-ft-checkout] .steps--entry:not(.steps--spacer) {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-width: 0;
    text-align: center;
}

body[data-ft-checkout] .steps--entry .icon {
    display: inline-flex;
    flex: 0 0 30px;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    margin: 0;
    border: 1px solid #d9e2db;
    border-radius: 50%;
    background: #fff;
    color: #637069;
    font-size: 12px;
    font-weight: 800;
}

body[data-ft-checkout] .steps--entry .text {
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    display: inline-flex !important;
    flex: 0 1 auto;
    align-items: center;
    justify-content: center;
    width: auto;
    height: 30px !important;
    min-height: 30px;
    max-width: calc(100% - 50px);
    margin: 0 !important;
    padding: 0 7px !important;
    border-radius: 7px;
    background: #fff;
    font-size: 13px;
    line-height: 1.25;
    font-weight: 700;
}

body[data-ft-checkout] .steps--entry .text--inner {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: auto !important;
}

body[data-ft-checkout] .steps--entry.is--active {
    color: #22292f;
}

body[data-ft-checkout] .steps--entry.is--active .icon {
    border-color: #2f6035;
    background: #2f6035;
    color: #fff;
    box-shadow: 0 0 0 4px rgba(92, 157, 79, .11), 0 5px 13px rgba(47, 96, 53, .2);
}

body[data-ft-checkout] .steps--entry.ft-is-complete .icon {
    border-color: #78ad76;
    background: #edf7ee;
    color: #2f6035;
}

body[data-ft-checkout] .steps--spacer {
    display: none;
}

body[data-ft-checkout] .steps--spacer .icon--arrow-right {
    font-size: 13px;
}

/* Page frame shared by registration, shipping/payment and confirmation. */
body[data-ft-checkout] .content--wrapper {
    width: 100%;
    max-width: 1288px;
    margin: 0 auto;
    padding: 20px 24px 64px;
}

body[data-ft-checkout] .ft-checkout__intro {
    grid-area: intro;
    margin: 0;
}

body[data-ft-checkout] .ft-checkout__title {
    margin: 0;
    color: #22292f;
    font-size: 35px;
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: -.025em;
}

body[data-ft-checkout] .ft-checkout__subtitle {
    margin: 6px 0 0;
    color: #68747c;
    font-size: 15px;
    line-height: 1.45;
}

/* Registration / address step: guest checkout is the visual primary path. */
body.is--target-checkout[data-ft-checkout] .content--wrapper.ft-checkout {
    display: grid;
    float: none;
    margin: 0 auto;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 370px);
    grid-template-areas:
        "intro intro"
        "message message"
        "register login"
        "register advantages";
    gap: 18px 22px;
    align-items: start;
}

body.is--target-checkout[data-ft-checkout] .register--message {
    grid-area: message;
    float: none;
    width: 100%;
    margin: 0;
}

body.is--target-checkout[data-ft-checkout] .register--content {
    grid-area: register;
    float: none;
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid #dfe6e1;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 14px 35px rgba(22, 45, 29, .07);
}

body.is--target-checkout[data-ft-checkout] .register--login {
    grid-area: login;
    float: none;
    width: 100%;
    margin: 0;
}

body.is--target-checkout[data-ft-checkout] .register--advantages {
    grid-area: advantages;
    float: none;
    width: 100%;
    margin: 0;
}

body.is--target-checkout[data-ft-checkout] .register--form,
body.is--target-checkout[data-ft-checkout] .register--form > .panel {
    float: none;
    width: 100%;
    margin: 0;
    border: 0;
    background: transparent;
}

body.is--target-checkout[data-ft-checkout] .register--form > .panel + .panel {
    border-top: 1px solid #edf1ee;
}

body.is--target-checkout[data-ft-checkout] .panel--title {
    min-height: 0;
    margin: 0;
    padding: 20px 22px 10px;
    border: 0;
    color: #22292f;
    font-size: 19px;
    line-height: 1.25;
    font-weight: 800;
}

body.is--target-checkout[data-ft-checkout] .panel--title.is--underline {
    border: 0;
}

body.is--target-checkout[data-ft-checkout] .register--form .panel--body {
    float: none;
    width: 100%;
    padding: 6px 22px 20px;
}

body.is--target-checkout[data-ft-checkout] .register--personal .panel--body {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px 12px;
}

body.is--target-checkout[data-ft-checkout] .register--customertype,
body.is--target-checkout[data-ft-checkout] .register--salutation,
body.is--target-checkout[data-ft-checkout] .register--firstname,
body.is--target-checkout[data-ft-checkout] .register--lastname,
body.is--target-checkout[data-ft-checkout] .register--email,
body.is--target-checkout[data-ft-checkout] .register--phone {
    float: none;
    width: 100%;
    margin: 0;
    padding: 0;
}

body.is--target-checkout[data-ft-checkout] .register--check,
body.is--target-checkout[data-ft-checkout] .register--account-information,
body.is--target-checkout[data-ft-checkout] .register--birthdate {
    grid-column-start: 1;
    grid-column-end: -1;
    float: none;
    width: 100%;
    margin: 0;
    padding: 0;
}

body.is--target-checkout[data-ft-checkout] .ft-checkout__guest-choice {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 52px;
    padding: 11px 14px;
    border: 1px solid #bfd7c3;
    border-radius: 12px;
    background: #f1f8f2;
}

body.is--target-checkout[data-ft-checkout] .ft-checkout__guest-choice input[type="checkbox"] {
    flex: 0 0 auto;
    width: 21px;
    height: 21px;
    margin: 0 10px 0 0;
    accent-color: #2f6035;
}

body.is--target-checkout[data-ft-checkout] .ft-checkout__guest-choice label {
    margin: 0;
    color: #244d2b;
    font-size: 14px;
    line-height: 1.35;
    font-weight: 800;
}

body.is--target-checkout[data-ft-checkout] input.register--field,
body.is--target-checkout[data-ft-checkout] input.register--login-field,
body.is--target-checkout[data-ft-checkout] .select-field,
body.is--target-checkout[data-ft-checkout] .select-field select {
    width: 100%;
    max-width: 100%;
    height: 48px;
    min-height: 48px;
    margin: 0;
    border-color: #dce4df;
    border-radius: 10px;
    background-color: #fff;
    color: #22292f;
    font-size: 14px;
    line-height: 1.3;
}

body.is--target-checkout[data-ft-checkout] input.register--field:focus,
body.is--target-checkout[data-ft-checkout] input.register--login-field:focus,
body.is--target-checkout[data-ft-checkout] .select-field select:focus {
    border-color: #4c8455;
    box-shadow: 0 0 0 3px rgba(76, 132, 85, .13);
}

body.is--target-checkout[data-ft-checkout] .register--account-information {
    padding: 0;
}

body.is--target-checkout[data-ft-checkout] .register--password-description {
    margin-top: 6px;
    color: #78827c;
    font-size: 12px;
    line-height: 1.4;
}

body.is--target-checkout[data-ft-checkout] .register--birthdate {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

body.is--target-checkout[data-ft-checkout] .register--birthdate .birthday--label {
    grid-column-start: 1;
    grid-column-end: -1;
    margin: 3px 0 -3px;
    color: #4e5a52;
    font-size: 13px;
    font-weight: 700;
}

body.is--target-checkout[data-ft-checkout] .register--birthday,
body.is--target-checkout[data-ft-checkout] .register--birthmonth,
body.is--target-checkout[data-ft-checkout] .register--birthyear {
    float: none;
    width: 100%;
    margin: 0;
}

body.is--target-checkout[data-ft-checkout] .register--address .panel--body,
body.is--target-checkout[data-ft-checkout] .register--shipping .panel--body,
body.is--target-checkout[data-ft-checkout] .register--company .panel--body {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px 12px;
}

body.is--target-checkout[data-ft-checkout] .register--street,
body.is--target-checkout[data-ft-checkout] .register--zip-city,
body.is--target-checkout[data-ft-checkout] .register--country,
body.is--target-checkout[data-ft-checkout] .register--shipping-country,
body.is--target-checkout[data-ft-checkout] .register--alt-shipping,
body.is--target-checkout[data-ft-checkout] .country-area-state-selection,
body.is--target-checkout[data-ft-checkout] .register--address .alert {
    grid-column-start: 1;
    grid-column-end: -1;
    float: none;
    width: 100%;
    margin: 0;
}

body.is--target-checkout[data-ft-checkout] .register--zip-city {
    display: grid;
    grid-template-columns: minmax(105px, 28%) minmax(0, 1fr);
    gap: 12px;
}

body.is--target-checkout[data-ft-checkout] .register--alt-shipping {
    display: flex;
    align-items: center;
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid #e4eae6;
    border-radius: 10px;
    background: #fafcfb;
}

body.is--target-checkout[data-ft-checkout] .register--alt-shipping input {
    width: 20px;
    height: 20px;
    margin: 0 10px 0 0;
    accent-color: #2f6035;
}

body.is--target-checkout[data-ft-checkout] .register--required-info {
    margin: 0;
    padding: 0 22px 12px;
    color: #7b857f;
    font-size: 12px;
}

body.is--target-checkout[data-ft-checkout] .register--action {
    float: none;
    width: 100%;
    margin: 0;
    padding: 0 22px 20px;
}

body.is--target-checkout[data-ft-checkout] .register--submit,
body.is--target-checkout[data-ft-checkout] .register--login-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 52px;
    padding: 13px 18px;
    border: 0;
    border-radius: 11px;
    background: #2f6035;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    box-shadow: 0 9px 20px rgba(47, 96, 53, .18);
}

body.is--target-checkout[data-ft-checkout] .register--submit:hover,
body.is--target-checkout[data-ft-checkout] .register--submit:focus,
body.is--target-checkout[data-ft-checkout] .register--login-btn:hover,
body.is--target-checkout[data-ft-checkout] .register--login-btn:focus {
    background: #244f2b;
    color: #fff;
}

body.is--target-checkout[data-ft-checkout] .ft-checkout__trust {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    padding: 13px 18px;
    border-top: 1px solid #e8eee9;
    background: #f3f8f3;
}

body.is--target-checkout[data-ft-checkout] .ft-checkout__trust-item {
    position: relative;
    padding-left: 16px;
    color: #4f6154;
    font-size: 11px;
    line-height: 1.35;
    font-weight: 700;
    text-align: center;
}

body.is--target-checkout[data-ft-checkout] .ft-checkout__trust-item::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: #4d9b49;
    font-weight: 900;
}

body.is--target-checkout[data-ft-checkout] .register--existing-customer,
body.is--target-checkout[data-ft-checkout] .register--advantages {
    overflow: hidden;
    border: 1px solid #dfe6e1;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(22, 45, 29, .055);
}

body.is--target-checkout[data-ft-checkout] .register--existing-customer .panel--body {
    padding: 5px 20px 20px;
}

body.is--target-checkout[data-ft-checkout] .register--login-description {
    margin: 0 0 13px;
    color: #69746d;
    font-size: 13px;
    line-height: 1.45;
}

body.is--target-checkout[data-ft-checkout] .register--login-email,
body.is--target-checkout[data-ft-checkout] .register--login-password {
    margin: 0 0 10px;
}

body.is--target-checkout[data-ft-checkout] .register--login-lostpassword {
    margin: 3px 0 14px;
}

body.is--target-checkout[data-ft-checkout] .register--login-lostpassword a {
    color: #346c3d;
    font-size: 12px;
    font-weight: 700;
}

body.is--target-checkout[data-ft-checkout] .register--login-action {
    width: 100%;
    margin: 0;
}

body.is--target-checkout[data-ft-checkout] .ft-checkout__express-option,
body.is--target-checkout[data-ft-checkout] .ft-checkout__express-divider {
    grid-column-start: 1;
    grid-column-end: -1;
}

body.is--target-checkout[data-ft-checkout] .ft-checkout__express-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 54px;
    padding: 9px 12px;
    border: 1px solid #dfe8e1;
    border-radius: 11px;
    background: linear-gradient(105deg, #f8fbf8 0%, #fff 70%);
}

body.is--target-checkout[data-ft-checkout] .ft-checkout__express-copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

body.is--target-checkout[data-ft-checkout] .ft-checkout__express-title {
    color: #27312c;
    font-size: 13px;
    line-height: 1.25;
}

body.is--target-checkout[data-ft-checkout] .ft-checkout__express-text {
    margin-top: 2px;
    color: #778179;
    font-size: 11px;
    line-height: 1.3;
}

body.is--target-checkout[data-ft-checkout] .paypal-express--container {
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
    border: 0;
}

body.is--target-checkout[data-ft-checkout] .ft-checkout__express-native--cart-only {
    display: none !important;
}

body.is--target-checkout[data-ft-checkout] .paypal-express {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
}

body.is--target-checkout[data-ft-checkout] .paypal-express--delimiter {
    display: none;
}

body.is--target-checkout[data-ft-checkout] .paypal-express--btn {
    float: none;
    display: block;
}

body.is--target-checkout[data-ft-checkout] .paypal-express--btn img {
    display: block;
    max-width: 168px;
    height: auto;
}

body.is--target-checkout[data-ft-checkout] .ft-checkout__express-divider {
    position: relative;
    height: 14px;
    margin: -2px 0;
    text-align: center;
}

body.is--target-checkout[data-ft-checkout] .ft-checkout__express-divider::before {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    height: 1px;
    background: #edf1ee;
}

body.is--target-checkout[data-ft-checkout] .ft-checkout__express-divider span {
    position: relative;
    z-index: 1;
    display: inline-block;
    padding: 0 9px;
    background: #fff;
    color: #8a938d;
    font-size: 10px;
    line-height: 14px;
}

body.is--target-checkout[data-ft-checkout] .register--advantages {
    padding: 17px 20px;
}

body.is--target-checkout[data-ft-checkout] .register--advantages h2 {
    margin: 0 0 10px;
    color: #27312c;
    font-size: 15px;
}

body.is--target-checkout[data-ft-checkout] .register--advantages-list {
    margin: 0;
}

body.is--target-checkout[data-ft-checkout] .register--advantages-list li {
    margin: 6px 0;
    color: #5e6962;
    font-size: 12px;
    line-height: 1.35;
}

/* Native later checkout steps. No form element is replaced. */
body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .content--wrapper.ft-checkout--action {
    display: block;
}

body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .ft-checkout__intro {
    margin-bottom: 18px;
}

body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .confirm--content,
body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .shipping-payment--content,
body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .confirm--inner-container,
body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .confirm--outer-container {
    width: 100%;
}

body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .confirm--outer-container {
    max-width: 1240px;
    margin: 0 auto;
}

body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .shipping-payment--information {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    align-items: start;
}

body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .shipping-payment--information > .confirm--inner-container {
    float: none;
    width: 100%;
    margin: 0;
}

body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .payment--method-list,
body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .dispatch--method-list {
    overflow: hidden;
}

body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .payment--method-headline,
body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .dispatch--method-headline {
    margin: 0;
    padding: 18px 20px 12px;
    border: 0;
    color: #22292f;
    font-size: 18px;
    line-height: 1.25;
    font-weight: 800;
}

body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .payment--method-list .panel--body,
body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .dispatch--method-list .panel--body {
    padding: 5px 14px 14px;
}

body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .payment--method,
body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .dispatch--method {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    float: none;
    width: 100%;
    min-height: 58px;
    margin: 0 0 8px;
    padding: 12px;
    border: 1px solid #e0e7e2;
    border-radius: 11px;
    background: #fff;
    box-shadow: none;
}

body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .method--input {
    float: none;
    width: auto;
    margin: 0;
}

body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .method--input input[type="radio"] {
    width: 20px;
    height: 20px;
    margin: 0;
    accent-color: #2f6035;
}

body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .method--label,
body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .method--description {
    float: none;
    width: auto;
    margin: 0;
}

body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .method--label {
    grid-column: 2;
    color: #25302a;
    font-weight: 800;
}

body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .method--description {
    grid-column-start: 2;
    grid-column-end: -1;
    color: #6c776f;
    font-size: 12px;
    line-height: 1.4;
}

body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .payment--method-logo,
body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .dispatch--method-logo {
    grid-column: 3;
    grid-row-start: 1;
    grid-row-end: span 2;
    float: none;
    margin: 0;
}

/* Shopware outputs an identical action before and after the choices. Keep the
   native bottom action and remove the premature duplicate from view. */
body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) #shippingPaymentForm > .confirm--actions {
    display: none;
}

body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .confirm--actions.actions--bottom {
    display: flex;
    justify-content: flex-end;
    width: 100%;
    margin: 18px 0 0;
}

body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .confirm--actions.actions--bottom .main--actions {
    min-width: 280px;
    min-height: 52px;
    padding: 13px 22px;
    font-size: 15px;
    font-weight: 800;
}

body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .panel.has--border,
body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .payment--method,
body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .shipping--method,
body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .confirm--address,
body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .confirm--payment,
body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .confirm--dispatch {
    border-color: #dfe6e1;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(22, 45, 29, .055);
}

body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .btn.is--primary,
body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .btn--checkout-proceed,
body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .confirm--button {
    border: 0;
    border-radius: 11px;
    background: #2f6035;
    color: #fff;
    box-shadow: 0 9px 20px rgba(47, 96, 53, .18);
}

body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .btn.is--primary:hover,
body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .btn.is--primary:focus,
body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .btn--checkout-proceed:hover,
body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .btn--checkout-proceed:focus {
    background: #244f2b;
    color: #fff;
}

body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .confirm--sidebar {
    position: sticky;
    top: 18px;
}

@media screen and (max-width: 767px) {
    body.is--target-checkout input[type="text"],
    body.is--target-checkout input[type="email"],
    body.is--target-checkout input[type="password"],
    body.is--target-checkout input[type="tel"],
    body.is--target-checkout input[type="number"],
    body.is--target-checkout input[type="search"],
    body.is--target-checkout input[type="url"],
    body.is--target-checkout textarea,
    body.is--target-checkout select,
    body.is--ctl-checkout:not(.is--act-cart) input[type="text"],
    body.is--ctl-checkout:not(.is--act-cart) input[type="email"],
    body.is--ctl-checkout:not(.is--act-cart) input[type="password"],
    body.is--ctl-checkout:not(.is--act-cart) input[type="tel"],
    body.is--ctl-checkout:not(.is--act-cart) input[type="number"],
    body.is--ctl-checkout:not(.is--act-cart) input[type="search"],
    body.is--ctl-checkout:not(.is--act-cart) input[type="url"],
    body.is--ctl-checkout:not(.is--act-cart) textarea,
    body.is--ctl-checkout:not(.is--act-cart) select {
        min-width: 0 !important;
        max-width: 100% !important;
        font-size: 16px !important;
    }

    body[data-ft-checkout] .steps--container {
        padding: 8px 12px 0;
    }

    body[data-ft-checkout] .steps--content {
        padding: 7px;
        border-radius: 13px;
    }

    body[data-ft-checkout] .steps--list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 4px;
    }

    body[data-ft-checkout] .steps--list::before,
    body[data-ft-checkout] .steps--list::after {
        top: 13px;
        transform: none;
    }

    body[data-ft-checkout] .steps--spacer {
        display: none;
    }

    body[data-ft-checkout] .steps--entry:not(.steps--spacer) {
        flex-direction: column;
        gap: 5px;
        min-width: 0;
        text-align: center;
    }

    body[data-ft-checkout] .steps--entry .icon {
        flex-basis: 26px;
        width: 26px;
        height: 26px;
        font-size: 12px;
    }

    body[data-ft-checkout] .steps--entry .text {
        width: 100%;
        height: 24px !important;
        min-height: 24px;
        max-width: 100%;
        padding: 0 3px;
        font-size: 10px;
        line-height: 1.2;
    }

    body[data-ft-checkout] .content--wrapper {
        padding: 15px 12px 36px;
    }

    body[data-ft-checkout] .ft-checkout__title {
        font-size: 28px;
    }

    body[data-ft-checkout] .ft-checkout__subtitle {
        margin-top: 4px;
        font-size: 13px;
    }

    body.is--target-checkout[data-ft-checkout] .content--wrapper.ft-checkout {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "intro"
            "message"
            "register"
            "login"
            "advantages";
        gap: 13px;
    }

    body.is--target-checkout[data-ft-checkout] .register--content,
    body.is--target-checkout[data-ft-checkout] .register--existing-customer,
    body.is--target-checkout[data-ft-checkout] .register--advantages {
        border-radius: 14px;
    }

    body.is--target-checkout[data-ft-checkout] .panel--title {
        padding: 16px 16px 8px;
        font-size: 17px;
    }

    body.is--target-checkout[data-ft-checkout] .register--form .panel--body {
        padding: 5px 16px 16px;
    }

    body.is--target-checkout[data-ft-checkout] .register--personal .panel--body,
    body.is--target-checkout[data-ft-checkout] .register--address .panel--body,
    body.is--target-checkout[data-ft-checkout] .register--shipping .panel--body,
    body.is--target-checkout[data-ft-checkout] .register--company .panel--body {
        grid-template-columns: minmax(0, 1fr);
        gap: 9px;
    }

    body.is--target-checkout[data-ft-checkout] .register--customertype,
    body.is--target-checkout[data-ft-checkout] .register--salutation,
    body.is--target-checkout[data-ft-checkout] .register--firstname,
    body.is--target-checkout[data-ft-checkout] .register--lastname,
    body.is--target-checkout[data-ft-checkout] .register--email,
    body.is--target-checkout[data-ft-checkout] .register--phone {
        grid-column: 1;
    }

    body.is--target-checkout[data-ft-checkout] .register--zip-city {
        grid-template-columns: minmax(86px, 32%) minmax(0, 1fr);
        gap: 9px;
    }

    body.is--target-checkout[data-ft-checkout] .register--required-info {
        padding: 0 16px 10px;
    }

    body.is--target-checkout[data-ft-checkout] .register--action {
        padding: 0 16px 16px;
    }

    body.is--target-checkout[data-ft-checkout] .register--submit,
    body.is--target-checkout[data-ft-checkout] .register--login-btn {
        min-height: 50px;
    }

    body.is--target-checkout[data-ft-checkout] .ft-checkout__express-option {
        min-height: 50px;
        padding: 8px 10px;
    }

    body.is--target-checkout[data-ft-checkout] .ft-checkout__express-text {
        display: none;
    }

    body.is--target-checkout[data-ft-checkout] .paypal-express--btn img {
        max-width: 145px;
    }

    body.is--target-checkout[data-ft-checkout] .ft-checkout__trust {
        grid-template-columns: minmax(0, 1fr);
        gap: 5px;
        padding: 11px 16px;
    }

    body.is--target-checkout[data-ft-checkout] .ft-checkout__trust-item {
        text-align: left;
    }

    body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .confirm--sidebar {
        position: static;
    }

    body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .shipping-payment--information {
        grid-template-columns: minmax(0, 1fr);
        gap: 13px;
    }

    body.is--ctl-checkout[data-ft-checkout]:not(.is--act-cart) .confirm--actions.actions--bottom .main--actions {
        width: 100%;
        min-width: 0;
    }
}

/* 2.6.14: isolate the review controls from inherited theme floats/offsets.
   Keep these after the shared checkout rules. */
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__empty-comment-panel[hidden] {
    display: none !important;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__comment-section {
    clear: both;
    width: 100%;
    margin: 0 0 16px;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__optional-comment-content textarea {
    display: block;
    float: none;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    height: 110px;
    margin: 0;
    padding: 12px 14px;
    resize: vertical;
    color: #293139;
    font-size: 16px;
    line-height: 1.45;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__order-action-home {
    position: relative;
    clear: both;
    display: flow-root;
    box-sizing: border-box;
    width: 100%;
    margin: 14px 0 20px;
    padding: 0;
    text-align: right;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__order-submit {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    float: none !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
    height: auto;
    margin: 0 !important;
    transform: none !important;
    white-space: normal;
    line-height: 1.3;
    text-align: center;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__order-submit .icon--arrow-right {
    position: absolute;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    top: 50%;
    right: 16px;
    width: 1em;
    height: 1em;
    margin: 0;
    line-height: 1;
    transform: translateY(-50%);
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .tos--panel {
    clear: both;
    margin-top: 0;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .tos--panel .panel--title {
    margin: 0;
    padding: 12px 14px 0;
    border: 0;
    font-size: 16px;
    line-height: 1.2;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .tos--panel .panel--body {
    padding: 8px 14px 12px;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .tos--panel .list--checkbox {
    margin: 0;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .tos--panel .row--tos {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 0;
    padding: 0;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .tos--panel .row--tos::before,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .tos--panel .row--tos::after {
    display: none;
    content: none;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .tos--panel .column--checkbox {
    flex: 0 0 20px;
    float: none;
    width: 20px;
    margin: 2px 0 0;
    padding: 0;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .tos--panel .column--label {
    flex: 1 1 auto;
    float: none;
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 0;
    font-size: 14px;
    line-height: 1.4;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .tos--panel .column--label label {
    display: block;
    margin: 0;
    font-size: inherit;
    line-height: inherit;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .tos--panel input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin: 0;
    accent-color: #2f6037;
}

/* 4.0.47: final confirmation only; earlier checkout steps keep their header. */
body.is--ctl-checkout.is--act-confirm .steps--container {
    display: none !important;
}
body.is--ctl-checkout.is--act-confirm.is--minimal-header .header-main .logo-main {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    transform: none !important;
}
body.is--ctl-checkout.is--act-confirm.is--minimal-header .header-main .logo-main .logo--shop {
    display: flex !important;
    align-items: center;
    justify-content: center;
    float: none !important;
    width: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important;
    text-align: center;
}
body.is--ctl-checkout.is--act-confirm.is--minimal-header .header-main .logo-main .logo--link {
    width: auto !important;
    margin-right: auto !important;
    margin-left: auto !important;
}
/* The 284px native logo has 51px of transparent space on its right edge. */
body.is--ctl-checkout.is--act-confirm.is--minimal-header .header-main .logo-main img[srcset*="logo-ft-white-cust.png"],
body.is--ctl-checkout.is--act-confirm.is--minimal-header .header-main .logo-main img[src*="logo-ft-white-cust.png"] {
    transform: translateX(8.98%);
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    /* The native tablet picture source is tightly cropped already. */
    body.is--ctl-checkout.is--act-confirm.is--minimal-header .header-main .logo-main img[srcset*="logo-ft-white-cust.png"],
    body.is--ctl-checkout.is--act-confirm.is--minimal-header .header-main .logo-main img[src*="logo-ft-white-cust.png"] {
        transform: none;
    }
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .table--aggregation > .ft-checkout__comment-section {
    margin: 0 0 12px;
}
@media screen and (max-width: 767px) {
    body.is--ctl-checkout.is--act-confirm.is--minimal-header .header-main .logo-main {
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
        width: auto !important;
        transform: translate(-50%, -50%) !important;
    }
}

/* Receipt only. Shared product/fee/total selectors above deliberately use the
   exact same declarations as the review page. No second pricing layout. */
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .finish--content {
    float: none;
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    padding: 24px 0 36px;
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .finish--teaser {
    position: relative;
    margin: 0 0 24px;
    padding: 20px 24px;
    overflow: hidden;
    border: 1px solid #dfe6e1;
    border-radius: 20px;
    background: #fff;
    text-align: center;
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__finish-mark {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin: 0 auto 12px;
    border: 1px solid #bed9c2;
    border-radius: 50%;
    background: #eef7ef;
    color: #2f6035;
    font-size: 26px;
    line-height: 1;
    font-weight: 700;
    box-shadow: 0 0 0 7px #f7faf7;
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__finish-title {
    height: auto;
    margin: 0 auto 8px;
    padding: 0;
    border: 0;
    color: #22292f;
    font-size: 32px;
    line-height: 1.15;
    font-weight: 800;
    letter-spacing: -.025em;
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__finish-thanks {
    max-width: 760px;
    margin: 0 auto;
    color: #374a3b;
    font-size: 16px;
    line-height: 1.5;
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .finish--teaser > .panel--body {
    height: auto !important;
    padding: 8px 0 0;
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .teaser--text {
    max-width: 760px;
    margin: 0 auto 14px;
    color: #6c776f;
    font-size: 15px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__finish-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin: 0;
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .finish--teaser .ft-checkout__finish-back,
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .finish--teaser .ft-checkout__finish-view,
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .finish--teaser .ft-checkout__finish-print {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    float: none;
    min-height: 48px;
    max-width: 100%;
    margin: 0;
    padding: 13px 22px;
    border: 1px solid #2f6035;
    border-radius: 12px;
    background: #2f6035;
    background-image: none;
    color: #fff;
    font-size: 15px;
    line-height: 1.3;
    font-weight: 700;
    white-space: normal;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 8px 18px rgba(47, 96, 53, .12);
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .finish--teaser .ft-checkout__finish-print,
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__finish-actions--with-view .ft-checkout__finish-back {
    border-color: #dfe6e1;
    background: #fff;
    color: #2f6035;
    box-shadow: none;
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .finish--teaser .ft-checkout__finish-back:hover,
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .finish--teaser .ft-checkout__finish-view:hover {
    background: #244f2b;
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .finish--teaser .ft-checkout__finish-print:hover,
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__finish-actions--with-view .ft-checkout__finish-back:hover {
    background: #f1f7f2;
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .finish--teaser .btn:focus-visible {
    outline: 2px solid #2f6035;
    outline-offset: 3px;
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .print--notice {
    margin: 10px 0 0;
    color: #7b857f;
    font-size: 12px;
    line-height: 1.4;
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .finish--info {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 0 0 24px;
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .finish--info::before,
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .finish--info::after {
    content: none;
    display: none;
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .finish--info .information--panel-item {
    float: none;
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 0;
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .finish--info .information--panel-item.information--panel-address {
    grid-column-start: 1;
    grid-column-end: span 2;
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .finish--info .information--panel {
    float: none;
    width: 100%;
    height: auto !important;
    margin: 0;
    padding: 0;
    border: 1px solid #dfe6e1;
    border-radius: 16px;
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .finish--info .panel--title {
    margin: 0;
    padding: 16px 18px 8px;
    border: 0;
    color: #22292f;
    font-size: 17px;
    line-height: 1.3;
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .finish--info .panel--body {
    height: auto !important;
    padding: 0 18px 18px;
    font-size: 14px;
    line-height: 1.65;
    overflow-wrap: anywhere;
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .finish--info .panel--body > .billing--panel:only-child {
    float: none;
    width: 100%;
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__finish-summary-title {
    margin: 0 0 12px;
    padding: 0;
    color: #22292f;
    font-size: 20px;
    line-height: 1.3;
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .finish--table > .panel > .panel--body {
    border: 0;
    background: transparent;
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .finish--table .table--header,
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .finish--table .table--aggregation {
    display: none;
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__finish-product {
    grid-template-columns: minmax(0, 1fr) minmax(220px, 300px);
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-commerce {
    grid-template-columns: minmax(70px, 1fr) minmax(100px, 1fr);
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-commerce > .table--column {
    float: none;
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 0;
    line-height: 1.4;
    text-align: right;
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-commerce .column--quantity .column--label {
    margin-bottom: 5px;
    text-align: left;
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__finish-product .content--title {
    overflow: visible;
    max-height: none;
    white-space: normal;
    text-overflow: clip;
}
@media screen and (max-width: 767px) {
    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .finish--content {
        padding-top: 16px;
    }
    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .finish--teaser {
        padding: 20px 16px 18px;
        margin-bottom: 16px;
        border-radius: 16px;
    }
    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__finish-title {
        font-size: 26px;
    }
    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__finish-thanks {
        font-size: 16px;
    }
    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__finish-actions {
        flex-direction: column;
    }
    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__finish-actions--with-view {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__finish-actions--with-view .ft-checkout__finish-view {
        grid-column-start: 1;
        grid-column-end: -1;
    }
    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__finish-actions--with-view .ft-checkout__finish-back,
    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__finish-actions--with-view .ft-checkout__finish-print {
        padding-right: 10px;
        padding-left: 10px;
    }
    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .finish--teaser .ft-checkout__finish-back,
    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .finish--teaser .ft-checkout__finish-view,
    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .finish--teaser .ft-checkout__finish-print {
        width: 100%;
    }
    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .finish--info,
    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__finish-product {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }
    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .finish--info .information--panel-item.information--panel-address {
        grid-column: 1;
    }
    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__finish-product .column--product {
        padding-right: 0;
    }
}
@media print {
    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__finish-actions,
    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .print--notice {
        display: none;
    }
    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .finish--content {
        padding: 0;
    }
    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .finish--info .information--panel,
    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-product,
    body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__review-totals {
        break-inside: avoid;
        box-shadow: none;
    }
}

/* Native receipt facts; long order references and payment details must wrap. */
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__finish-source[hidden] {
    display: none !important;
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__finish-reference {
    margin: 0 0 10px;
    color: #374a3b;
    font-size: 15px;
    line-height: 1.4;
    overflow-wrap: anywhere;
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__finish-summary-title {
    scroll-margin-top: 24px;
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__finish-summary-title:focus {
    outline: 2px solid #2f6035;
    outline-offset: 4px;
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__finish-next {
    margin: 0 0 24px;
    padding: 18px 20px;
    border: 1px solid #d8e2da;
    border-radius: 16px;
    background: #f1f7f2;
    color: #374a3b;
    font-size: 15px;
    line-height: 1.5;
    overflow-wrap: anywhere;
    break-inside: avoid;
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__finish-next h2 {
    margin: 0 0 8px;
    font-size: 18px;
    line-height: 1.3;
    color: #22292f;
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__finish-next p {
    margin: 0 0 8px;
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__finish-next p:last-child {
    margin-bottom: 0;
}
body.is--ctl-checkout.is--act-finish[data-ft-checkout] .ft-checkout__finish-payment-hint {
    white-space: pre-line;
}

/* 2.6.16: desktop confirmation. Neutralise the native table/floats and
   joined-card offsets without changing the mobile step rail. */
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .information--panel-wrapper .btn {
    position: static !important;
    float: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    max-width: 100%;
    margin: 0;
    padding: 10px 16px;
    border: 1px solid #d8e2da;
    border-radius: 10px;
    background: #f5f8f5;
    background-image: none;
    color: #2f6035;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    white-space: normal;
    text-align: center;
    text-decoration: none;
    box-shadow: none;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .information--panel-wrapper .btn:hover {
    border-color: #a9c4ae;
    background: #eaf2eb;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .information--panel-wrapper .btn:focus-visible {
    outline: 2px solid #2f6035;
    outline-offset: 3px;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .shipping--description {
    white-space: normal;
    overflow-wrap: anywhere;
    text-overflow: clip;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-heading {
    clear: both;
    margin: 24px 0 12px;
    padding: 0;
    color: #22292f;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.3;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout].ft-checkout--review-ready .product--table .table--header {
    display: none !important;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .ft-checkout__review-table {
    clear: both;
    margin-top: 0;
    border: 0;
    background: transparent;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .ft-checkout__review-table > .panel,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .ft-checkout__review-table > .panel > .panel--body {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .ft-checkout__review-commerce > .table--column {
    float: none;
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 0;
    text-align: right;
}
@media screen and (min-width: 768px) {
    /* Match exactly the 1288px outer / 1240px inner content frame. Native
       .container and display:table must not leave the rail left-aligned. */
    body[data-ft-checkout] .steps--container {
        display: block;
        float: none;
        box-sizing: border-box;
        width: 100%;
        max-width: 1288px;
        margin: 0 auto;
        padding: 12px 24px 0;
    }
    body[data-ft-checkout] .steps--content {
        display: block;
        float: none;
        box-sizing: border-box;
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 12px 20px;
    }
    body[data-ft-checkout] .steps--list {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        align-items: start;
        padding: 0;
        list-style: none;
    }
    body[data-ft-checkout] .steps--entry:not(.steps--spacer) {
        flex-direction: column;
        justify-content: flex-start;
        gap: 8px;
        width: auto;
        margin: 0;
        padding: 0 12px;
    }
    body[data-ft-checkout] .steps--entry .icon {
        box-sizing: border-box;
        padding: 0;
        line-height: 1;
    }
    body[data-ft-checkout] .steps--entry .text {
        width: 100%;
        max-width: 100%;
        height: auto !important;
        min-height: 20px;
        padding: 0 !important;
        text-align: center;
    }
    body[data-ft-checkout] .steps--entry .text::after {
        display: none;
        content: none;
    }
    body[data-ft-checkout] .steps--list::before,
    body[data-ft-checkout] .steps--list::after {
        top: 15px;
        transform: none;
    }
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content {
        padding-top: 0;
    }
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .information--panel-wrapper {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
        width: 100%;
        margin: 24px 0;
        padding: 0;
    }
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .information--panel-wrapper::before,
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .information--panel-wrapper::after {
        display: none;
        content: none;
    }
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .information--panel-wrapper .information--panel-item {
        display: flex;
        float: none;
        width: auto;
        min-width: 0;
        margin: 0;
        padding: 0;
    }
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .information--panel-wrapper .information--panel {
        display: flex;
        flex-direction: column;
        float: none;
        width: 100%;
        height: auto !important;
        min-height: 0;
        margin: 0;
        padding: 0;
        border: 1px solid #dfe6e1;
        border-radius: 16px;
        overflow: hidden;
    }
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .information--panel-wrapper .panel--title {
        margin: 0;
        padding: 18px 20px 12px;
        border: 0;
        font-size: 17px;
        line-height: 1.3;
    }
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .information--panel-wrapper .panel--body {
        flex: 1 1 auto;
        height: auto !important;
        min-height: 0;
        padding: 0 20px 16px;
        line-height: 1.6;
        overflow-wrap: anywhere;
    }
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .information--panel-wrapper .panel--actions {
        position: static;
        height: auto !important;
        min-height: 0;
        margin-top: auto;
        padding: 0 20px 20px;
    }
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .information--panel-wrapper .panel--actions > a:not(.btn) {
        display: inline-block;
        margin-top: 10px;
        font-size: 13px;
        line-height: 1.4;
    }
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .information--panel-wrapper .btn--change-payment {
        top: auto;
        right: auto;
        bottom: auto;
        left: auto;
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .information--panel-item:last-child:nth-child(3) {
        grid-column-start: 1;
        grid-column-end: -1;
    }
}
@media screen and (min-width: 1024px) {
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .information--panel-wrapper {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .information--panel-item.information--panel-address {
        grid-column-start: 1;
        grid-column-end: span 2;
    }
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .ft-checkout__review-product {
        grid-template-columns: minmax(0, 1fr) minmax(390px, 420px) 42px;
    }
}

/* 2.6.17: desktop/tablet completion bar, aligned with the checkout frame.
   Native Shopware modal/overlay layers remain above this secondary surface. */
@media screen and (min-width: 768px) {
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__mobile-order-bar.is--active {
        position: fixed;
        z-index: 400;
        right: 0;
        bottom: 0;
        left: 0;
        display: block;
        margin: 0;
        border-top: 1px solid #dfe6e1;
        background: rgba(255, 255, 255, .98);
        box-shadow: 0 -8px 28px rgba(20, 36, 25, .1);
    }
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__order-bar-inner {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 28px;
        width: 100%;
        max-width: 1288px;
        margin: 0 auto;
        padding: 14px 24px;
        box-sizing: border-box;
    }
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__mobile-order-total {
        display: flex;
        flex-direction: column;
        min-width: 0;
        color: #647069;
        line-height: 1.2;
    }
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__mobile-order-total small {
        margin-bottom: 4px;
        font-size: 12px;
        font-weight: 700;
    }
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__mobile-order-total strong {
        color: #2f6035;
        font-size: 24px;
        font-weight: 800;
        font-variant-numeric: tabular-nums;
        white-space: nowrap;
    }
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__mobile-order-action {
        flex: 0 1 300px;
        min-width: 0;
    }
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__mobile-order-action .ft-checkout__order-submit {
        width: 100%;
        min-height: 52px;
    }
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout].ft-checkout--review-sticky-active {
        padding-bottom: var(--ft-checkout-order-bar-height, 92px);
    }
}
@media print {
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__mobile-order-bar {
        display: none !important;
    }
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout].ft-checkout--review-sticky-active {
        padding-bottom: 0;
    }
}

/* Logout receipt only. Its own marker deliberately avoids checkout rules
   that hide the shop footer or change the normal account navigation. */
body.is--ctl-account.is--act-logout[data-ft-logout],
body.is--ctl-account.is--act-logout[data-ft-logout] .page-wrap {
    background: #f5f7f6;
}
body.is--ctl-account.is--act-logout[data-ft-logout] .content-main {
    border: 0;
    background: #f5f7f6;
    box-shadow: none;
}
body.is--ctl-account.is--act-logout[data-ft-logout] .content-main .content--breadcrumb {
    display: none;
}
body.is--ctl-account.is--act-logout[data-ft-logout] .content-main--inner {
    padding: 0;
}
body.is--ctl-account.is--act-logout[data-ft-logout] .ft-logout__wrapper {
    float: none;
    width: 100%;
    margin: 0;
    padding: 32px 24px 40px;
}
body.is--ctl-account.is--act-logout[data-ft-logout] .ft-logout {
    float: none;
    width: 100%;
    max-width: 760px;
    margin: 0 auto;
    padding: 0;
}
body.is--ctl-account.is--act-logout[data-ft-logout] .ft-logout__card {
    width: 100%;
    margin: 0;
    padding: 32px 24px;
    border: 1px solid #dfe6e1;
    border-radius: 20px;
    background: #fff;
    text-align: center;
    box-shadow: 0 10px 28px rgba(31, 45, 36, .055);
}
body.is--ctl-account.is--act-logout[data-ft-logout] .ft-logout__mark {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin: 0 auto 18px;
    border: 1px solid #bed9c2;
    border-radius: 50%;
    background: #eef7ef;
    color: #2f6035;
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
    box-shadow: 0 0 0 6px #f7faf7;
}
body.is--ctl-account.is--act-logout[data-ft-logout] .ft-logout__card .panel--title {
    height: auto;
    margin: 0 0 12px;
    padding: 0;
    border: 0;
    color: #22292f;
    font-size: 32px;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -.025em;
    overflow-wrap: anywhere;
}
body.is--ctl-account.is--act-logout[data-ft-logout] .ft-logout__card .panel--body {
    margin: 0;
    padding: 0;
}
body.is--ctl-account.is--act-logout[data-ft-logout] .logout--text {
    max-width: 500px;
    margin: 0 auto;
    padding: 0;
    color: #59685f;
    font-size: 16px;
    line-height: 1.5;
}
body.is--ctl-account.is--act-logout[data-ft-logout] .ft-logout__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: center;
    gap: 12px;
    margin: 24px 0 0;
    padding: 0;
    border: 0;
    background: transparent;
}
body.is--ctl-account.is--act-logout[data-ft-logout] .ft-logout__actions .btn {
    position: static;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    float: none;
    min-height: 48px;
    max-width: 100%;
    margin: 0;
    padding: 13px 22px;
    border: 1px solid #2f6035;
    border-radius: 12px;
    background: #2f6035;
    background-image: none;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    white-space: normal;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 8px 18px rgba(47, 96, 53, .12);
}
body.is--ctl-account.is--act-logout[data-ft-logout] .ft-logout__actions .ft-logout__shop:hover {
    background: #244f2b;
}
body.is--ctl-account.is--act-logout[data-ft-logout] .ft-logout__actions .ft-logout__login {
    border-color: #d8e2da;
    background: #f5f8f5;
    color: #2f6035;
    box-shadow: none;
}
body.is--ctl-account.is--act-logout[data-ft-logout] .ft-logout__actions .ft-logout__login:hover {
    background: #eaf2eb;
}
body.is--ctl-account.is--act-logout[data-ft-logout] .ft-logout__actions .btn:focus-visible {
    outline: 2px solid #2f6035;
    outline-offset: 3px;
}
@media screen and (max-width: 767px) {
    body.is--ctl-account.is--act-logout[data-ft-logout] .ft-logout__wrapper {
        padding: 20px 12px 24px;
    }
    body.is--ctl-account.is--act-logout[data-ft-logout] .ft-logout__card {
        padding: 26px 18px 24px;
        border-radius: 16px;
    }
    body.is--ctl-account.is--act-logout[data-ft-logout] .ft-logout__card .panel--title {
        font-size: 28px;
    }
    body.is--ctl-account.is--act-logout[data-ft-logout] .ft-logout__actions {
        flex-direction: column;
        gap: 10px;
        margin-top: 20px;
    }
    body.is--ctl-account.is--act-logout[data-ft-logout] .ft-logout__actions .btn {
        width: 100%;
    }
}

/* Standalone account login. Never attach this marker to the checkout flow. */
body[data-ft-account-login],
body[data-ft-account-login] .page-wrap,
body[data-ft-account-login] .content-main {
    background: #f5f7f6;
}
body[data-ft-account-login] .content-main {
    min-height: 0;
    border: 0;
    box-shadow: none;
}
body[data-ft-account-login] .content-main--inner {
    padding: 0;
}
body[data-ft-account-login] .content-main .content--breadcrumb,
body[data-ft-account-login] .register--new-customer {
    display: none;
}
body[data-ft-account-login] .ft-account__wrapper {
    float: none;
    width: 100%;
    margin: 0;
    padding: 36px 24px 48px;
}
body[data-ft-account-login] .register--message,
body[data-ft-account-login] .register--login {
    float: none;
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
    padding: 0;
}
body[data-ft-account-login] .register--existing-customer {
    width: 100%;
    margin: 0;
    padding: 28px 28px 30px;
    border: 1px solid #dfe6e1;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(31, 45, 36, .055);
}
body[data-ft-account-login] .register--existing-customer > .panel--body,
body[data-ft-account-login] #login--form {
    margin: 0;
    padding: 0;
}
body[data-ft-account-login] .ft-account__mark {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin: 0 auto 16px;
    border: 1px solid #bed9c2;
    border-radius: 50%;
    background: #eef7ef;
    color: #2f6035;
    font-size: 23px;
    line-height: 1;
}
body[data-ft-account-login] .ft-account__title {
    height: auto;
    margin: 0 0 10px;
    padding: 0;
    border: 0;
    color: #22292f;
    font-size: 32px;
    font-weight: 800;
    line-height: 1.15;
    text-align: center;
    letter-spacing: -.025em;
}
body[data-ft-account-login] .register--login-description {
    margin: 0 0 24px;
    color: #59685f;
    font-size: 15px;
    line-height: 1.5;
    text-align: center;
}
body[data-ft-account-login] .register--login-email,
body[data-ft-account-login] .register--login-password {
    margin: 0 0 16px;
}
body[data-ft-account-login] .ft-account__label {
    display: block;
    margin: 0 0 7px;
    color: #374a3b;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
}
body[data-ft-account-login] input.register--field,
body[data-ft-account-login] input.register--login-field,
body[data-ft-account-login] .select-field,
body[data-ft-account-login] .select-field select {
    float: none;
    width: 100%;
    max-width: 100%;
    height: 48px;
    min-height: 48px;
    margin: 0;
    border-color: #dce4df;
    border-radius: 10px;
    background-color: #fff;
    color: #22292f;
    font-size: 16px;
    line-height: 1.3;
    box-shadow: none;
}
body[data-ft-account-login] input.register--field,
body[data-ft-account-login] input.register--login-field {
    padding: 10px 12px;
}
body[data-ft-account-login] input.register--field:focus,
body[data-ft-account-login] input.register--login-field:focus,
body[data-ft-account-login] .select-field select:focus {
    border-color: #4c8455;
    outline: none;
    box-shadow: 0 0 0 3px rgba(76, 132, 85, .13);
}
body[data-ft-account-login] input.register--field.has--error,
body[data-ft-account-login] input.register--login-field.has--error,
body[data-ft-account-login] .select-field select.has--error,
body[data-ft-account-login] input[aria-invalid="true"] {
    border-color: #b43a31;
}
body[data-ft-account-login] .register--login-lostpassword {
    margin: 0 0 18px;
    text-align: right;
}
body[data-ft-account-login] .register--login-lostpassword a {
    display: inline-block;
    padding: 5px 0;
    color: #346c3d;
    font-size: 14px;
    line-height: 1.5;
    text-decoration: underline;
}
body[data-ft-account-login] .register--login-action,
body[data-ft-account-login] .register--action {
    float: none;
    width: 100%;
    margin: 0;
    padding: 0;
}
body[data-ft-account-login] .register--login-btn,
body[data-ft-account-login] .register--submit,
body[data-ft-account-login] .ft-account__register-toggle {
    position: static;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    min-height: 52px;
    margin: 0;
    padding: 13px 18px;
    border: 1px solid #2f6035;
    border-radius: 11px;
    background: #2f6035;
    background-image: none;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.3;
    white-space: normal;
    text-align: center;
    box-shadow: 0 9px 20px rgba(47, 96, 53, .13);
}
body[data-ft-account-login] .register--login-btn:hover,
body[data-ft-account-login] .register--submit:hover {
    background: #244f2b;
}
body[data-ft-account-login] .ft-account__signup {
    padding-top: 22px;
    text-align: center;
}
body[data-ft-account-login] .ft-account__signup p {
    margin: 0 0 10px;
    color: #59685f;
    font-size: 15px;
}
body[data-ft-account-login] .ft-account__register-toggle {
    width: auto;
    min-height: 44px;
    padding: 11px 18px;
    border-color: #d8e2da;
    background: #fff;
    color: #2f6035;
    box-shadow: none;
}
body[data-ft-account-login] .ft-account__register-toggle:hover {
    background: #eaf2eb;
}
body[data-ft-account-login] .btn:focus-visible,
body[data-ft-account-login] .register--login-lostpassword a:focus-visible {
    outline: 2px solid #2f6035;
    outline-offset: 3px;
}
body[data-ft-account-login] #registration {
    float: none;
    width: 100%;
    max-width: 760px;
    margin: 24px auto 0;
    padding: 24px;
    border: 1px solid #dfe6e1;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(31, 45, 36, .055);
}
/* Override only the outer native mobile collapse state. Conditional company,
   shipping, state and captcha fields retain Shopware's visibility rules. */
body[data-ft-account-login] #registration[hidden] {
    display: none !important;
}
body[data-ft-account-login] #registration:not([hidden]) {
    display: block !important;
    height: auto !important;
    overflow: visible !important;
}
body[data-ft-account-login] .register--form,
body[data-ft-account-login] .register--form > .panel {
    float: none;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}
body[data-ft-account-login] .register--form .panel--title {
    margin: 0 0 12px;
    padding: 0;
    border: 0;
    color: #22292f;
    font-size: 20px;
    line-height: 1.3;
}
body[data-ft-account-login] .register--form .panel--body {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 24px;
    padding: 0;
}
body[data-ft-account-login] .register--form .panel--body > div {
    float: none;
    width: 100%;
    min-width: 0;
    margin: 0;
}
body[data-ft-account-login] .register--account-information,
body[data-ft-account-login] .register--birthdate,
body[data-ft-account-login] .register--street,
body[data-ft-account-login] .register--zip-city,
body[data-ft-account-login] .register--alt-shipping,
body[data-ft-account-login] .country-area-state-selection,
body[data-ft-account-login] .register--form .alert {
    grid-column-start: 1;
    grid-column-end: -1;
}
body[data-ft-account-login] .register--zip-city {
    display: grid;
    grid-template-columns: minmax(100px, 28%) minmax(0, 1fr);
    gap: 12px;
}
/* Native percentage widths must not shrink fields again inside the grid. */
body[data-ft-account-login] .register--zip-city > input {
    float: none !important;
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
}
body[data-ft-account-login] .register--zip-city:has(> .register--field-city:first-child) {
    grid-template-columns: minmax(0, 1fr) minmax(100px, 28%);
}
body[data-ft-account-login] .register--birthdate {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}
body[data-ft-account-login] .birthday--label {
    grid-column-start: 1;
    grid-column-end: -1;
    margin: 0;
}
body[data-ft-account-login] .register--birthdate .select-field {
    margin: 0;
}
body[data-ft-account-login] .register--alt-shipping {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid #e4eae6;
    border-radius: 10px;
    background: #fafcfb;
}
body[data-ft-account-login] .register--alt-shipping input {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    margin: 1px 0 0;
    accent-color: #2f6035;
}
body[data-ft-account-login] .register--password-description,
body[data-ft-account-login] .register--required-info {
    margin: 8px 0 16px;
    padding: 0;
    color: #59685f;
    font-size: 13px;
    line-height: 1.5;
}
body[data-ft-account-login] .register--advantages {
    float: none;
    width: 100%;
    margin: 24px 0 0;
    padding: 18px 0 0;
    border-top: 1px solid #e4eae6;
    color: #59685f;
    font-size: 14px;
}
body[data-ft-account-login] .register--advantages .panel--title {
    margin: 0 0 10px;
    padding: 0;
    font-size: 17px;
}
@media screen and (max-width: 767px) {
    body[data-ft-account-login] .ft-account__wrapper {
        padding: 20px 12px 28px;
    }
    body[data-ft-account-login] .register--existing-customer {
        padding: 24px 18px;
        border-radius: 16px;
    }
    body[data-ft-account-login] .ft-account__title {
        font-size: 28px;
    }
    body[data-ft-account-login] #registration {
        padding: 20px 16px;
        border-radius: 16px;
    }
    body[data-ft-account-login] .register--form .panel--body {
        grid-template-columns: minmax(0, 1fr);
    }
    body[data-ft-account-login] .register--field,
    body[data-ft-account-login] .register--login-field,
    body[data-ft-account-login] .select-field select {
        font-size: 16px !important;
    }
}

/* Native error messages: retain content, links, dismissal and hidden states. */
body[data-ft-checkout] .content-main .alert.is--error,
body[data-ft-account-login] .content-main .alert.is--error {
    box-sizing: border-box;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
    margin: 16px 0;
    padding: 16px;
    border: 1px solid #efccc8;
    border-radius: 14px;
    background: #fff4f2;
    color: #8f3029;
    font-size: 15px;
    line-height: 1.5;
    text-align: left;
    box-shadow: none;
}
body[data-ft-checkout] .content-main .alert.is--error:not(.is--hidden):not([hidden]),
body[data-ft-account-login] .content-main .alert.is--error:not(.is--hidden):not([hidden]) {
    display: flex;
}
body[data-ft-checkout] .content-main .alert.is--error::after,
body[data-ft-account-login] .content-main .alert.is--error::after {
    display: none;
    content: none;
}
body[data-ft-checkout] .content-main .alert.is--error .alert--icon,
body[data-ft-account-login] .content-main .alert.is--error .alert--icon {
    position: static;
    display: flex;
    flex: 0 0 28px;
    align-items: center;
    justify-content: center;
    float: none;
    width: 28px;
    height: 28px;
    margin: 0;
    padding: 0;
    border-radius: 50%;
    background: #fae5e3;
    color: #a3362d;
    font-size: 14px;
    line-height: 1;
}
body[data-ft-checkout] .content-main .alert.is--error .icon--element,
body[data-ft-account-login] .content-main .alert.is--error .icon--element {
    position: static;
    width: auto;
    margin: 0;
    font-size: 14px;
    line-height: 1;
}
body[data-ft-checkout] .content-main .alert.is--error .alert--content,
body[data-ft-account-login] .content-main .alert.is--error .alert--content {
    flex: 1 1 0%;
    float: none;
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 2px 0;
    color: inherit;
    overflow-wrap: anywhere;
}
body[data-ft-checkout] .content-main .alert.is--error .alert--list,
body[data-ft-account-login] .content-main .alert.is--error .alert--list {
    margin: 0;
    padding: 0;
}
body[data-ft-checkout] .content-main .alert.is--error .list--entry + .list--entry,
body[data-ft-account-login] .content-main .alert.is--error .list--entry + .list--entry {
    margin-top: 6px;
}
body[data-ft-checkout] .content-main .alert.is--error a,
body[data-ft-account-login] .content-main .alert.is--error a {
    color: inherit;
    text-decoration: underline;
}
body[data-ft-checkout] .content-main .alert.is--error a:focus-visible,
body[data-ft-account-login] .content-main .alert.is--error a:focus-visible {
    outline: 2px solid #8f3029;
    outline-offset: 3px;
}
body[data-ft-checkout] .content-main .alert.is--error .alert--close,
body[data-ft-account-login] .content-main .alert.is--error .alert--close {
    top: 16px;
    right: 12px;
    padding: 4px;
    text-decoration: none;
}
body[data-ft-checkout] .content-main .alert.is--error .alert--close ~ .alert--content,
body[data-ft-account-login] .content-main .alert.is--error .alert--close ~ .alert--content {
    padding-right: 24px;
}


/* 2.6.66 – Password reset in the account-card language. */
body[data-ft-account-password],
body[data-ft-account-password] .page-wrap,
body[data-ft-account-password] .content-main {
    background: #f5f7f6;
}
body[data-ft-account-password] .content-main {
    min-height: 0;
    border: 0;
    box-shadow: none;
}
body[data-ft-account-password] .content-main--inner {
    padding: 40px 24px 56px;
}
body[data-ft-account-password] .content-main .content--breadcrumb {
    display: none;
}
body[data-ft-account-password] .content--wrapper.ft-password__wrapper {
    float: none;
    width: 100%;
    margin: 0 !important;
    padding: 0;
}
body[data-ft-account-password] .account--password-reset,
body[data-ft-account-password] .account--password-new {
    float: none;
    width: 100%;
    max-width: 568px;
    margin: 0 auto;
    padding: 0;
}
body[data-ft-account-password] .password-reset--content,
body[data-ft-account-password] .password-new--content,
body[data-ft-account-password] .account--password-new.ft-password--invalid,
body[data-ft-account-password] .account--password-reset.ft-password--success {
    box-sizing: border-box;
    width: 100%;
    margin: 0 auto;
    padding: 28px 28px 30px;
    border: 1px solid #dfe6e1;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(31, 45, 36, .055);
}
body[data-ft-account-password] .password-reset--title,
body[data-ft-account-password] .ft-password__title {
    height: auto;
    margin: 0 0 10px;
    padding: 0;
    border: 0;
    color: #22292f;
    font-size: 30px;
    font-weight: 800;
    line-height: 1.15;
    text-align: center;
    letter-spacing: -.025em;
}
body[data-ft-account-password] .ft-password__mark {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin: 0 auto 16px;
    border-radius: 50%;
    background: #eaf2eb;
    color: #2f6035;
    font-size: 26px;
}
body[data-ft-account-password] .password-reset--form-content {
    margin: 0;
    padding: 0;
    text-align: left;
}
body[data-ft-account-password] .password-reset--form-content p {
    margin: 0 0 16px;
}
body[data-ft-account-password] .ft-password__copy {
    margin: 0 0 22px !important;
    color: #59685f;
    font-size: 15px;
    line-height: 1.55;
    text-align: center;
}
body[data-ft-account-password] .ft-password__label {
    display: block;
    margin: 0 0 7px;
    color: #374a3b;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
}
body[data-ft-account-password] .password-reset--input,
body[data-ft-account-password] .password-new--input:not([type="hidden"]) {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    height: 48px;
    min-height: 48px;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid #dce4df;
    border-radius: 10px;
    background: #fff;
    color: #22292f;
    font-size: 16px;
    line-height: 1.3;
    box-shadow: none;
}
body[data-ft-account-password] .password-reset--input:focus,
body[data-ft-account-password] .password-new--input:not([type="hidden"]):focus {
    border-color: #4c8455;
    outline: none;
    box-shadow: 0 0 0 3px rgba(76, 132, 85, .13);
}
body[data-ft-account-password] .password-reset--input.has--error,
body[data-ft-account-password] .password-new--input.has--error,
body[data-ft-account-password] .password-reset--input[aria-invalid="true"],
body[data-ft-account-password] .password-new--input:not([type="hidden"])[aria-invalid="true"] {
    border-color: #b43a31;
}
body[data-ft-account-password] .password-reset--captcha {
    margin: 4px 0 20px;
    text-align: left;
}
body[data-ft-account-password] .password-reset--form-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    margin: 22px 0 0;
    padding: 0;
}
body[data-ft-account-password] .password-reset--form-actions .btn,
body[data-ft-account-password] .ft-password__back {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: static;
    width: 100%;
    min-height: 50px;
    margin: 0;
    padding: 12px 18px;
    border-radius: 11px;
    background-image: none;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
    box-shadow: none;
}
body[data-ft-account-password] .password-reset--form-actions .ft-password__submit {
    order: 1;
    border: 1px solid #2f6035;
    background: #2f6035;
    color: #fff;
    box-shadow: 0 9px 20px rgba(47, 96, 53, .13);
}
body[data-ft-account-password] .password-reset--form-actions .ft-password__submit:hover {
    background: #244f2b;
}
body[data-ft-account-password] .password-reset--form-actions .ft-password__back {
    order: 2;
    border: 1px solid #d8e2da;
    background: #fff;
    color: #2f6035;
}
body[data-ft-account-password] .password-reset--form-actions .ft-password__back:hover,
body[data-ft-account-password] > .account--password-reset > .ft-password__back:hover {
    background: #eaf2eb;
}
body[data-ft-account-password] .account--error {
    width: 100%;
    margin: 0 0 14px;
}
body[data-ft-account-password] .password--success {
    margin: 0 0 18px;
}
body[data-ft-account-password] .account--password-reset.ft-password--success > .ft-password__back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 50px;
    padding: 12px 18px;
    border: 1px solid #d8e2da;
    border-radius: 11px;
    background: #fff;
    color: #2f6035;
    font-size: 15px;
    font-weight: 800;
    text-decoration: none;
}
body[data-ft-account-password] .content-main .alert.is--error {
    box-sizing: border-box;
    margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
    body[data-ft-account-password] .content-main--inner {
        padding: 24px 12px 40px;
    }
    body[data-ft-account-password] .password-reset--content,
    body[data-ft-account-password] .password-new--content,
    body[data-ft-account-password] .account--password-new.ft-password--invalid,
    body[data-ft-account-password] .account--password-reset.ft-password--success {
        padding: 24px 18px;
        border-radius: 16px;
    }
    body[data-ft-account-password] .password-reset--title,
    body[data-ft-account-password] .ft-password__title {
        font-size: 28px;
    }
    body[data-ft-account-password] .password-reset--input,
    body[data-ft-account-password] .password-new--input:not([type="hidden"]) {
        font-size: 16px !important;
    }
}

body[data-ft-account-password] .password-new--fields > div:not(.password-new--hash) {
    margin: 0 0 16px;
    text-align: left;
}
body[data-ft-account-password] .password-new--content .panel--body,
body[data-ft-account-password] .password-new--actions {
    padding: 0;
}
body[data-ft-account-password] .password-new--submit,
body[data-ft-account-password] .ft-password__retry {
    display: block;
    width: 100%;
    min-height: 50px;
    margin-top: 20px;
    border-radius: 11px;
    text-align: center;
}

/* 4.0.48: compact final review cards and the measured sticky-bar clearance. */
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .content--wrapper.ft-checkout--action {
    padding-bottom: 12px;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__empty-order-actions[hidden] {
    display: none !important;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .information--panel-address .panel--body .billing--panel {
    float: none;
    width: 100%;
    margin: 0;
    padding: 0;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .information--panel-wrapper .address--actions-change {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .information--panel-wrapper .choose-different-address {
    margin: 0;
}
@media screen and (max-width: 767px) {
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .information--panel-wrapper {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
        width: 100%;
        margin: 20px 0;
        padding: 0;
    }
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .information--panel-wrapper::before,
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .information--panel-wrapper::after {
        display: none;
        content: none;
    }
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .information--panel-wrapper .information--panel-item {
        float: none;
        width: 100%;
        min-width: 0;
        margin: 0;
        padding: 0;
    }
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .information--panel-wrapper .information--panel {
        width: 100%;
        height: auto !important;
        min-height: 0;
        margin: 0;
        padding: 0;
    }
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .information--panel-wrapper .panel--title {
        margin: 0;
        padding: 16px 16px 10px;
        border: 0;
        font-size: 16px;
        line-height: 1.3;
    }
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .information--panel-wrapper .panel--body {
        height: auto !important;
        min-height: 0;
        padding: 0 16px 12px;
        line-height: 1.5;
        overflow-wrap: anywhere;
    }
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .information--panel-wrapper .panel--actions {
        position: static;
        height: auto !important;
        min-height: 0;
        margin: 0;
        padding: 0 16px 16px;
    }
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .information--panel-wrapper .address--actions-change {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .information--panel-wrapper .address--actions-change .btn {
        width: 100%;
    }
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .information--panel-wrapper .panel--actions > a:not(.btn) {
        display: inline-block;
        margin-top: 10px;
        font-size: 14px;
        line-height: 1.4;
    }
}
@media screen and (min-width: 768px) {
    body.is--ctl-checkout.is--act-confirm.is--minimal-header .header-main .btn--back-top-shop {
        display: none !important;
    }
    body.is--ctl-checkout.is--act-confirm.is--minimal-header .header-main .header--navigation {
        padding-top: 20px;
        padding-bottom: 20px;
    }
    body.is--ctl-checkout.is--act-confirm.is--minimal-header .header-main .logo-main {
        padding: 0 !important;
    }
    body.is--ctl-checkout.is--act-confirm.is--minimal-header .header-main .logo--supportinfo {
        display: block;
        float: none;
        width: 100%;
        margin: 12px auto 0;
        padding: 0;
        text-align: center;
    }
}

/* 4.0.49: review contact, specific native edit links and clearer tax detail. */
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-contact {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 12px;
    margin: -4px 0 16px;
    padding: 0 4px;
    color: #53615a;
    font-size: 14px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-contact[hidden] {
    display: none;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-contact strong {
    min-width: 0;
    color: #22292f;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-contact a,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-edit {
    color: #2f6035;
    font-size: 14px;
    line-height: 1.5;
    text-decoration: underline;
    text-underline-offset: 3px;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-edit {
    display: block;
    width: fit-content;
    max-width: 100%;
    margin-top: 5px;
    padding: 4px 0;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__review-tax-detail {
    color: #53615a !important;
    font-size: 13px;
    line-height: 1.5;
}
body.is--ctl-checkout.is--act-shippingpayment[data-ft-checkout] .ft-checkout__edit-target {
    scroll-margin-top: 24px;
}
@media screen and (min-width: 768px) {
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .ft-checkout__review-product {
        min-height: 112px;
        padding: 12px 14px;
    }
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .information--panel-wrapper {
        gap: 16px;
        margin: 20px 0 16px;
    }
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .information--panel-wrapper .panel--title {
        padding: 16px 18px 10px;
    }
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .information--panel-wrapper .panel--body {
        padding: 0 18px 14px;
        line-height: 1.5;
    }
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .confirm--content .information--panel-wrapper .panel--actions {
        padding: 0 18px 16px;
    }
    body.is--ctl-checkout.is--act-confirm.is--minimal-header .header-main .header--navigation {
        padding-top: 16px;
        padding-bottom: 16px;
    }
}

/* 4.0.50: native final action inside the consent card. */
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__terms-order-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding: 0;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__terms-order-card::before,
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__terms-order-card::after {
    display: none;
    content: none;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__terms-order-card > :not(.ft-checkout__order-action-home) {
    min-width: 0;
    grid-column: 1;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__terms-order-card > .ft-checkout__order-action-home {
    align-self: center;
    width: 100%;
    margin: 0;
    padding: 0 14px 14px;
}
body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__terms-order-card > .ft-checkout__order-action-home .ft-checkout__order-submit {
    width: 100%;
}
@media screen and (min-width: 768px) {
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__terms-order-card {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-rows: auto auto;
        column-gap: 16px;
    }
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__terms-order-card > .ft-checkout__order-action-home {
        grid-column: 2;
        grid-row-start: 1;
        grid-row-end: span 2;
        width: auto;
        padding: 14px 14px 14px 0;
    }
    body.is--ctl-checkout.is--act-confirm[data-ft-checkout] .ft-checkout__terms-order-card > .ft-checkout__order-action-home .ft-checkout__order-submit {
        width: auto;
        max-width: 300px;
    }
}
