.relative {
  position: relative;
}
.col-span-6 {
  grid-column: span 6 / span 6;
}
.mb-4 {
  margin-bottom: 1rem;
}
.mb-6 {
  margin-bottom: 1.5rem;
}
.block {
  display: block;
}
.inline {
  display: inline;
}
.table {
  display: table;
}
.grid {
  display: grid;
}
.hidden {
  display: none;
}
.h-min {
  height: min-content;
}
.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-12 {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}
.gap-6 {
  gap: 1.5rem;
}
.rounded-lg {
  border-radius: 0.5rem;
}
.border {
  border-width: 1px;
}
.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.p-6 {
  padding: 1.5rem;
}
.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.font-semibold {
  font-weight: 600;
}
.shadow-md {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
@media screen and (min-width: 992px) {
  .md\:col-span-6 {
    grid-column: span 6 / span 6;
  }
  .md\:grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
}


/* -----------------------------------
   Layout and Grid
----------------------------------- */

/* Full Width Table */
.shop_table.woocommerce-checkout-review-order-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 1.5rem; /* 24px */
}

/* Text Alignment */
.shop_table.woocommerce-checkout-review-order-table,
.shop_table.woocommerce-checkout-review-order-table th,
.shop_table.woocommerce-checkout-review-order-table td {
    text-align: left;
}

/* Responsive Table */
@media screen and (max-width: 992px) {
    .shop_table.woocommerce-checkout-review-order-table thead {
        display: none;
    }

    .shop_table.woocommerce-checkout-review-order-table tr {
        display: block;
        margin-bottom: 1rem;
    }

    .shop_table.woocommerce-checkout-review-order-table td {
        display: block;
        text-align: right;
        padding-left: 50%;
        position: relative;
    }

    .shop_table.woocommerce-checkout-review-order-table td::before {
        content: attr(data-label);
        position: absolute;
        left: 0;
        width: 45%;
        padding-left: 1rem;
        font-weight: bold;
        text-align: left;
    }
}

/* -----------------------------------
   Table Headings
----------------------------------- */

.shop_table.woocommerce-checkout-review-order-table thead {
    background-color: #f3f4f6!important; /* bg-gray-100 */
}

.shop_table.woocommerce-checkout-review-order-table th {
    padding: 0.5rem 1rem; /* px-4 py-2 */
    border-bottom: 1px solid #e5e7eb!important; /* border-b */
    font-weight: bold;
    color: #374151; /* text-gray-700 */
}

/* -----------------------------------
   Table Body
----------------------------------- */

.shop_table.woocommerce-checkout-review-order-table tbody {
  background-color: white!important;
}

/* -----------------------------------
   Table Rows
----------------------------------- */

.shop_table.woocommerce-checkout-review-order-table tbody tr.cart_item {
    border-bottom: 1px solid #e5e7eb; /* border-b */
    transition: background-color 0.2s ease-in-out;
}

.shop_table.woocommerce-checkout-review-order-table tbody tr.cart_item:hover {
    background-color: #f9fafb!important; /* hover:bg-gray-50 */
}

/* -----------------------------------
   Table Data Cells
----------------------------------- */

.shop_table.woocommerce-checkout-review-order-table td {
    padding: 0.5rem 1rem; /* px-4 py-2 */
    border-bottom: 1px solid #e5e7eb; /* border-b */
    color: #1f2937; /* text-gray-800 */
}

.shop_table.woocommerce-checkout-review-order-table td.product-quantity {
    color: #4b5563; /* text-gray-600 */
    font-size: 0.875rem; /* text-sm */
}

/* -----------------------------------
   Table Footers
----------------------------------- */

.shop_table.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal,
.shop_table.woocommerce-checkout-review-order-table tfoot tr.cart-discount,
.shop_table.woocommerce-checkout-review-order-table tfoot tr.fee,
.shop_table.woocommerce-checkout-review-order-table tfoot tr.tax-rate,
.shop_table.woocommerce-checkout-review-order-table tfoot tr.tax-total {
    border-top: 1px solid #e5e7eb; /* border-t */
}

.shop_table.woocommerce-checkout-review-order-table tfoot tr.order-total {
    background-color: #f9fafb; /* bg-gray-100 */
    font-weight: 600; /* font-semibold */
}

/* Table Footer Headings */
.shop_table.woocommerce-checkout-review-order-table tfoot th {
    padding: 0.5rem 1rem; /* px-4 py-2 */
    text-align: right;
    font-weight: bold;
    color: #374151; /* text-gray-700 */
    background-color:white;
}

/* Table Footer Data Cells */
.shop_table.woocommerce-checkout-review-order-table tfoot td {
    padding: 0.5rem 1rem; /* px-4 py-2 */
    text-align: left;
    color: #1f2937; /* text-gray-800 */
    background-color:white!important;
}

/* -----------------------------------
   Specific Classes
----------------------------------- */

/* Order Total Row */
.order-total th,
.order-total td {
    font-size: 1rem; /* text-lg */
    color: #1f2937; /* text-gray-800 */
}

/* Backorder Notification */
.backorder_notification {
    color: #ef4444; /* text-red-500 */
    font-size: 0.875rem; /* text-sm */
}

/* Product Quantity */
.product-quantity.text-sm.text-gray-600 {
    color: #4b5563; /* text-gray-600 */
    font-size: 0.875rem; /* text-sm */
}

/* -----------------------------------
   Button Styles Within Table
----------------------------------- */

/* Base Button Styles */
.button {
    display: inline-block;
    padding: 0.5rem 1rem; /* py-2 px-4 */
    border: none;
    border-radius: 0.25rem; /* rounded */
    cursor: pointer;
    font-weight: 600; /* font-semibold */
    color: #ffffff; /* text-white */
    transition: background-color 0.3s ease-in-out;
    background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}

/* Apply Coupon Button */
.button.apply-coupon {
    background-color: #3b82f6; /* bg-blue-500 */
}

.button.apply-coupon:hover {
    background-color: #2563eb; /* hover:bg-blue-600 */
}

/* Update Cart Button */
.button.update-cart {
    background-color: #10b981; /* bg-green-500 */
}

.button.update-cart:hover {
    background-color: #059669; /* hover:bg-green-600 */
}

/* -----------------------------------
   Utility Classes
----------------------------------- */

/* Additional Utility Classes for Consistency */
.text-right {
    text-align: right;
}

.text-gray-700 {
    color: #374151; /* text-gray-700 */
}

.text-gray-800 {
    color: #1f2937; /* text-gray-800 */
}

.text-gray-600 {
    color: #4b5563; /* text-gray-600 */
}

.text-sm {
    font-size: 0.875rem; /* 14px */
}

.font-semibold {
    font-weight: 600;
}

.hover\:bg-gray-50:hover {
    background-color: #f9fafb;
}

.font-bold {
    font-weight: bold;
}


/*Hide WCPay separator*/
#wcpay-express-checkout-button-separator {
  display:none!important;
}