/**
 * WooCommerce 11 block cart + classic checkout layout fixes (parity with ft-dev on WC 10).
 */

/* WC 11 @container rules on the cart block fight theme media queries — disable like a normal block wrapper */
.woocommerce-cart .wp-block-woocommerce-cart {
    container-type: normal !important;
}

/* Neutralize WC 11 grid line-item layout (theme uses flex rows from media-theme-2.css) */
.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row {
    grid-template-columns: unset !important;
    column-gap: unset !important;
}

.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row > td,
.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image,
.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product,
.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity,
.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total {
    grid-column: unset !important;
    grid-row: unset !important;
    justify-self: unset !important;
}

.woocommerce-cart .wc-block-cart.is-medium table.wc-block-cart-items .wc-block-cart-items__header,
.woocommerce-cart .wc-block-cart.is-small table.wc-block-cart-items .wc-block-cart-items__header,
.woocommerce-cart .wc-block-cart.is-mobile table.wc-block-cart-items .wc-block-cart-items__header {
    display: none !important;
}

.woocommerce-cart .is-large.wc-block-cart .wc-block-cart-items td:not(.wc-block-cart-item__image){
    border-bottom: none;
}

.woocommerce-cart .wc-block-components-totals-shipping .wc-block-components-totals-item .wc-block-components-totals-item__label{
    line-height: 1;
}

body.woocommerce-cart.ft-cart-parity-applied table.wc-block-cart-items .wc-block-cart-items__row:last-child{
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
}

.woocommerce-cart .wc-block-cart-item__prices{
    font-size: 18px !important;
}

.wc-block-components-sidebar-layout{
    column-gap: 0;
}

@media (max-width: 782px) {
    .woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__remove-link {
        display: inline-flex !important;
    }
}

@media (min-width: 783px) and (max-width: 1201px) {
    .woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__wrap {
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 0 !important;
    }
}

@media (max-width: 1201px) {
    .woocommerce-cart .wc-block-components-main .wc-block-cart-items tbody tr.wc-block-cart-items__row {
        display: flex !important;
        gap: 18px;
        border-bottom: 1px solid #ddd;
        margin: 0;
        padding: 8px 0;
        min-height: 0;
        align-items: center;
    }

    .woocommerce-cart .wc-block-cart-items .wc-block-cart-items__header .wc-block-cart-items__header-product {
        width: 300px !important;
    }

    .woocommerce-cart .wc-block-cart-item__prices{
        justify-content: center;
        width: 265px;
    }

    body.woocommerce-cart .wc-block-cart-item__image {
        width: 96px !important;
    }

    body.woocommerce-cart .wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name {
        width: 240px!important;
    }

    body.woocommerce-cart .wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name{
        padding-left: 30px !important;
    }

    body.woocommerce-cart .wc-block-cart-item__quantity{
        margin-left: 0 !important;
    }

    .woocommerce-cart .wc-block-components-main .wc-block-cart-items tbody tr.wc-block-cart-items__row:last-child {
        border-bottom: none;
    }

    .woocommerce-cart table.wc-block-cart-items td.wc-block-cart-item__image,
    .woocommerce-cart table.wc-block-cart-items td.wc-block-cart-item__product {
        display: block !important;
        width: auto !important;
        padding: 0 !important;
        border: none !important;
    }
}

/* --- Cart wide desktop: sidebar 65/35 + table (cart-theme uses display:flex on rows) --- */
@media (min-width: 1202px) {
    body.woocommerce-cart.ft-cart-parity-applied .wc-block-cart.wc-block-components-sidebar-layout {
        flex-direction: row;
        flex-wrap: nowrap;
    }

    body.woocommerce-cart.ft-cart-parity-applied .wc-block-cart .wc-block-components-main {
        width: 65% !important;
        max-width: 65%;
        padding-right: 24px !important;
        box-sizing: border-box;
    }

    body.woocommerce-cart.ft-cart-parity-applied .wc-block-cart .wc-block-components-sidebar {
        width: 35% !important;
        max-width: 35%;
        flex: 0 0 35%;
        box-sizing: border-box;
    }

    .wc-block-cart__main .wc-block-cart-items th{
        padding: 8px 16px 8px 0;
        line-height: 1;
    }

    body.woocommerce-cart.ft-cart-parity-applied table.wc-block-cart-items,
    body.woocommerce-cart.ft-cart-parity-applied .wc-block-components-main .wc-block-cart-items {
        display: flex !important;
        flex-direction: column!important;
        width: 100%;
    }

    body.woocommerce-cart.ft-cart-parity-applied table.wc-block-cart-items tbody {
        display: table-row-group !important;
    }

    body.woocommerce-cart.ft-cart-parity-applied table.wc-block-cart-items .wc-block-cart-items__row {
        width: 100%;
        min-height: 90px;
        display: flex !important;
        align-items: center;
        margin: 18px 0 9px;
        border-bottom: 1px solid #ddd;
        padding-bottom: 15px;
    }

    body.woocommerce-cart.ft-cart-parity-applied table.wc-block-cart-items td {
        display: table-cell !important;
        vertical-align: middle;
    }

    body.woocommerce-cart.ft-cart-parity-applied .wc-block-cart-item__product {
        width: auto;
    }

    body.woocommerce-cart.ft-cart-parity-applied table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__wrap {
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 0;
        width: 100%;
    }
}

@media (min-width: 1202px) {
    body.woocommerce-cart.ft-cart-parity-applied table.wc-block-cart-items .wc-block-cart-item__wrap .wc-block-components-product-name {
        display: block;
        flex: 0 0 246px;
        width: 246px;
        max-width: 246px;
        flex-shrink: 0;
        font-weight: 500;
        font-size: 16px;
        line-height: 150%;
        color: #0b0b0b;
        padding-left: 18px;
        padding-right: 18px;
        margin-bottom: 0;
    }

    body.woocommerce-cart.ft-cart-parity-applied table.wc-block-cart-items .wc-block-cart-item__wrap .wc-block-cart-item__prices {
        flex: 0 0 170px;
        width: 170px;
        max-width: 170px;
        font-weight: 500;
        font-size: 18px;
        line-height: 111%;
        text-align: center;
        color: rgba(0, 0, 0, 0.85);
        justify-content: center;
    }

    body.woocommerce-cart.ft-cart-parity-applied table.wc-block-cart-items .wc-block-cart-item__wrap .wc-block-cart-item__prices .wc-block-components-product-price {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    body.woocommerce-cart.ft-cart-parity-applied table.wc-block-cart-items .wc-block-cart-item__wrap .wc-block-cart-item__quantity {
        flex: 0 0 250px;
        width: 250px !important;
        max-width: 250px;
        gap: 0;
        padding-left: 18px;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 0;
    }
}

@media (max-width: 1399px){
    body.woocommerce-cart.ft-cart-parity-applied table.wc-block-cart-items .wc-block-cart-item__wrap .wc-block-components-product-name {
        flex: 0 0 216px;
        width: 216px;
        max-width: 216px;
    }
    body.woocommerce-cart.ft-cart-parity-applied table.wc-block-cart-items .wc-block-cart-item__wrap .wc-block-cart-item__quantity {
        flex: 0 0 180px;
        width: 180px !important;
        max-width: 180px;
    }
}

@media (max-width: 1201px){
    .woocommerce-cart .wc-block-components-main .wc-block-cart-items {
        padding: 24px 14px;
        margin-bottom: 40px;
    }
    .is-large.wc-block-cart .wc-block-cart-items, 
    .is-large.wc-block-cart .wc-block-components-sidebar, 
    .wc-block-components-sidebar-layout .wc-block-components-main {
        width: 100% !important;
    }

    .woocommerce-cart table.wc-block-cart-items td.wc-block-cart-item__image{
        width: 80px !important;
    }
}

@media (max-width: 1199px){
    .woocommerce-cart .wc-block-cart .wc-block-components-sidebar .wc-block-cart__totals-title {
        font-size: 24px !important;
        text-transform: none !important;
        font-family: 'Helvetica Neue', sans-serif !important;
    }

    .woocommerce-cart .wc-block-components-sidebar{
        padding: 18px !important;
    }
}

@media only screen and (max-width: 991px){
    .woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__header, .woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__header *{
        display: none;
    }

    body.woocommerce-cart .wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name {
        padding: 0;
    }

    .woocommerce-cart .wc-block-components-main .wc-block-cart-items tbody tr td a {
        font-size: 14px !important;
        font-weight: 600 !important;
        width: 238px !important;
        height: 100%;
    }

    .woocommerce-cart .wc-block-cart-item__prices {
        width: 120px;
    }

    html body.woocommerce-cart .wc-block-cart-item__quantity {
        width: 216px !important;
        padding-left: 30px;
    }

    .wc-block-components-sidebar-layout.wc-block-cart {
        margin-bottom: 3em !important;
    }

    html body.woocommerce-cart .wc-block-components-sidebar-layout{
        display: block;
    }

    html body.woocommerce-cart .wc-block-components-sidebar {
        flex: unset !important;
        width: unset !important;
    }

    .editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__wrap, table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__wrap{
        flex-direction: unset !important;
        align-items: center;
    }
}

@media only screen and (max-width: 767px) {
    .woocommerce-cart .wc-block-components-main .wc-block-cart-items tbody tr.wc-block-cart-items__row {
        flex-direction: column !important;
        gap: 0 !important;
    }

    .woocommerce-cart .wc-block-components-main .wc-block-cart-items tbody tr.wc-block-cart-items__row{
        align-items: flex-start;
    }

    .wc-block-components-sidebar{
        width: 100% !important; 
    }

    html body.woocommerce-cart table.wc-block-cart-items td.wc-block-cart-item__image {
        width: 80px !important;
    }

    .woocommerce-cart .wc-block-components-main .wc-block-cart-items {
        padding: 12px;
    }

    .is-medium table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product, .is-mobile table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product, .is-small table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product{
        width: 100% !important;
    }

    .is-medium table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity{
        align-self: flex-end;
    }

    .woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__wrap {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0 !important;
    }

    .woocommerce-cart .wc-block-cart.is-small table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity,
    .woocommerce-cart .wc-block-cart.is-mobile table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity {
        order: 2 !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        justify-content: flex-end !important;
        gap: 22px !important;
        position: relative !important;
        padding-left: 0 !important;
        margin-left: 0 !important;
    }

    .woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices {
        order: 4 !important;
        width: 100% !important;
        max-width: none !important;
        display: flex !important;
        justify-content: flex-end !important;
        position: relative !important;
        margin-top: 14px !important;
        text-align: right !important;
    }

    .woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices .wc-block-components-product-price {
        justify-content: flex-end !important;
    }

    :lang(en) table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices::after,
    :lang(en-US) table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices::after {
        content: "Price";
    }
}

@media only screen and (max-width: 551px) {
    html body.woocommerce-cart table.wc-block-cart-items td.wc-block-cart-item__image {
        width: 64px !important;
    }

    .woocommerce-cart .wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__wrap .wc-block-components-product-name{
        margin-top: 8px;
    }

    .is-mobile table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity::after{
        padding-left: 0 !important;
    }

    .woocommerce-cart .wc-block-cart-item__quantity .wc-block-components-quantity-selector:where(:has(input:not([type=hidden]))){
        margin-right: 18px !important;
    }
}

:lang(en) .is-small table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity::after,
:lang(en) .is-mobile table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity::after,
:lang(en-US) .is-small table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity::after,
:lang(en-US) .is-mobile table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity::after {
    content: "Quantity";
}

.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap .wc-block-components-product-metadata {
    display: none !important;
}

.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__header .wc-block-cart-items__header-image {
    width: 346px;
    text-align: left;
    padding-left: 14px;
}

.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__header .wc-block-cart-items__header-product {
    width: 170px;
    line-height: 0.5;
    display: flex;
    justify-content: center;
}

.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__header .wc-block-cart-items__header-total {
    width: 250px;
}

.woocommerce-cart table.wc-block-cart-items td.wc-block-cart-item__total,
.woocommerce-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper {
    display: none !important;
}

/* WC 11: default trash SVG + theme ::before/::after = duplicate icons */
.woocommerce-cart .wc-block-cart-item__remove-link svg,
.woocommerce-cart .wc-block-cart-item__remove-link .wc-block-components-button__icon {
    display: none !important;
}

/* WC 11: override ft-dev cart-theme quantity remove-link ::after (kept in cart-theme for WC ≤10) */
.woocommerce-cart .wc-block-cart-item__quantity .wc-block-cart-item__remove-link::after {
    color: transparent;
    left: auto;
}

.woocommerce-cart .wc-block-cart-item__save-for-later {
    display: none !important;
}

/* WC 11 wraps qty controls in a bordered box — ft uses separate round +/- buttons */
.woocommerce-cart .wc-block-cart-item__quantity .wc-block-components-quantity-selector:where(:has(input:not([type=hidden]))) {
    border: none !important;
    border-radius: 0 !important;
    width: 116px !important;
    background: transparent !important;
}

.woocommerce-cart .wc-block-cart-item__quantity .wc-block-components-quantity-selector__button {
    border: 1px solid #0b0b0b !important;
    border-radius: 50% !important;
}

.woocommerce-cart .wc-block-cart-item__quantity .wc-block-components-quantity-selector .wc-block-components-quantity-selector__input {
    font-size: 14px;
    font-weight: 700;
}

/* No sale — hide empty del so price is not struck through */
.woocommerce-cart .wc-block-cart-item__prices:not(:has(ins)) del {
    display: none !important;
}

/* Table header typography like ft-dev (WC 11 defaults to uppercase / smaller preset) */
.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__header,
.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__header * {
    font-weight: 400;
    font-size: 14px;
    letter-spacing: -0.02em;
    color: rgba(0, 0, 0, 0.7);
    text-transform: none;
}

/* Header "Details" is screen-reader-only in WC 11 — keep ft price column label hacks */
.woocommerce-cart .wc-block-cart-items .wc-block-cart-items__header .wc-block-cart-items__header-product span.screen-reader-text {
    border: 0;
    clip: auto !important;
    clip-path: none !important;
    height: auto;
    margin: 0;
    overflow: visible;
    padding: 0;
    position: relative;
    width: auto;
    word-wrap: normal !important;
}

.woocommerce-cart .wc-block-cart.is-large .wc-block-cart__totals-title {
    text-transform: uppercase;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    color: inherit;
    display: block;
    font-family: inherit;
    font-style: inherit;
    letter-spacing: inherit;
    margin: 0;
    padding: 8px 16px 8px 0;
    text-align: left;
    text-decoration: inherit;
    text-transform: uppercase;
    vertical-align: baseline;
    line-height: 1;
    margin-bottom: 10px;
    font-size: 20px;
    font-weight: 500;
}

.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{
    line-height: 1;
    font-weight: 700;
}

body.woocommerce-cart .wc-block-components-totals-wrapper .wc-block-components-totals-item.wc-block-components-totals-footer-item{
    margin-bottom: -5px;
}

.wc-block-components-sidebar-layout.wc-block-cart{
    margin-bottom: 6em;
}

.wc-block-components-sidebar-layout.wc-block-cart__sidebar{
    flex: 0 0 35%;
    width: 35%;
}

/* --- Checkout: field order (CSS grid order backup) --- */
.woocommerce-checkout .woocommerce-billing-fields .woocommerce-billing-fields__field-wrapper {
    display: grid;
}

.woocommerce-checkout #billing_first_name_field {
    order: 10;
}

.woocommerce-checkout #billing_last_name_field {
    order: 20;
}

.woocommerce-checkout #billing_phone_field {
    order: 25;
}

.woocommerce-checkout #billing_email_field {
    order: 26;
}

.woocommerce-checkout #billing_country_field {
    order: 40;
}

.woocommerce-checkout #billing_company_field {
    order: 45;
}

.woocommerce-checkout #billing_address_1_field {
    order: 50;
}

.woocommerce-checkout #billing_address_2_field {
    order: 55;
}

.woocommerce-checkout #billing_city_field {
    order: 70;
}

.woocommerce-checkout #billing_state_field {
    order: 75;
}

.woocommerce-checkout #billing_postcode_field {
    order: 80;
}

/* --- Checkout: billing grid includes div.form-row (WC 11+) --- */
.woocommerce-checkout
    .woocommerce-billing-fields
    .woocommerce-billing-fields__field-wrapper
    .form-row,
.woocommerce-checkout #mrkv_ua_shipping_nova-poshta-shipping-info .form-row,
.woocommerce-checkout #mrkv_ua_shipping_nova-global_address-shipping-info .form-row {
    display: flex;
    flex-direction: column;
    gap: 4px;
    max-width: 100%;
    margin-bottom: 0;
}

.woocommerce-checkout
    .woocommerce-billing-fields
    .woocommerce-billing-fields__field-wrapper
    .form-row
    span,
.woocommerce-checkout
    .woocommerce-billing-fields
    .woocommerce-billing-fields__field-wrapper
    .form-row
    .woocommerce-input-wrapper {
    height: 46px;
    border-color: rgba(30, 33, 38, 0.2);
    border-width: 2px;
}

