/* NWSS Telegram Invoice Order v3.1.23
   This CSS is only enqueued on the cart/order page. */

/* Hide the default WooCommerce checkout/cart totals box, but keep the product cart table visible. */
.cart-collaterals,
.cart_totals,
.wc-proceed-to-checkout,
.wc-block-cart__sidebar,
.wp-block-woocommerce-cart-order-summary-block,
.wp-block-woocommerce-proceed-to-checkout-block,
.coupon,
.actions .coupon,
button[name="update_cart"],
input[name="coupon_code"] {
  display: none !important;
}

/* Keep the order form in the normal page content, not in the header/footer area. */
.nwss-tgio-panel {
  display: block !important;
  clear: both !important;
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  max-width: 760px !important;
  box-sizing: border-box !important;
  border: 1px solid #e3e3e3 !important;
  padding: 28px !important;
  background: #fff !important;
  margin: 28px 0 0 0 !important;
}

.elementor-widget-container > .nwss-tgio-panel,
.elementor-shortcode > .nwss-tgio-panel,
.woocommerce > .nwss-tgio-panel {
  margin-top: 28px !important;
}

.nwss-tgio-panel h2 {
  margin: 0 0 12px !important;
  font-size: 28px !important;
  line-height: 1.2 !important;
}

.nwss-tgio-subtitle {
  font-weight: 600 !important;
  margin-bottom: 16px !important;
}

.nwss-tgio-panel .form-row {
  margin-bottom: 14px !important;
}

.nwss-tgio-panel label {
  display: block !important;
  margin-bottom: 6px !important;
  font-weight: 600 !important;
}

.nwss-tgio-panel input,
.nwss-tgio-panel textarea {
  width: 100% !important;
  padding: 12px 14px !important;
  border: 1px solid #d8d8d8 !important;
  background: #fff !important;
  box-sizing: border-box !important;
}

.nwss-tgio-send {
  width: 100% !important;
  margin-top: 8px !important;
  min-height: 52px !important;
  background: #000 !important;
  color: #fff !important;
  border-color: #000 !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
}

.nwss-tgio-help {
  color: #7b7b7b !important;
  font-size: 13px !important;
  margin-top: 10px !important;
  margin-bottom: 18px !important;
}

.nwss-tgio-msg {
  margin: 12px 0 18px !important;
  font-size: 14px !important;
}

.nwss-tgio-msg.is-error { color: #b42318 !important; }
.nwss-tgio-msg.is-success { color: #027a48 !important; }

.nwss-tgio-summary {
  margin-top: 10px !important;
  width: 100% !important;
}

.nwss-tgio-summary th,
.nwss-tgio-summary td {
  padding: 12px 0 !important;
  border: none !important;
}

.nwss-tgio-summary td {
  text-align: right !important;
}

.nwss-tgio-continue {
  margin-top: 18px !important;
  background: #000 !important;
  color: #fff !important;
  border-color: #000 !important;
}

@media (max-width: 767px) {
  .nwss-tgio-panel {
    max-width: 100% !important;
    padding: 18px !important;
    margin-top: 20px !important;
  }

  .nwss-tgio-panel h2 {
    font-size: 22px !important;
  }
}


/* v3.1.10: prevent the order panel from appearing in the header/banner area. */
#nwss-tgio-footer-mount { display: none !important; }
.woocommerce-cart-form + .nwss-tgio-panel,
form.woocommerce-cart-form + .nwss-tgio-panel {
  margin-top: 30px !important;
}
.nwss-tgio-page header .nwss-tgio-panel,
.nwss-tgio-page .site-header .nwss-tgio-panel,
.nwss-tgio-page .elementor-location-header .nwss-tgio-panel {
  display: none !important;
}

/* v3.1.10: desktop two-column cart layout: products left, order form right. */
.nwss-tgio-cart-layout {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto 40px auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(360px, 0.85fr) !important;
  gap: 32px !important;
  align-items: start !important;
  clear: both !important;
}

.nwss-tgio-cart-col,
.nwss-tgio-order-col {
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.nwss-tgio-cart-col .woocommerce-cart-form,
.nwss-tgio-cart-col form.woocommerce-cart-form,
.nwss-tgio-cart-col table.shop_table.cart {
  width: 100% !important;
}

.nwss-tgio-order-col .nwss-tgio-panel {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: sticky !important;
  top: 20px !important;
}

.nwss-tgio-order-col .nwss-tgio-panel h2 {
  font-size: 26px !important;
}

@media (max-width: 991px) {
  .nwss-tgio-cart-layout {
    display: block !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .nwss-tgio-order-col .nwss-tgio-panel {
    position: relative !important;
    top: auto !important;
    margin-top: 24px !important;
  }
}

/* v3.1.10: widen product table and use the empty middle space better on desktop. */
@media (min-width: 992px) {
  .nwss-tgio-cart-layout {
    max-width: 1360px !important;
    grid-template-columns: minmax(680px, 1fr) 420px !important;
    gap: 24px !important;
  }

  .nwss-tgio-cart-col table.shop_table.cart,
  .nwss-tgio-cart-col .woocommerce-cart-form table.shop_table,
  .nwss-tgio-cart-col form.woocommerce-cart-form table.shop_table {
    width: 100% !important;
    table-layout: auto !important;
  }

  .nwss-tgio-cart-col table.shop_table.cart th.product-name,
  .nwss-tgio-cart-col table.shop_table.cart td.product-name {
    width: auto !important;
  }

  .nwss-tgio-cart-col table.shop_table.cart th.product-total,
  .nwss-tgio-cart-col table.shop_table.cart td.product-total,
  .nwss-tgio-cart-col table.shop_table.cart th.product-subtotal,
  .nwss-tgio-cart-col table.shop_table.cart td.product-subtotal,
  .nwss-tgio-cart-col table.shop_table.cart th:last-child,
  .nwss-tgio-cart-col table.shop_table.cart td:last-child {
    width: 110px !important;
    min-width: 110px !important;
    max-width: 130px !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  .nwss-tgio-cart-col table.shop_table.cart td.product-thumbnail,
  .nwss-tgio-cart-col table.shop_table.cart th.product-thumbnail,
  .nwss-tgio-cart-col table.shop_table.cart td:first-child,
  .nwss-tgio-cart-col table.shop_table.cart th:first-child {
    width: 96px !important;
    min-width: 96px !important;
  }

  .nwss-tgio-cart-col table.shop_table.cart td.product-name,
  .nwss-tgio-cart-col table.shop_table.cart .product-name {
    padding-right: 18px !important;
  }

  .nwss-tgio-order-col .nwss-tgio-panel {
    max-width: 420px !important;
  }
}

@media (min-width: 1280px) {
  .nwss-tgio-cart-layout {
    max-width: 1420px !important;
    grid-template-columns: minmax(760px, 1fr) 430px !important;
    gap: 28px !important;
  }

  .nwss-tgio-order-col .nwss-tgio-panel {
    max-width: 430px !important;
  }
}


/* v3.1.13: expand the product table and make product rows stronger/easier to read on desktop. */
@media (min-width: 992px) {
  .nwss-tgio-page .entry-content,
  .nwss-tgio-page .page-content,
  .nwss-tgio-page .woocommerce,
  .nwss-tgio-page .elementor-widget-container,
  .nwss-tgio-page .elementor-shortcode {
    width: 100% !important;
    max-width: none !important;
  }

  .nwss-tgio-cart-layout {
    width: min(94vw, 1500px) !important;
    max-width: 1500px !important;
    grid-template-columns: minmax(780px, 1fr) 400px !important;
    gap: 18px !important;
    justify-content: center !important;
  }

  .nwss-tgio-cart-col,
  .nwss-tgio-cart-col .woocommerce,
  .nwss-tgio-cart-col .woocommerce-cart-form,
  .nwss-tgio-cart-col form.woocommerce-cart-form {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    display: block !important;
  }

  .nwss-tgio-cart-col table.shop_table.cart,
  .nwss-tgio-cart-col form.woocommerce-cart-form table.shop_table,
  .nwss-tgio-cart-col .woocommerce-cart-form table.shop_table,
  .nwss-tgio-cart-col .shop_table.cart {
    width: 100% !important;
    max-width: none !important;
    min-width: 780px !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
  }

  .nwss-tgio-cart-col table.shop_table.cart th,
  .nwss-tgio-cart-col table.shop_table.cart td {
    padding: 16px 18px !important;
    vertical-align: middle !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
  }

  .nwss-tgio-cart-col table.shop_table.cart th {
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: #1f2937 !important;
  }

  .nwss-tgio-cart-col table.shop_table.cart td.product-thumbnail,
  .nwss-tgio-cart-col table.shop_table.cart th.product-thumbnail,
  .nwss-tgio-cart-col table.shop_table.cart td:first-child,
  .nwss-tgio-cart-col table.shop_table.cart th:first-child {
    width: 108px !important;
    min-width: 108px !important;
    max-width: 108px !important;
  }

  .nwss-tgio-cart-col table.shop_table.cart img,
  .nwss-tgio-cart-col table.shop_table.cart .product-thumbnail img {
    width: 78px !important;
    max-width: 78px !important;
    height: 78px !important;
    object-fit: contain !important;
  }

  .nwss-tgio-cart-col table.shop_table.cart td.product-name,
  .nwss-tgio-cart-col table.shop_table.cart th.product-name {
    width: auto !important;
  }

  .nwss-tgio-cart-col table.shop_table.cart td.product-name a,
  .nwss-tgio-cart-col table.shop_table.cart .product-name a,
  .nwss-tgio-cart-col table.shop_table.cart td.product-name {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    line-height: 1.35 !important;
  }

  .nwss-tgio-cart-col table.shop_table.cart .variation,
  .nwss-tgio-cart-col table.shop_table.cart .variation dt,
  .nwss-tgio-cart-col table.shop_table.cart .variation dd,
  .nwss-tgio-cart-col table.shop_table.cart .product-name small,
  .nwss-tgio-cart-col table.shop_table.cart .product-name .amount {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #4b5563 !important;
  }

  .nwss-tgio-cart-col table.shop_table.cart th.product-subtotal,
  .nwss-tgio-cart-col table.shop_table.cart td.product-subtotal,
  .nwss-tgio-cart-col table.shop_table.cart th.product-total,
  .nwss-tgio-cart-col table.shop_table.cart td.product-total,
  .nwss-tgio-cart-col table.shop_table.cart th:last-child,
  .nwss-tgio-cart-col table.shop_table.cart td:last-child {
    width: 118px !important;
    min-width: 118px !important;
    max-width: 118px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  .nwss-tgio-cart-col table.shop_table.cart .quantity,
  .nwss-tgio-cart-col table.shop_table.cart .quantity input,
  .nwss-tgio-cart-col table.shop_table.cart .quantity button,
  .nwss-tgio-cart-col table.shop_table.cart .quantity .qty {
    font-size: 15px !important;
    font-weight: 600 !important;
  }

  .nwss-tgio-order-col .nwss-tgio-panel {
    max-width: 400px !important;
    padding: 28px !important;
  }
}

@media (min-width: 1440px) {
  .nwss-tgio-cart-layout {
    width: min(94vw, 1560px) !important;
    max-width: 1560px !important;
    grid-template-columns: minmax(900px, 1fr) 400px !important;
    gap: 18px !important;
  }

  .nwss-tgio-cart-col table.shop_table.cart,
  .nwss-tgio-cart-col form.woocommerce-cart-form table.shop_table,
  .nwss-tgio-cart-col .woocommerce-cart-form table.shop_table,
  .nwss-tgio-cart-col .shop_table.cart {
    min-width: 900px !important;
  }
}

/* v3.1.13: Woo Block cart table support: make the product table much wider and clearer. */
@media (min-width: 992px) {
  .nwss-tgio-cart-layout {
    width: min(96vw, 1640px) !important;
    max-width: 1640px !important;
    grid-template-columns: minmax(0, 1fr) 395px !important;
    gap: 18px !important;
  }

  .nwss-tgio-cart-col {
    width: 100% !important;
    max-width: none !important;
  }

  .nwss-tgio-cart-col .wc-block-cart-items,
  .nwss-tgio-cart-col table.wc-block-cart-items,
  .nwss-tgio-cart-col .wp-block-woocommerce-cart-line-items-block,
  .nwss-tgio-cart-col table.wp-block-woocommerce-cart-line-items-block {
    width: 100% !important;
    min-width: 920px !important;
    max-width: none !important;
    table-layout: fixed !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
    border-collapse: collapse !important;
  }

  .nwss-tgio-cart-col .wc-block-cart-items th,
  .nwss-tgio-cart-col .wc-block-cart-items td {
    font-size: 15px !important;
    line-height: 1.45 !important;
    padding: 17px 18px !important;
    vertical-align: middle !important;
  }

  .nwss-tgio-cart-col .wc-block-cart-items th {
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: #111827 !important;
  }

  .nwss-tgio-cart-col .wc-block-cart-item__image {
    width: 112px !important;
    min-width: 112px !important;
    max-width: 112px !important;
  }

  .nwss-tgio-cart-col .wc-block-cart-item__image img,
  .nwss-tgio-cart-col .wc-block-components-product-image img {
    width: 86px !important;
    max-width: 86px !important;
    height: 86px !important;
    object-fit: contain !important;
  }

  .nwss-tgio-cart-col .wc-block-cart-item__product {
    width: auto !important;
    padding-right: 24px !important;
  }

  .nwss-tgio-cart-col .wc-block-components-product-name,
  .nwss-tgio-cart-col .wc-block-cart-item__product .wc-block-components-product-name,
  .nwss-tgio-cart-col .wc-block-cart-item__product a {
    font-size: 15px !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
    color: #111827 !important;
  }

  .nwss-tgio-cart-col .wc-block-components-product-metadata,
  .nwss-tgio-cart-col .wc-block-components-product-metadata__description,
  .nwss-tgio-cart-col .wc-block-components-product-details,
  .nwss-tgio-cart-col .wc-block-components-product-details li,
  .nwss-tgio-cart-col .wc-block-components-product-price,
  .nwss-tgio-cart-col .wc-block-components-quantity-selector {
    font-size: 15px !important;
    line-height: 1.4 !important;
    font-weight: 500 !important;
  }

  .nwss-tgio-cart-col .wc-block-cart-item__total,
  .nwss-tgio-cart-col .wc-block-cart-items th:last-child,
  .nwss-tgio-cart-col .wc-block-cart-items td:last-child {
    width: 130px !important;
    min-width: 130px !important;
    max-width: 130px !important;
    text-align: center !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
  }

  .nwss-tgio-products-total {
    width: 100% !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-top: 12px !important;
    padding: 16px 18px !important;
    border: 1px solid #e1e1e1 !important;
    background: #fff !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    text-transform: uppercase !important;
  }

  .nwss-tgio-products-total strong {
    font-size: 20px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
  }
}

@media (min-width: 1440px) {
  .nwss-tgio-cart-layout {
    width: min(96vw, 1700px) !important;
    max-width: 1700px !important;
    grid-template-columns: minmax(1050px, 1fr) 395px !important;
  }

  .nwss-tgio-cart-col .wc-block-cart-items,
  .nwss-tgio-cart-col table.wc-block-cart-items,
  .nwss-tgio-cart-col .wp-block-woocommerce-cart-line-items-block,
  .nwss-tgio-cart-col table.wp-block-woocommerce-cart-line-items-block {
    min-width: 1050px !important;
  }
}

/* v3.1.13: fix Woo Block cart layout - wider product area, stable image column, total at far right. */
@media (min-width: 992px) {
  .nwss-tgio-cart-layout {
    width: min(95vw, 1540px) !important;
    max-width: 1540px !important;
    grid-template-columns: minmax(760px, 1fr) 390px !important;
    gap: 28px !important;
    align-items: start !important;
    overflow: visible !important;
  }

  .nwss-tgio-cart-col {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  .nwss-tgio-cart-col .wp-block-woocommerce-cart-line-items-block,
  .nwss-tgio-cart-col .wc-block-cart__main,
  .nwss-tgio-cart-col .wc-block-cart-items__row,
  .nwss-tgio-cart-col table.wc-block-cart-items,
  .nwss-tgio-cart-col .wc-block-cart-items {
    max-width: none !important;
  }

  .nwss-tgio-cart-col table.wc-block-cart-items,
  .nwss-tgio-cart-col .wc-block-cart-items {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: auto !important;
    border-collapse: collapse !important;
    font-size: 15px !important;
  }

  .nwss-tgio-cart-col .wc-block-cart-items thead th:first-child {
    width: auto !important;
    text-align: left !important;
  }

  .nwss-tgio-cart-col .wc-block-cart-items th,
  .nwss-tgio-cart-col .wc-block-cart-items td {
    font-size: 15px !important;
    line-height: 1.45 !important;
    vertical-align: middle !important;
    box-sizing: border-box !important;
  }

  .nwss-tgio-cart-col .wc-block-cart-items th {
    padding: 18px 16px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    color: #111827 !important;
  }

  .nwss-tgio-cart-col .wc-block-cart-item__image {
    width: 112px !important;
    min-width: 112px !important;
    max-width: 112px !important;
    padding: 18px 14px 18px 16px !important;
    overflow: visible !important;
  }

  .nwss-tgio-cart-col .wc-block-cart-item__image a,
  .nwss-tgio-cart-col .wc-block-cart-item__image img,
  .nwss-tgio-cart-col .wc-block-components-product-image,
  .nwss-tgio-cart-col .wc-block-components-product-image img {
    display: block !important;
    float: none !important;
    position: static !important;
  }

  .nwss-tgio-cart-col .wc-block-cart-item__image img,
  .nwss-tgio-cart-col .wc-block-components-product-image img {
    width: 86px !important;
    max-width: 86px !important;
    height: 86px !important;
    object-fit: contain !important;
    margin: 0 auto !important;
  }

  .nwss-tgio-cart-col .wc-block-cart-item__product {
    width: auto !important;
    padding: 18px 22px 18px 10px !important;
    overflow: visible !important;
  }

  .nwss-tgio-cart-col .wc-block-cart-item__wrap {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .nwss-tgio-cart-col .wc-block-components-product-name,
  .nwss-tgio-cart-col .wc-block-cart-item__product .wc-block-components-product-name,
  .nwss-tgio-cart-col .wc-block-cart-item__product a {
    display: inline !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
    font-weight: 800 !important;
    color: #111827 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .nwss-tgio-cart-col .wc-block-components-product-metadata,
  .nwss-tgio-cart-col .wc-block-components-product-details,
  .nwss-tgio-cart-col .wc-block-components-product-details li,
  .nwss-tgio-cart-col .wc-block-components-product-price,
  .nwss-tgio-cart-col .wc-block-components-quantity-selector {
    font-size: 15px !important;
    line-height: 1.4 !important;
    font-weight: 500 !important;
    color: #374151 !important;
  }

  .nwss-tgio-cart-col .wc-block-cart-item__total,
  .nwss-tgio-cart-col .wc-block-cart-items th:last-child,
  .nwss-tgio-cart-col .wc-block-cart-items td:last-child {
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
    padding: 18px 16px !important;
    text-align: center !important;
    white-space: nowrap !important;
    font-size: 15px !important;
    font-weight: 800 !important;
  }

  .nwss-tgio-products-total {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin: 14px 0 0 0 !important;
    padding: 18px 22px !important;
    border: 1px solid #e1e1e1 !important;
    background: #fff !important;
    color: #111827 !important;
    text-transform: uppercase !important;
  }

  .nwss-tgio-products-total span {
    font-size: 18px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
  }

  .nwss-tgio-products-total strong {
    margin-left: auto !important;
    min-width: 150px !important;
    text-align: right !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
  }

  .nwss-tgio-order-col .nwss-tgio-panel {
    max-width: 390px !important;
    width: 100% !important;
    padding: 28px !important;
    overflow: visible !important;
  }

  .nwss-tgio-order-col .nwss-tgio-summary {
    width: 100% !important;
    table-layout: fixed !important;
  }

  .nwss-tgio-order-col .nwss-tgio-summary th {
    width: 48% !important;
    font-size: 15px !important;
  }

  .nwss-tgio-order-col .nwss-tgio-summary td {
    width: 52% !important;
    text-align: right !important;
    white-space: nowrap !important;
    font-size: 15px !important;
    overflow: visible !important;
  }
}

@media (min-width: 1440px) {
  .nwss-tgio-cart-layout {
    width: min(95vw, 1600px) !important;
    max-width: 1600px !important;
    grid-template-columns: minmax(920px, 1fr) 390px !important;
    gap: 30px !important;
  }
}

@media (max-width: 991px) {
  .nwss-tgio-products-total {
    width: 100% !important;
    display: flex !important;
    justify-content: space-between !important;
    padding: 14px 16px !important;
    border: 1px solid #e1e1e1 !important;
    margin-top: 12px !important;
    font-weight: 800 !important;
  }
}


/* v3.1.14: Fix WooCommerce Block Cart column layout.
   The block cart table can keep an intrinsic/shrunken width even when its parent is wide.
   We force each row into a 3-column grid: image | product details | total. */
@media (min-width: 992px) {
  .nwss-tgio-cart-layout {
    width: min(96vw, 1600px) !important;
    max-width: 1600px !important;
    grid-template-columns: minmax(900px, 1fr) 390px !important;
    gap: 24px !important;
    align-items: start !important;
  }

  .nwss-tgio-cart-col,
  .nwss-tgio-cart-col .wc-block-cart,
  .nwss-tgio-cart-col .wc-block-cart__main,
  .nwss-tgio-cart-col .wp-block-woocommerce-cart-line-items-block {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .nwss-tgio-cart-col table.wc-block-cart-items,
  .nwss-tgio-cart-col .wc-block-cart-items {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    table-layout: auto !important;
    border-collapse: collapse !important;
    border: 1px solid #dedede !important;
    box-sizing: border-box !important;
  }

  .nwss-tgio-cart-col .wc-block-cart-items thead,
  .nwss-tgio-cart-col .wc-block-cart-items tbody {
    display: block !important;
    width: 100% !important;
  }

  .nwss-tgio-cart-col .wc-block-cart-items thead tr,
  .nwss-tgio-cart-col .wc-block-cart-items tbody tr.wc-block-cart-items__row,
  .nwss-tgio-cart-col .wc-block-cart-items tbody tr {
    display: grid !important;
    grid-template-columns: 125px minmax(0, 1fr) 155px !important;
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    border-bottom: 1px solid #dedede !important;
  }

  .nwss-tgio-cart-col .wc-block-cart-items thead tr th,
  .nwss-tgio-cart-col .wc-block-cart-items tbody tr td {
    display: block !important;
    box-sizing: border-box !important;
    padding: 18px 20px !important;
    margin: 0 !important;
    min-width: 0 !important;
    max-width: none !important;
    width: auto !important;
    border: 0 !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    vertical-align: middle !important;
  }

  .nwss-tgio-cart-col .wc-block-cart-items thead tr th:first-child {
    grid-column: 1 / 3 !important;
    text-align: left !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    color: #111827 !important;
    border-right: 1px solid #dedede !important;
  }

  .nwss-tgio-cart-col .wc-block-cart-items thead tr th:last-child {
    grid-column: 3 / 4 !important;
    text-align: center !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    color: #111827 !important;
  }

  .nwss-tgio-cart-col .wc-block-cart-items tbody tr td.wc-block-cart-item__image,
  .nwss-tgio-cart-col .wc-block-cart-items tbody tr td:first-child {
    grid-column: 1 / 2 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    border-right: 1px solid #dedede !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .nwss-tgio-cart-col .wc-block-cart-item__image img,
  .nwss-tgio-cart-col .wc-block-components-product-image img {
    width: 92px !important;
    max-width: 92px !important;
    height: 92px !important;
    object-fit: contain !important;
    display: block !important;
  }

  .nwss-tgio-cart-col .wc-block-cart-items tbody tr td.wc-block-cart-item__product,
  .nwss-tgio-cart-col .wc-block-cart-items tbody tr td:nth-child(2) {
    grid-column: 2 / 3 !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    border-right: 1px solid #dedede !important;
    overflow: visible !important;
  }

  .nwss-tgio-cart-col .wc-block-cart-item__wrap,
  .nwss-tgio-cart-col .wc-block-cart-item__product-name,
  .nwss-tgio-cart-col .wc-block-components-product-name,
  .nwss-tgio-cart-col .wc-block-cart-item__product a {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow: visible !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  .nwss-tgio-cart-col .wc-block-components-product-name,
  .nwss-tgio-cart-col .wc-block-cart-item__product a {
    font-size: 15px !important;
    line-height: 1.4 !important;
    font-weight: 800 !important;
    color: #111827 !important;
  }

  .nwss-tgio-cart-col .wc-block-components-product-metadata,
  .nwss-tgio-cart-col .wc-block-components-product-details,
  .nwss-tgio-cart-col .wc-block-components-product-details li,
  .nwss-tgio-cart-col .wc-block-components-product-price,
  .nwss-tgio-cart-col .wc-block-components-quantity-selector {
    font-size: 15px !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
    color: #374151 !important;
  }

  .nwss-tgio-cart-col .wc-block-cart-items tbody tr td.wc-block-cart-item__total,
  .nwss-tgio-cart-col .wc-block-cart-items tbody tr td:last-child {
    grid-column: 3 / 4 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    text-align: center !important;
    white-space: nowrap !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    font-weight: 800 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .nwss-tgio-products-total {
    width: 100% !important;
    max-width: none !important;
    margin-top: 14px !important;
    display: grid !important;
    grid-template-columns: 1fr 155px !important;
    align-items: center !important;
    border: 1px solid #dedede !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    background: #fff !important;
  }

  .nwss-tgio-products-total span,
  .nwss-tgio-products-total strong {
    display: block !important;
    padding: 18px 20px !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
    color: #111827 !important;
    text-transform: uppercase !important;
  }

  .nwss-tgio-products-total strong {
    border-left: 1px solid #dedede !important;
    text-align: right !important;
    white-space: nowrap !important;
  }

  .nwss-tgio-order-col .nwss-tgio-panel {
    max-width: 390px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  .nwss-tgio-order-col .nwss-tgio-summary {
    display: table !important;
    width: 100% !important;
    table-layout: fixed !important;
  }

  .nwss-tgio-order-col .nwss-tgio-summary tr {
    display: table-row !important;
  }

  .nwss-tgio-order-col .nwss-tgio-summary th,
  .nwss-tgio-order-col .nwss-tgio-summary td {
    display: table-cell !important;
    width: 50% !important;
    box-sizing: border-box !important;
    font-size: 15px !important;
    white-space: nowrap !important;
    overflow: visible !important;
  }

  .nwss-tgio-order-col .nwss-tgio-summary td {
    text-align: right !important;
    min-width: 120px !important;
  }
}

@media (min-width: 1440px) {
  .nwss-tgio-cart-layout {
    grid-template-columns: minmax(1000px, 1fr) 390px !important;
  }
}


/* v3.1.15: Strong fix for WooCommerce Block Cart column alignment.
   Keep product table full width of left column, align Total column to far right,
   and prevent the blank image header from stealing space. */
@media (min-width: 992px) {
  .nwss-tgio-cart-layout {
    width: min(97vw, 1660px) !important;
    max-width: 1660px !important;
    grid-template-columns: minmax(0, 1fr) 390px !important;
    gap: 24px !important;
  }

  .nwss-tgio-cart-col,
  .nwss-tgio-cart-col .wc-block-cart__main,
  .nwss-tgio-cart-col .wp-block-woocommerce-cart-line-items-block {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  .nwss-tgio-cart-col table.wc-block-cart-items {
    display: block !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    border: 1px solid #dedede !important;
    box-sizing: border-box !important;
  }

  .nwss-tgio-cart-col table.wc-block-cart-items thead,
  .nwss-tgio-cart-col table.wc-block-cart-items tbody {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .nwss-tgio-cart-col table.wc-block-cart-items thead tr,
  .nwss-tgio-cart-col table.wc-block-cart-items tbody tr.wc-block-cart-items__row {
    display: grid !important;
    grid-template-columns: 125px minmax(0, 1fr) 155px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    border-bottom: 1px solid #dedede !important;
  }

  .nwss-tgio-cart-col table.wc-block-cart-items thead th,
  .nwss-tgio-cart-col table.wc-block-cart-items tbody td {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    border: 0 !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
  }

  .nwss-tgio-cart-col table.wc-block-cart-items thead th.wc-block-cart-items__header-image {
    grid-column: 1 / 2 !important;
    padding: 18px 12px !important;
    border-right: 1px solid #dedede !important;
    font-size: 0 !important;
    color: transparent !important;
  }

  .nwss-tgio-cart-col table.wc-block-cart-items thead th.wc-block-cart-items__header-product {
    grid-column: 2 / 3 !important;
    padding: 18px 20px !important;
    border-right: 1px solid #dedede !important;
    text-align: left !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    color: #111827 !important;
  }

  .nwss-tgio-cart-col table.wc-block-cart-items thead th.wc-block-cart-items__header-total {
    grid-column: 3 / 4 !important;
    padding: 18px 16px !important;
    text-align: center !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    color: #111827 !important;
  }

  .nwss-tgio-cart-col table.wc-block-cart-items tbody td.wc-block-cart-item__image {
    grid-column: 1 / 2 !important;
    padding: 18px 14px !important;
    border-right: 1px solid #dedede !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
  }

  .nwss-tgio-cart-col table.wc-block-cart-items tbody td.wc-block-cart-item__product {
    grid-column: 2 / 3 !important;
    padding: 18px 22px !important;
    border-right: 1px solid #dedede !important;
    overflow: visible !important;
  }

  .nwss-tgio-cart-col table.wc-block-cart-items tbody td.wc-block-cart-item__total {
    grid-column: 3 / 4 !important;
    padding: 18px 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: nowrap !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    overflow: hidden !important;
  }

  .nwss-tgio-cart-col .wc-block-cart-item__image img,
  .nwss-tgio-cart-col .wc-block-components-product-image img {
    width: 92px !important;
    max-width: 92px !important;
    height: 92px !important;
    object-fit: contain !important;
  }

  .nwss-tgio-cart-col .wc-block-components-product-name,
  .nwss-tgio-cart-col .wc-block-cart-item__product a {
    font-size: 15px !important;
    line-height: 1.4 !important;
    font-weight: 900 !important;
    color: #111827 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .nwss-tgio-cart-col .wc-block-components-product-metadata,
  .nwss-tgio-cart-col .wc-block-components-product-details,
  .nwss-tgio-cart-col .wc-block-components-product-price,
  .nwss-tgio-cart-col .wc-block-components-quantity-selector {
    font-size: 15px !important;
    line-height: 1.35 !important;
  }

  .nwss-tgio-products-total {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: 125px minmax(0, 1fr) 155px !important;
    align-items: center !important;
    padding: 0 !important;
    margin-top: 14px !important;
    border: 1px solid #dedede !important;
    box-sizing: border-box !important;
    background: #fff !important;
  }

  .nwss-tgio-products-total span {
    grid-column: 1 / 3 !important;
    padding: 18px 20px !important;
    border-right: 1px solid #dedede !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
    color: #111827 !important;
    text-transform: uppercase !important;
  }

  .nwss-tgio-products-total strong {
    grid-column: 3 / 4 !important;
    padding: 18px 16px !important;
    text-align: center !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
    color: #111827 !important;
    white-space: nowrap !important;
  }
}


/* v3.1.23: ORDER TOTAL is an actual row inside the product table and JS always
   moves it to the bottom of tbody, below all product rows. This keeps the value
   aligned with the same Total column as product rows. */
@media (min-width: 992px) {
  .nwss-tgio-cart-col table.wc-block-cart-items tfoot.nwss-tgio-products-total-foot {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .nwss-tgio-cart-col table.wc-block-cart-items tr.nwss-tgio-products-total-row {
    display: grid !important;
    grid-template-columns: 125px minmax(0, 1fr) 155px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    border-bottom: 0 !important;
    background: #fff !important;
  }

  .nwss-tgio-cart-col table.wc-block-cart-items tr.nwss-tgio-products-total-row td {
    display: block !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    border-top: 1px solid #dedede !important;
    border-bottom: 0 !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
    color: #111827 !important;
    text-transform: uppercase !important;
  }

  .nwss-tgio-cart-col table.wc-block-cart-items tr.nwss-tgio-products-total-row td.nwss-tgio-products-total-label {
    grid-column: 1 / 3 !important;
    padding: 18px 20px !important;
    border-right: 1px solid #dedede !important;
    text-align: left !important;
  }

  .nwss-tgio-cart-col table.wc-block-cart-items tr.nwss-tgio-products-total-row td.nwss-tgio-products-total-value {
    grid-column: 3 / 4 !important;
    padding: 18px 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  .nwss-tgio-cart-col table.wc-block-cart-items tr.nwss-tgio-products-total-row strong {
    font-size: 20px !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
    color: #111827 !important;
    white-space: nowrap !important;
  }

  /* Hide old separate total box if cached by browser/page cache. */
  .nwss-tgio-cart-col > .nwss-tgio-products-total {
    display: none !important;
  }
}

@media (max-width: 991px) {
  .nwss-tgio-cart-col table.wc-block-cart-items tr.nwss-tgio-products-total-row {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    width: 100% !important;
    border: 1px solid #dedede !important;
    background: #fff !important;
  }

  .nwss-tgio-cart-col table.wc-block-cart-items tr.nwss-tgio-products-total-row td.nwss-tgio-products-total-label,
  .nwss-tgio-cart-col table.wc-block-cart-items tr.nwss-tgio-products-total-row td.nwss-tgio-products-total-value {
    display: block !important;
    padding: 14px 16px !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
    color: #111827 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }

  .nwss-tgio-cart-col table.wc-block-cart-items tr.nwss-tgio-products-total-row td.nwss-tgio-products-total-value {
    text-align: right !important;
  }
}

/* v3.1.23: keep the injected Khmer cart page inside the visible screen.
   The translated Elementor placeholder has a different container width, so the old
   very wide desktop grid could push the order form off the right side. */
@media (min-width: 992px) {
  body.nwss-tgio-page .site-content,
  body.nwss-tgio-page #content,
  body.nwss-tgio-page .col-full,
  body.nwss-tgio-page .entry-content,
  body.nwss-tgio-page .page-content,
  body.nwss-tgio-page .woocommerce,
  body.nwss-tgio-page .elementor-widget-container,
  body.nwss-tgio-page .elementor-shortcode {
    overflow-x: visible !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body.nwss-tgio-page .nwss-tgio-cart-layout {
    width: min(100%, 1220px) !important;
    max-width: calc(100vw - 80px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    grid-template-columns: minmax(0, 1fr) 340px !important;
    gap: 24px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  body.nwss-tgio-page .nwss-tgio-order-col,
  body.nwss-tgio-page .nwss-tgio-order-col .nwss-tgio-panel {
    width: 340px !important;
    max-width: 340px !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  body.nwss-tgio-page .nwss-tgio-order-col .nwss-tgio-panel {
    padding: 24px !important;
  }

  body.nwss-tgio-page .nwss-tgio-order-col .nwss-tgio-panel h2 {
    font-size: 24px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
  }

  body.nwss-tgio-page .nwss-tgio-panel input,
  body.nwss-tgio-page .nwss-tgio-panel textarea,
  body.nwss-tgio-page .nwss-tgio-send,
  body.nwss-tgio-page .nwss-tgio-continue {
    max-width: 100% !important;
    box-sizing: border-box !important;
    white-space: normal !important;
  }

  body.nwss-tgio-page .nwss-tgio-cart-col,
  body.nwss-tgio-page .nwss-tgio-cart-col .wc-block-cart__main,
  body.nwss-tgio-page .nwss-tgio-cart-col .wp-block-woocommerce-cart-line-items-block,
  body.nwss-tgio-page .nwss-tgio-cart-col table.wc-block-cart-items,
  body.nwss-tgio-page .nwss-tgio-cart-col .wc-block-cart-items {
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

@media (min-width: 1300px) {
  body.nwss-tgio-page .nwss-tgio-cart-layout {
    width: min(100%, 1280px) !important;
    grid-template-columns: minmax(0, 1fr) 360px !important;
  }

  body.nwss-tgio-page .nwss-tgio-order-col,
  body.nwss-tgio-page .nwss-tgio-order-col .nwss-tgio-panel {
    width: 360px !important;
    max-width: 360px !important;
  }
}
