/* Fluxmart cart styles. Loaded only on cart contexts. */
.woocommerce-cart .fm-cart-layout {
  display: grid;
    gap: calc(var(--fm-section-space-mobile) * 0.8);
    align-items: start;
}
.woocommerce-cart .fm-woo-table-card {
    overflow: hidden;
  }
.woocommerce-cart {
    --fm-cart-control-h: var(--fm-control-height);
  }
.fm-cart-actions {
  display: grid;
    gap: 0.85rem 1rem;
}
.fm-cart-actions__coupon {
  display: grid;
  min-width: 0px;
  align-items: center;
    gap: 0.9rem;
}
.fm-cart-actions__coupon-field {
    min-width: 0;
    max-width: 27.5rem;
  }
@media (min-width: 768px) {
    .fm-cart-actions {
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: center;
    }

    .fm-cart-actions__coupon {
      grid-template-columns: minmax(12rem, 27.5rem) auto;
    }

    .fm-cart-actions__submit {
      justify-self: end;
    }
  }
.woocommerce-cart .woocommerce-cart-form,
  .woocommerce-cart .cart-collaterals {
    min-width: 0;
  }
.woocommerce-cart .fm-cart-table {
    width: 100%;
    margin: 0;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid var(--fm-border);
    border-radius: var(--fm-radius-lg);
    overflow: hidden;
    background: var(--fm-white);
    table-layout: auto;
    box-shadow: var(--fm-shadow-lg);
  }
.woocommerce-cart .fm-cart-table thead tr {
    background: var(--fm-bg);
  }
.woocommerce-cart .fm-cart-table th {
    padding: var(--fm-card-padding-sm) var(--fm-card-padding);
    font-size: var(--fm-type-caption);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--fm-muted);
    text-align: left;
    border: none;
    border-bottom: 1px solid var(--fm-border);
    white-space: nowrap;
  }
.woocommerce-cart .fm-cart-table td {
    padding: calc(var(--fm-card-padding) + 2px) var(--fm-card-padding);
    border: none;
    border-bottom: 1px solid var(--fm-border);
    vertical-align: middle;
    background: var(--fm-white);
  }
.woocommerce-cart .fm-cart-table tbody .woocommerce-cart-form__cart-item:nth-child(odd) td {
    background: var(--fm-white);
  }
.woocommerce-cart .fm-cart-table tbody .woocommerce-cart-form__cart-item:nth-child(even) td {
    background: color-mix(in srgb, var(--fm-bg) 58%, white 42%);
  }
.woocommerce-cart .fm-cart-table tbody tr:last-child td {
    border-bottom: none;
  }
.woocommerce-cart .fm-cart-table .product-name {
    width: 99%;
  }
.woocommerce-cart .fm-cart-table .product-price,
  .woocommerce-cart .fm-cart-table .product-quantity,
  .woocommerce-cart .fm-cart-table .product-subtotal {
    width: 1%;
    min-width: 112px;
    white-space: nowrap;
  }
.woocommerce-cart .fm-cart-table th.product-price,
  .woocommerce-cart .fm-cart-table td.product-price {
    text-align: right;
  }
.woocommerce-cart .fm-cart-table th.product-quantity,
  .woocommerce-cart .fm-cart-table td.product-quantity {
    text-align: center;
  }
.woocommerce-cart .fm-cart-table th.product-subtotal {
    text-align: right;
  }
.woocommerce-cart .fm-cart-item__product {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: calc(var(--fm-card-padding-sm) + 6px);
    align-items: center;
    min-width: 0;
  }
.woocommerce-cart .fm-cart-item__thumbnail {
    position: relative;
    width: 72px;
    flex-shrink: 0;
  }
.woocommerce-cart .fm-cart-item__thumbnail img {
    width: 72px !important;
    height: 72px !important;
    -o-object-fit: contain;
       object-fit: contain;
    border-radius: var(--fm-radius);
    background: color-mix(in srgb, var(--fm-primary) 5%, var(--fm-bg) 72%, var(--fm-white) 23%);
    padding: 6px;
    border: 1px solid color-mix(in srgb, var(--fm-primary) 14%, var(--fm-border) 86%);
    display: block;
    margin: 0 auto;
    transition: transform 0.3s ease;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
  }
.woocommerce-cart .fm-cart-item__thumbnail:hover img {
    transform: scale(1.02);
  }
.woocommerce-cart .fm-cart-item__remove {
    position: absolute;
    top: -6px;
    left: -6px;
    z-index: 2;
  }
.woocommerce-cart .fm-cart-item__remove .remove {
  text-decoration-line: none;
  transition: all 0.2s ease;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 26px !important;
    height: 26px !important;
    border-radius: 50% !important;
    background: var(--fm-text) !important;
    border: 2px solid var(--fm-white) !important;
    color: var(--fm-white) !important;
    font-size: 14px !important;
    line-height: 1;
    box-shadow: var(--fm-shadow-md) !important;
}
.woocommerce-cart .fm-cart-item__remove .remove:hover {
    background: var(--fm-primary) !important;
    transform: scale(1.15) !important;
    border-color: var(--fm-white) !important;
  }
.woocommerce-cart .fm-cart-item__content > a,
  .woocommerce-cart .fm-cart-item__content .product-name a {
    display: block;
    font-size: var(--fm-type-small);
    font-weight: 600;
    color: var(--fm-text);
    text-decoration: none;
    line-height: 1.34;
    overflow-wrap: anywhere;
    transition: color var(--fm-ease);
  }
.woocommerce-cart .fm-cart-item__content > a:hover,
  .woocommerce-cart .fm-cart-item__content .product-name a:hover {
    color: var(--fm-primary);
  }
.woocommerce-cart .fm-cart-item__content .variation,
  .woocommerce-cart .fm-cart-item__content .wc-item-meta {
    margin-top: calc(var(--fm-card-padding-sm) * 0.75);
    font-size: var(--fm-type-caption);
    color: var(--fm-muted);
    line-height: 1.55;
  }
.woocommerce-cart .fm-cart-item__content .\!variation {
    margin-top: calc(var(--fm-card-padding-sm) * 0.75) !important;
    font-size: var(--fm-type-caption) !important;
    color: var(--fm-muted) !important;
    line-height: 1.55 !important;
  }
.woocommerce-cart .fm-cart-item__content .variation p,
  .woocommerce-cart .fm-cart-item__content .wc-item-meta p {
    margin: 0;
  }
.woocommerce-cart .fm-cart-item__content .\!variation p {
    margin: 0 !important;
  }
.woocommerce-cart .fm-cart-table td.product-price,
  .woocommerce-cart .fm-cart-table td.product-subtotal {
    font-size: var(--fm-type-small);
    font-weight: 600;
    color: var(--fm-text);
    white-space: nowrap;
  }
.woocommerce-cart .fm-cart-table td.product-subtotal {
    text-align: right;
  }
.woocommerce-cart .fm-cart-table .product-quantity .quantity {
    margin: 0 auto;
  }
/* Shared cart form control base */
.woocommerce-cart .fm-cart-table .product-quantity .qty,
  .woocommerce-cart .coupon #coupon_code,
  .woocommerce-cart .coupon .button,
  .woocommerce-cart .actions .button {
    min-height: var(--fm-cart-control-h) !important;
    border-radius: var(--fm-radius) !important;
    color: var(--fm-text) !important;
    background: var(--fm-white) !important;
    box-shadow: var(--fm-shadow-md) !important;
  }
.woocommerce-cart .fm-cart-table .product-quantity .qty {
    width: 58px !important;
    height: var(--fm-cart-control-h) !important;
    padding: 0 8px !important;
    border: 1.5px solid var(--fm-border) !important;
    font-size: var(--fm-type-small) !important;
    font-weight: 600 !important;
    text-align: center !important;
    outline: none !important;
    -webkit-appearance: textfield;
            appearance: textfield;
    -moz-appearance: textfield;
  }
.woocommerce-cart .fm-cart-table .product-quantity .qty::-webkit-outer-spin-button,
  .woocommerce-cart .fm-cart-table .product-quantity .qty::-webkit-inner-spin-button {
    margin: 0;
    -webkit-appearance: none;
  }
.woocommerce-cart .fm-cart-table td.actions {
    padding: var(--fm-card-padding) !important;
    background: var(--fm-bg) !important;
    width: 100% !important;
    display: table-cell !important;
  }
.woocommerce-cart .actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--fm-card-padding);
    flex-wrap: wrap;
  }
.woocommerce-cart .coupon {
    display: flex;
    align-items: center;
    gap: var(--fm-card-padding-sm);
    flex-wrap: nowrap;
  }
.woocommerce-cart .coupon label {
    display: none;
  }
.fm-cart-actions__notice-slot:empty {
    display: none;
  }
.fm-cart-actions__notice-slot .coupon-error-notice {
    margin-top: calc(var(--fm-form-gap) * 0.3);
  }
.woocommerce-cart td.actions .coupon-error-notice {
    margin: 0;
    text-align: left;
    color: var(--fm-color-danger);
    font-size: var(--fm-type-body-sm);
    line-height: 1.5;
  }
.woocommerce-cart td.actions #coupon_code.has-error {
    border-color: var(--fm-color-danger) !important;
  }
.woocommerce-cart .coupon #coupon_code {
    width: 285px !important;
    padding: 0 var(--fm-card-padding) !important;
    border: 1.5px solid var(--fm-border) !important;
    font-size: var(--fm-type-body-sm) !important;
    outline: none !important;
  }
.woocommerce-cart .coupon #coupon_code:focus,
  .woocommerce-cart .product-quantity .qty:focus {
    border-color: var(--fm-primary) !important;
  }
.woocommerce-cart .coupon .button,
  .woocommerce-cart .actions .button {
    height: var(--fm-cart-control-h) !important;
    padding: 0 30px !important;
    border: 1px solid var(--fm-border) !important;
    font-size: var(--fm-type-button) !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em !important;
    cursor: pointer !important;
    transition: background var(--fm-ease), color var(--fm-ease), border-color var(--fm-ease), transform var(--fm-ease), box-shadow var(--fm-ease) !important;
    font-family: var(--fm-font-body) !important;
  }
.woocommerce-cart .coupon .button:hover,
  .woocommerce-cart .actions .button:hover {
    background: color-mix(in srgb, var(--fm-primary) 8%, var(--fm-white) 92%) !important;
    border-color: var(--fm-primary) !important;
    color: var(--fm-primary-dark) !important;
    transform: translateY(-1px) !important;
  }
.woocommerce-cart .actions button[name="update_cart"] {
    border: 1px solid var(--fm-border) !important;
    opacity: 1 !important;
    cursor: default !important;
  }
.woocommerce-cart .actions button[name="update_cart"]:not([disabled]):hover {
    background: color-mix(in srgb, var(--fm-primary) 8%, var(--fm-white) 92%) !important;
    color: var(--fm-primary-dark) !important;
    border-color: var(--fm-primary) !important;
    cursor: pointer !important;
  }
.woocommerce-cart .cart-collaterals {
    width: 100%;
    float: none !important;
  }
.woocommerce .cart-collaterals .cart_totals,
  .woocommerce-page .cart-collaterals .cart_totals {
    float: none;
    width: 100% !important;
  }
@media (min-width: 1024px) {
    .woocommerce-cart .cart-collaterals {
      grid-column: 2;
    }
  }
.woocommerce-cart .cart_totals {
    width: 100% !important;
    max-width: 100%;
    margin: 0 !important;
    background: var(--fm-white);
    border: 1px solid var(--fm-border);
    border-top: 3px solid var(--fm-primary) !important;
    border-radius: var(--fm-radius-lg);
    overflow: hidden;
    position: sticky;
    top: 100px;
    box-shadow: 0 16px 34px color-mix(in srgb, var(--fm-text) 8%, transparent);
  }
.woocommerce-cart .cart_totals h2 {
    margin: 0;
    padding: 1rem var(--fm-card-padding);
    font-family: var(--fm-font-body);
    font-size: var(--fm-type-caption);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--fm-muted);
    background: var(--fm-bg);
    border-bottom: 1px solid var(--fm-border);
  }
.woocommerce-cart .cart_totals table,
  .woocommerce-cart .cart_totals .shop_table {
    width: 100%;
    border-collapse: collapse;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
.woocommerce-cart .cart_totals .shop_table th,
  .woocommerce-cart .cart_totals .shop_table td {
    padding: var(--fm-card-padding) calc(var(--fm-card-padding) + 6px);
    border-bottom: 1px solid var(--fm-border);
    font-size: var(--fm-type-body);
    vertical-align: top;
  }
.woocommerce-cart .cart_totals .shop_table tr:nth-child(odd):not(.order-total) th,
  .woocommerce-cart .cart_totals .shop_table tr:nth-child(odd):not(.order-total) td {
    background: color-mix(in srgb, var(--fm-bg) 38%, var(--fm-white) 62%);
  }
.woocommerce-cart .cart_totals .shop_table tr:nth-child(even):not(.order-total) th,
  .woocommerce-cart .cart_totals .shop_table tr:nth-child(even):not(.order-total) td {
    background: var(--fm-white);
  }
.woocommerce-cart .cart_totals .shop_table th {
    width: 42%;
    font-size: var(--fm-type-small);
    font-weight: 600;
    color: var(--fm-text);
    text-align: left;
    white-space: nowrap;
  }
.woocommerce-cart .cart_totals .shop_table td {
    font-size: var(--fm-type-small);
    color: var(--fm-muted);
    text-align: right;
  }
.woocommerce-cart .cart_totals .shipping td small,
  .woocommerce-cart .cart_totals .shipping td .woocommerce-shipping-destination,
  .woocommerce-cart .cart_totals .shipping td .shipping-calculator-button {
    display: block;
    margin-top: calc(var(--fm-form-gap) * 0.12);
    font-size: var(--fm-type-small);
    line-height: 1.35;
  }
.woocommerce-cart .cart_totals .fm-shipping-placeholder td {
    text-align: right;
    color: var(--fm-muted);
    font-style: italic;
  }
.woocommerce-cart .cart_totals .fm-shipping-placeholder td em {
    color: inherit;
  }
.woocommerce-cart .cart_totals .order-total th,
  .woocommerce-cart .cart_totals .order-total td {
    font-size: var(--fm-type-small);
    font-weight: 700;
    color: var(--fm-text);
    background: color-mix(in srgb, var(--fm-primary) 6%, var(--fm-white) 94%) !important;
    padding-top: var(--fm-card-padding) !important;
    padding-bottom: var(--fm-card-padding) !important;
  }
.woocommerce-cart .cart_totals .order-total td {
    color: var(--fm-primary);
    font-size: var(--fm-type-h4);
    line-height: 1.05;
    font-weight: 700;
    letter-spacing: -0.02em;
  }
.woocommerce-cart .wc-proceed-to-checkout {
    padding: var(--fm-card-padding) var(--fm-card-padding) calc(var(--fm-card-padding) - 2px);
    border-top: 1px solid var(--fm-border);
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
  }
  .woocommerce-cart .wc-proceed-to-checkout a.button.checkout-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: calc(var(--fm-control-height) + 6px) !important;
    padding: calc(var(--fm-control-height) * 0.2) var(--fm-button-padding-x) !important;
    border: 1px solid color-mix(in srgb, var(--fm-primary-dark) 42%, var(--fm-primary)) !important;
    border-radius: var(--fm-radius-lg) !important;
    background: linear-gradient(135deg, var(--fm-primary), color-mix(in srgb, var(--fm-primary) 74%, var(--fm-primary-dark) 26%)) !important;
    color: var(--fm-white) !important;
    text-align: center !important;
    text-decoration: none !important;
    font-size: var(--fm-type-button) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.01em !important;
    font-family: var(--fm-font-body) !important;
    box-shadow: 0 10px 24px color-mix(in srgb, var(--fm-primary-dark) 18%, transparent) !important;
    transition: background var(--fm-ease), transform var(--fm-ease), box-shadow var(--fm-ease) !important;
  }
  .woocommerce-cart .wc-proceed-to-checkout a.button.checkout-button:hover {
    background: linear-gradient(135deg, var(--fm-primary-dark), color-mix(in srgb, var(--fm-primary-dark) 70%, var(--fm-primary) 30%)) !important;
    border-color: var(--fm-primary-dark) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 14px 28px color-mix(in srgb, var(--fm-primary) 22%, transparent) !important;
  }
.woocommerce-cart .wc-proceed-to-checkout > .paypal,
  .woocommerce-cart .wc-proceed-to-checkout > br {
    display: none !important;
  }
.woocommerce-cart .fm-cart-payment-badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: calc(var(--fm-form-gap) * 0.4);
    margin-top: calc(var(--fm-woo-card-padding) * 0.1);
  }
.woocommerce-cart .fm-cart-payment-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 46px;
    min-height: var(--fm-woo-badge-h);
    padding: calc(var(--fm-woo-badge-h) * 0.1) calc(var(--fm-woo-badge-h) * 0.2);
    border: 1px solid color-mix(in srgb, var(--fm-primary) 10%, var(--fm-border) 90%);
    border-radius: calc(var(--fm-radius) - 2px);
    background: color-mix(in srgb, var(--fm-white) 78%, var(--fm-bg) 22%);
    box-shadow: 0 6px 14px color-mix(in srgb, var(--fm-text) 5%, transparent);
  }
.woocommerce-cart .fm-cart-payment-badge img,
  .woocommerce-cart .fm-cart-payment-badge svg {
    display: block;
    max-width: 42px;
    max-height: calc(var(--fm-woo-badge-h) * 0.65);
    width: auto;
    height: auto;
  }
.woocommerce-cart .fm-cart-payment-badge img {
    -o-object-fit: contain;
       object-fit: contain;
  }
@media (max-width: 767px) {
    .woocommerce-cart .fm-cart-table thead {
      display: none;
    }

    .woocommerce-cart .fm-cart-table {
      border-radius: calc(var(--fm-radius-lg) - 2px);
    }

    .woocommerce-cart .fm-cart-table .woocommerce-cart-form__cart-item td {
      display: block;
      width: 100%;
      padding: 0.9rem 1rem;
    }

    .woocommerce-cart .fm-cart-table .woocommerce-cart-form__cart-item td.product-name {
      padding-top: 1rem;
      padding-bottom: 1rem;
    }

    .woocommerce-cart .fm-cart-table .woocommerce-cart-form__cart-item td.product-price,
    .woocommerce-cart .fm-cart-table .woocommerce-cart-form__cart-item td.product-quantity,
    .woocommerce-cart .fm-cart-table .woocommerce-cart-form__cart-item td.product-subtotal {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0.9rem;
      padding-top: 0.8rem;
      padding-bottom: 0.8rem;
      font-size: 0.98rem;
    }

    .woocommerce-cart .fm-cart-table .woocommerce-cart-form__cart-item td.product-price::before,
    .woocommerce-cart .fm-cart-table .woocommerce-cart-form__cart-item td.product-quantity::before,
    .woocommerce-cart .fm-cart-table .woocommerce-cart-form__cart-item td.product-subtotal::before {
      content: attr(data-title);
      display: block;
      flex: 0 0 auto;
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--fm-muted);
    }

    .woocommerce-cart .fm-cart-table td.product-price .amount,
    .woocommerce-cart .fm-cart-table td.product-subtotal .amount,
    .woocommerce-cart .fm-cart-table td.product-price .woocommerce-Price-amount,
    .woocommerce-cart .fm-cart-table td.product-subtotal .woocommerce-Price-amount {
      margin-left: auto;
    }

    .woocommerce-cart .fm-cart-item__product {
      grid-template-columns: 78px minmax(0, 1fr);
      gap: 0.9rem;
      align-items: flex-start;
    }

    .woocommerce-cart .fm-cart-item__thumbnail {
      width: 78px;
    }

    .woocommerce-cart .fm-cart-item__thumbnail img {
      width: 78px !important;
      height: 78px !important;
      padding: 4px;
    }

    .woocommerce-cart .fm-cart-item__remove {
      top: -8px;
      left: -8px;
    }

    .woocommerce-cart .fm-cart-item__content > a,
    .woocommerce-cart .fm-cart-item__content .product-name a {
      font-size: 1rem;
      line-height: 1.32;
    }

    .woocommerce-cart .fm-cart-table .product-quantity .quantity {
      margin: 0 0 0 auto;
    }

    .woocommerce-cart .fm-cart-table .product-quantity .qty {
      width: 64px !important;
      height: 42px !important;
    }

    .woocommerce-cart .fm-cart-table td.product-subtotal {
      font-weight: 700;
    }

    .woocommerce-cart .fm-cart-table td.actions {
      display: block !important;
      padding: 1rem !important;
    }

    .woocommerce-cart .actions,
    .woocommerce-cart .coupon {
      flex-direction: column;
      align-items: stretch;
      gap: 0.75rem;
    }

    .woocommerce-cart .coupon #coupon_code,
    .woocommerce-cart .coupon .button,
    .woocommerce-cart .actions .button {
      width: 100% !important;
    }

    .woocommerce-cart .cart_totals {
      max-width: none;
      position: static;
    }
  }
@media (min-width: 1024px) {
  .woocommerce-cart .fm-cart-layout {
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: calc(var(--fm-woo-grid-gap) + 8px);
  }
  .woocommerce-cart .woocommerce-cart-form {
    min-width: 0;
  }
}
