/*
 * Wave 3 authority layer
 *
 * This file is intentionally enqueued after legacy-bridge.css so it becomes
 * the final source of truth for the WooCommerce / calendar surfaces that kept
 * regressing under earlier cascade order.
 */

:root {
  --twl-commerce-inline-pad: 20px;
  --twl-shop-card-width: 257.219px;
  --twl-shop-two-up-max: 530.438px;
  --twl-shop-card-gap: clamp(1rem, 2vw, 1.35rem);
  --twl-checkout-order-top: calc(var(--twl-header-height, 4.8rem) + 1rem);
}

@media (max-width: 1024px) {
  :root {
    --twl-commerce-inline-pad: clamp(1rem, 3vw, 20px);
  }
}

@media (max-width: 639px) {
  :root {
    --twl-commerce-inline-pad: 1rem;
  }
}

.twl-main--commerce > .twl-commerce-content {
  width: 100%;
  box-sizing: border-box;
  padding-inline: var(--twl-commerce-inline-pad);
}

.single-product .twl-main--commerce > .twl-commerce-content {
  padding-inline: clamp(1.25rem, 4vw, 4.3125rem);
}

.twl-main--commerce > .twl-commerce-content > .woocommerce,
.single-product .twl-main--commerce > .twl-commerce-content > .twl-product-shell,
.single-product .twl-main--commerce > .twl-commerce-content > .woocommerce-notices-wrapper {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding-inline: 0;
}

.woocommerce-cart .twl-main--commerce > .twl-commerce-content > .woocommerce,
.woocommerce-checkout .twl-main--commerce > .twl-commerce-content > .woocommerce,
.woocommerce-account .twl-main--commerce > .twl-commerce-content > .woocommerce {
  display: block;
}

/*
 * Public calendar recovery
 */
.twl-next-shortcode-only-surface .twl-calendar-frontend-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 220px);
  gap: 16px !important;
  align-items: start !important;
}

.twl-next-shortcode-only-surface .twl-calendar-frontend-main,
.twl-next-shortcode-only-surface .twl-calendar-wrap,
.twl-next-shortcode-only-surface .twl-calendar-wrap .fc,
.twl-next-shortcode-only-surface .twl-calendar-wrap .fc-view-harness,
.twl-next-shortcode-only-surface .twl-calendar-wrap .fc-view-harness-active,
.twl-next-shortcode-only-surface .twl-calendar-wrap .fc-scroller-harness,
.twl-next-shortcode-only-surface .twl-calendar-wrap .fc-scroller,
.twl-next-shortcode-only-surface .twl-calendar-wrap .fc-scrollgrid,
.twl-next-shortcode-only-surface .twl-calendar-wrap .fc-scrollgrid-liquid,
.twl-next-shortcode-only-surface .twl-calendar-wrap .fc-view {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

.twl-next-shortcode-only-surface .twl-calendar-wrap .fc table,
.twl-next-shortcode-only-surface .twl-calendar-wrap .fc-scrollgrid,
.twl-next-shortcode-only-surface .twl-calendar-wrap .fc-scrollgrid-sync-table,
.twl-next-shortcode-only-surface .twl-calendar-wrap .fc-col-header,
.twl-next-shortcode-only-surface .twl-calendar-wrap .fc-daygrid-body,
.twl-next-shortcode-only-surface .twl-calendar-wrap .fc-daygrid-body table,
.twl-next-shortcode-only-surface .twl-calendar-wrap .fc-scrollgrid-sync-table[style],
.twl-next-shortcode-only-surface .twl-calendar-wrap .fc-col-header[style],
.twl-next-shortcode-only-surface .twl-calendar-wrap .fc-daygrid-body[style] {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important;
}

.twl-next-shortcode-only-surface .twl-calendar-wrap .fc-daygrid-day-frame,
.twl-next-shortcode-only-surface .twl-calendar-wrap .fc-scrollgrid-sync-inner {
  min-width: 0 !important;
}

@media (max-width: 900px) {
  .twl-next-shortcode-only-surface .twl-calendar-frontend-layout {
    grid-template-columns: 1fr;
  }

  .twl-next-shortcode-only-surface .twl-calendar-frontend-side {
    width: 100% !important;
  }
}

/*
 * Shop / ticket archive authority
 */
body.woocommerce-shop .woocommerce ul.products,
body.post-type-archive-product .woocommerce ul.products,
body.tax-product_cat .woocommerce ul.products,
body.tax-product_tag .woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(var(--twl-shop-card-width), var(--twl-shop-card-width))) !important;
  justify-content: start !important;
  gap: var(--twl-shop-card-gap) !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

body.woocommerce-shop .woocommerce ul.products li.product,
body.post-type-archive-product .woocommerce ul.products li.product,
body.tax-product_cat .woocommerce ul.products li.product,
body.tax-product_tag .woocommerce ul.products li.product {
  width: var(--twl-shop-card-width) !important;
  min-width: var(--twl-shop-card-width) !important;
  max-width: var(--twl-shop-card-width) !important;
  margin: 0 !important;
  justify-self: start !important;
}

body.tax-product_cat.term-tickets .woocommerce ul.products li.product,
body.tax-product_cat.term-twl .woocommerce ul.products li.product {
  width: var(--twl-shop-card-width) !important;
  min-width: var(--twl-shop-card-width) !important;
  max-width: var(--twl-shop-card-width) !important;
}

body.woocommerce-shop .woocommerce ul.products li.product .button,
body.post-type-archive-product .woocommerce ul.products li.product .button,
body.tax-product_cat .woocommerce ul.products li.product .button,
body.tax-product_tag .woocommerce ul.products li.product .button {
  width: calc(100% - 1.75rem);
  margin-inline: 0.875rem;
  min-height: 2.65rem;
  padding: 0.55rem 0.7rem;
  font-size: 0.74rem;
  line-height: 1.15;
}

body.woocommerce-shop .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.post-type-archive-product .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.tax-product_tag .woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: clamp(1.05rem, 1.9vw, 1.45rem);
  line-height: 1.12;
}

@media (max-width: 860px) {
  body.woocommerce-shop .woocommerce ul.products,
  body.post-type-archive-product .woocommerce ul.products,
  body.tax-product_cat .woocommerce ul.products,
  body.tax-product_tag .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, calc((100% - 0.9rem) / 2))) !important;
    gap: 0.9rem !important;
    width: min(100%, var(--twl-shop-two-up-max)) !important;
    max-width: var(--twl-shop-two-up-max) !important;
    margin-inline: auto !important;
    justify-content: center !important;
  }

  body.woocommerce-shop .woocommerce ul.products li.product,
  body.post-type-archive-product .woocommerce ul.products li.product,
  body.tax-product_cat .woocommerce ul.products li.product,
  body.tax-product_tag .woocommerce ul.products li.product {
    width: calc((100% - 0.9rem) / 2) !important;
    min-width: 0 !important;
    max-width: calc((100% - 0.9rem) / 2) !important;
    justify-self: stretch !important;
  }

  body.woocommerce-shop .woocommerce ul.products li.product .button,
  body.post-type-archive-product .woocommerce ul.products li.product .button,
  body.tax-product_cat .woocommerce ul.products li.product .button,
  body.tax-product_tag .woocommerce ul.products li.product .button {
    width: calc(100% - 1.25rem);
    margin-inline: 0.625rem;
    font-size: 0.68rem;
    min-height: 2.45rem;
  }
}

@media (max-width: 540px) {
  body.woocommerce-shop .woocommerce ul.products,
  body.post-type-archive-product .woocommerce ul.products,
  body.tax-product_cat .woocommerce ul.products,
  body.tax-product_tag .woocommerce ul.products {
    width: 100% !important;
    max-width: 100% !important;
    gap: 0.75rem !important;
  }
}

/*
 * Cart authority
 */
.woocommerce-cart .woocommerce {
  display: grid !important;
  gap: clamp(1.35rem, 2.6vw, 2rem) !important;
  align-items: start !important;
  padding-inline: var(--twl-commerce-inline-pad) !important;
}

@media (min-width: 1100px) {
  .woocommerce-cart .woocommerce {
    grid-template-columns: minmax(0, 1fr) minmax(22rem, 24rem) !important;
  }
}

.woocommerce-cart .woocommerce-cart-form {
  min-width: 0;
}

.woocommerce-cart .woocommerce-cart-form__contents {
  width: 100% !important;
  table-layout: auto !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

.woocommerce-cart .woocommerce-cart-form__contents .twl-cart-col--remove {
  width: 3rem;
}

.woocommerce-cart .woocommerce-cart-form__contents .twl-cart-col--thumb {
  width: 5.25rem;
}

.woocommerce-cart .woocommerce-cart-form__contents .twl-cart-col--price,
.woocommerce-cart .woocommerce-cart-form__contents .twl-cart-col--quantity,
.woocommerce-cart .woocommerce-cart-form__contents .twl-cart-col--subtotal {
  width: 11rem;
}

.woocommerce-cart .woocommerce-cart-form__contents thead th {
  white-space: nowrap;
}

.woocommerce-cart .woocommerce-cart-form__contents tbody tr.cart_item td,
.woocommerce-cart .woocommerce-cart-form__contents tbody tr.cart_item th {
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.woocommerce-cart .woocommerce-cart-form__contents tbody tr.cart_item:nth-of-type(odd) td {
  background: rgba(255, 255, 255, 0.02);
}

.woocommerce-cart .woocommerce-cart-form__contents tbody tr.cart_item:nth-of-type(even) td {
  background: rgba(255, 255, 255, 0.045);
}

.woocommerce-cart .woocommerce-cart-form__contents td,
.woocommerce-cart .woocommerce-cart-form__contents th {
  padding: 1rem 0.85rem !important;
  vertical-align: middle !important;
}

.woocommerce-cart .woocommerce-cart-form__contents .product-remove {
  padding-inline-start: 1rem !important;
  text-align: center;
}

.woocommerce-cart .woocommerce-cart-form__contents .product-thumbnail {
  padding-inline-end: 0.35rem !important;
}

.woocommerce-cart .woocommerce-cart-form__contents .product-thumbnail img {
  width: 3rem;
  max-width: 3rem;
}

.woocommerce-cart .woocommerce-cart-form__contents .product-name {
  padding-inline-start: 0.35rem !important;
}

.woocommerce-cart .woocommerce-cart-form__contents .product-name a {
  text-align: left;
}

.woocommerce-cart .woocommerce-cart-form__contents .product-price,
.woocommerce-cart .woocommerce-cart-form__contents .product-quantity,
.woocommerce-cart .woocommerce-cart-form__contents .product-subtotal {
  white-space: nowrap;
}

.woocommerce-cart .woocommerce-cart-form__contents td.actions {
  display: table-cell !important;
  padding: 1rem 1rem 1.15rem !important;
  background: rgba(255, 255, 255, 0.025) !important;
}

.woocommerce-cart .twl-cart-actions-row {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  justify-content: space-between;
  flex-wrap: nowrap;
}

.woocommerce-cart .twl-cart-actions-row__coupon {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex: 1 1 auto;
  flex-wrap: nowrap;
  min-width: 0;
}

.woocommerce-cart .twl-cart-actions-row__coupon label {
  margin: 0;
  font-weight: 700;
  color: rgba(255, 253, 248, 0.86);
}

.woocommerce-cart .twl-cart-actions-row__coupon .input-text,
.woocommerce-cart .twl-cart-actions-row__coupon #coupon_code,
.woocommerce-cart .twl-cart-actions-row__coupon #twl_giftcard_code {
  width: 10rem !important;
  min-width: 10rem;
  margin: 0 !important;
  min-height: 3.35rem !important;
  padding: 0.7rem 1rem !important;
  border-radius: 1.1rem !important;
  font-size: 0.98rem !important;
}

.woocommerce-cart .twl-cart-actions-row__coupon .twl-giftcard-coupon {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: nowrap;
  margin: 0 !important;
}

.woocommerce-cart .twl-cart-actions-row__coupon .twl-giftcard-coupon__label {
  display: none !important;
}

.woocommerce-cart .twl-cart-actions-row__coupon .twl-giftcard-coupon__button--clear {
  margin-left: 0 !important;
}

.woocommerce-cart .twl-cart-actions-row__coupon .button,
.woocommerce-cart .twl-cart-actions-row__update .button {
  min-height: 3rem !important;
  padding: 0.35rem 0.55rem !important;
  font-size: 0.68rem !important;
  line-height: 0.92 !important;
  letter-spacing: 0.04em !important;
  white-space: normal !important;
  text-align: center !important;
  display: inline-grid !important;
  place-items: center !important;
  align-content: center !important;
  text-wrap: balance !important;
}

.woocommerce-cart .twl-cart-actions-row__update {
  margin-left: auto;
  display: flex;
  align-items: center;
}

.woocommerce-cart .twl-cart-actions-row__coupon .button {
  flex: 0 0 6.35rem !important;
  width: 6.35rem !important;
}

.woocommerce-cart .twl-cart-actions-row__coupon #coupon_code,
.woocommerce-cart .twl-cart-actions-row__coupon #twl_giftcard_code {
  border-color: rgba(255, 255, 255, 0.14) !important;
  box-shadow: none !important;
}

.woocommerce-cart .twl-cart-actions-row__coupon .twl-giftcard-coupon__button--clear,
.woocommerce-cart .twl-cart-actions-row__update .button {
  flex: 0 0 6.35rem !important;
  width: 6.35rem !important;
}

@media (min-width: 768px) and (max-width: 980px) {
  .woocommerce-cart .woocommerce-cart-form__contents .twl-cart-col--remove {
    width: 2.25rem;
  }

  .woocommerce-cart .woocommerce-cart-form__contents .twl-cart-col--thumb {
    width: 4.5rem;
  }

  .woocommerce-cart .woocommerce-cart-form__contents .twl-cart-col--name {
    width: auto !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents .twl-cart-col--price,
  .woocommerce-cart .woocommerce-cart-form__contents .twl-cart-col--quantity,
  .woocommerce-cart .woocommerce-cart-form__contents .twl-cart-col--subtotal {
    width: 7.25rem;
  }

  .woocommerce-cart .woocommerce-cart-form__contents td,
  .woocommerce-cart .woocommerce-cart-form__contents th {
    padding-inline: 0.55rem !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents thead {
    display: table-header-group !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents tr.cart_item {
    display: table-row !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents tr.cart_item td,
  .woocommerce-cart .woocommerce-cart-form__contents tr.cart_item th {
    display: table-cell !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    vertical-align: middle !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents td.product-thumbnail,
  .woocommerce-cart .woocommerce-cart-form__contents th.product-thumbnail {
    width: 3.25rem !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents td.product-thumbnail img {
    display: block !important;
    width: 2.75rem !important;
    max-width: 2.75rem !important;
    height: auto !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents td.product-name,
  .woocommerce-cart .woocommerce-cart-form__contents td.product-name a {
    display: table-cell !important;
    width: auto !important;
    max-width: none !important;
    min-width: 12rem !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    text-align: left !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents td::before,
  .woocommerce-cart .woocommerce-cart-form__contents th::before {
    display: none !important;
    content: none !important;
  }
}

.woocommerce-cart .cart-collaterals {
  border-top: 0 !important;
  padding-top: 0 !important;
}

.woocommerce-cart .cart_totals {
  width: min(100%, 34rem);
  margin-left: auto;
}

.woocommerce-cart .cart_totals table {
  width: 100% !important;
  table-layout: auto !important;
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
  display: table-cell !important;
  width: 50% !important;
  padding: 1rem 1.1rem !important;
  white-space: nowrap;
  overflow: visible !important;
  float: none !important;
  position: static !important;
  text-indent: 0 !important;
  font-variant-numeric: tabular-nums;
}

.woocommerce-cart .cart_totals table th {
  text-align: left !important;
  color: rgba(255, 253, 248, 0.8) !important;
}

.woocommerce-cart .cart_totals table td {
  text-align: right !important;
  color: #fff !important;
}

.woocommerce-cart .cart_totals table.shop_table_responsive tr td::before {
  display: none !important;
  content: none !important;
}

@media (max-width: 639px) {
  .woocommerce-cart .woocommerce-cart-form__contents td.actions {
    display: block !important;
  }

  .woocommerce-cart .twl-cart-actions-row {
    align-items: stretch;
    flex-wrap: wrap;
  }

  .woocommerce-cart .twl-cart-actions-row,
  .woocommerce-cart .twl-cart-actions-row__coupon,
  .woocommerce-cart .twl-cart-actions-row__coupon .twl-giftcard-coupon,
  .woocommerce-cart .twl-cart-actions-row__update {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100%;
    margin-left: 0;
  }

  .woocommerce-cart .twl-cart-actions-row__coupon,
  .woocommerce-cart .twl-cart-actions-row__coupon .twl-giftcard-coupon {
    flex-wrap: wrap !important;
  }

  .woocommerce-cart .twl-cart-actions-row__coupon .input-text,
  .woocommerce-cart .twl-cart-actions-row__coupon #coupon_code,
  .woocommerce-cart .twl-cart-actions-row__coupon #twl_giftcard_code {
    width: 100% !important;
    min-width: 0;
  }

  .woocommerce-cart .twl-cart-actions-row__coupon .button,
  .woocommerce-cart .twl-cart-actions-row__update .button {
    flex: 1 1 auto;
    width: 100% !important;
  }
}

/*
 * Checkout authority
 */
.woocommerce-checkout form.checkout {
  display: grid !important;
  gap: clamp(1.35rem, 2.4vw, 2rem) !important;
  align-items: start !important;
}

.woocommerce-checkout #customer_details {
  min-width: 0;
  padding: clamp(1.25rem, 2vw, 1.75rem);
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 1.6rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.028)) !important;
  box-shadow: var(--twl-commerce-shadow);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.woocommerce-checkout .twl-checkout-order-column {
  display: grid;
  gap: 0.85rem;
  align-self: start;
  min-width: 0;
}

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
  position: static !important;
  top: auto !important;
  margin: 0 !important;
}

.woocommerce-checkout #order_review_heading {
  padding-inline: 0.35rem;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table {
  table-layout: auto !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td {
  white-space: normal;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
  padding-inline: 1.1rem !important;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper input.input-text,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper textarea,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper input.input-text,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper textarea {
  background: rgba(82, 82, 82, 0.9) !important;
  color: #f8f5ef !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single {
  min-height: 3.5rem;
  background: rgba(82, 82, 82, 0.9) !important;
  color: #f8f5ef !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 1rem !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  min-height: 3.5rem;
  display: flex !important;
  align-items: center;
  padding-left: 1rem !important;
  background: transparent !important;
  color: #f8f5ef !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
  width: 3rem !important;
  height: 100% !important;
  right: 0 !important;
  border-left: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(0, 0, 0, 0.12);
  border-radius: 0 1rem 1rem 0;
}

.woocommerce-checkout .select2-dropdown {
  background: rgba(58, 58, 58, 0.98) !important;
  color: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

.woocommerce-checkout .select2-search--dropdown {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

.woocommerce-checkout .select2-search--dropdown .select2-search__field {
  display: none !important;
  background: rgba(12, 12, 12, 0.98) !important;
  color: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 1rem;
}

.woocommerce-checkout .select2-results__options {
  background: transparent !important;
}

.woocommerce-checkout .select2-results__option {
  padding: 0.75rem 1rem !important;
  background: transparent !important;
  color: rgba(255, 255, 255, 0.95) !important;
  transition: background-color 180ms ease, color 180ms ease;
}

.woocommerce-checkout .select2-results__option:hover {
  background: color-mix(in srgb, var(--twl-hover-color, var(--twl-color-gold)) 22%, rgba(255, 255, 255, 0.06)) !important;
  color: #fff !important;
}

.woocommerce-checkout .select2-results__option--highlighted[aria-selected],
.woocommerce-checkout .select2-results__option--highlighted.select2-results__option--selectable,
.woocommerce-checkout .select2-results__option[aria-selected="true"] {
  background: color-mix(in srgb, var(--twl-hover-color, var(--twl-color-gold)) 26%, rgba(255, 255, 255, 0.08)) !important;
  color: #fff !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered > * {
  background: transparent !important;
  color: inherit !important;
}

@media (min-width: 1080px) {
  .woocommerce-checkout form.checkout {
    grid-template-columns: minmax(0, 1.18fr) minmax(23rem, 27rem) !important;
  }

  .woocommerce-checkout #customer_details {
    grid-column: 1;
    grid-row: 1;
  }

  .woocommerce-checkout .twl-checkout-order-column {
    grid-column: 2;
    grid-row: 1;
    position: sticky;
    top: var(--twl-checkout-order-top);
  }
}

/*
 * Single-product authority
 */
.single-product .twl-product-shell.twl-product-shell--override {
  width: 100% !important;
  margin: 0 !important;
  display: grid !important;
  gap: clamp(1rem, 2vw, 1.5rem);
  align-items: start;
}

.single-product .woocommerce div.product.twl-product-shell.twl-product-shell--override,
.single-product .woocommerce-page div.product.twl-product-shell.twl-product-shell--override {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-layout {
  display: grid !important;
  gap: clamp(1rem, 2vw, 1.5rem);
  align-items: start;
}

@media (min-width: 1100px) {
  .single-product .twl-product-shell.twl-product-shell--override .twl-product-layout--with-details {
    grid-template-columns: minmax(0, 1.45fr) minmax(22rem, 0.82fr);
  }
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card,
.single-product .twl-product-shell.twl-product-shell--override .twl-product-details-card,
.single-product .twl-product-shell.twl-product-shell--override .twl-product-related-row {
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 1.65rem;
  background: linear-gradient(180deg, rgba(68, 68, 68, 0.94), rgba(35, 35, 35, 0.95));
  box-shadow: var(--twl-commerce-shadow);
  overflow: hidden;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__inner {
  display: grid !important;
  grid-template-columns: minmax(300px, 430px) minmax(0, 1fr) !important;
  align-items: stretch;
  min-height: 0;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__media,
.single-product .twl-product-shell.twl-product-shell--override .summary.entry-summary.twl-product-primary-card__summary {
  float: none !important;
  width: auto !important;
  clear: none !important;
  margin: 0 !important;
  position: static !important;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__media {
  min-width: 0;
  padding: 0;
  border-right: 0;
  background: transparent;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__summary {
  display: block !important;
  min-width: 0;
  padding: 1.3rem 1.35rem 1.35rem;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__copy {
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 1rem;
  min-height: 100%;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__meta {
  display: grid;
  gap: 0.85rem;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__purchase {
  margin-top: auto;
  padding-top: 0.35rem;
}

.single-product .twl-product-shell.twl-product-shell--override .product_title {
  margin: 0 !important;
  font-size: clamp(1.8rem, 2.2vw, 2.5rem);
  line-height: 1.02;
  max-width: none;
}

.single-product .twl-product-shell.twl-product-shell--override .price {
  font-size: clamp(1.2rem, 1.6vw, 1.7rem);
  color: var(--twl-color-gold);
}

.single-product .twl-product-shell.twl-product-shell--override .woocommerce-product-details__short-description {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: rgba(255, 253, 248, 0.88);
}

.single-product .twl-product-shell.twl-product-shell--override form.cart {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.single-product .twl-product-shell.twl-product-shell--override form.cart:not(.grouped_form):not(.variations_form) {
  display: grid;
  grid-template-columns: 5.5rem minmax(13rem, max-content);
  gap: 0.85rem;
  align-items: center;
  justify-content: start;
}

.single-product .twl-product-shell.twl-product-shell--override form.cart:not(.grouped_form):not(.variations_form) .quantity {
  width: 5.4rem;
}

.single-product .twl-product-shell.twl-product-shell--override form.cart:not(.grouped_form):not(.variations_form) .single_add_to_cart_button {
  width: 100%;
  min-width: 12rem;
  justify-self: start;
}

.single-product .twl-product-shell.twl-product-shell--override .grouped_form {
  display: grid;
  gap: 0.9rem;
}

.single-product .twl-product-shell.twl-product-shell--override .grouped_form .group_table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
  table-layout: fixed;
}

.single-product .twl-product-shell.twl-product-shell--override .grouped_form .group_table tbody,
.single-product .twl-product-shell.twl-product-shell--override .grouped_form .group_table tr,
.single-product .twl-product-shell.twl-product-shell--override .grouped_form .group_table td,
.single-product .twl-product-shell.twl-product-shell--override .grouped_form .group_table th {
  background: transparent !important;
}

.single-product .twl-product-shell.twl-product-shell--override .grouped_form .group_table tr {
  display: grid;
  grid-template-columns: minmax(5.5rem, auto) minmax(0, 1fr) auto;
  gap: 0.9rem;
  align-items: center;
  padding: 0.8rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.single-product .twl-product-shell.twl-product-shell--override .grouped_form .group_table tr:first-child {
  border-top: 0;
  padding-top: 0;
}

.single-product .twl-product-shell.twl-product-shell--override .grouped_form .group_table td {
  padding: 0 !important;
  border: 0 !important;
}

.single-product .twl-product-shell.twl-product-shell--override .grouped_form .woocommerce-grouped-product-list-item__label a {
  color: rgba(255, 255, 255, 0.96);
  text-decoration: none;
  font-weight: 600;
}

.single-product .twl-product-shell.twl-product-shell--override .grouped_form .woocommerce-grouped-product-list-item__price {
  text-align: right;
  color: var(--twl-color-gold);
  white-space: nowrap;
}

.single-product .twl-product-shell.twl-product-shell--override .woocommerce-product-gallery,
.single-product .twl-product-shell.twl-product-shell--override .woocommerce-product-gallery__wrapper,
.single-product .twl-product-shell.twl-product-shell--override .images {
  width: 100% !important;
  margin: 0 !important;
  opacity: 1 !important;
}

.single-product .twl-product-shell.twl-product-shell--override .woocommerce-product-gallery__wrapper,
.single-product .twl-product-shell.twl-product-shell--override .flex-control-thumbs {
  overflow: hidden;
  border-radius: 0;
}

.single-product .twl-product-shell.twl-product-shell--override .woocommerce-product-gallery__wrapper {
  background: #000;
}

.single-product .twl-product-shell.twl-product-shell--override .woocommerce-product-gallery__image img,
.single-product .twl-product-shell.twl-product-shell--override .woocommerce-product-gallery__wrapper img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.single-product .twl-product-shell.twl-product-shell--override .woocommerce-product-gallery__trigger,
.single-product .twl-product-shell.twl-product-shell--override .product_meta,
.single-product .twl-product-shell.twl-product-shell--override .sku_wrapper,
.single-product .twl-product-shell.twl-product-shell--override .posted_in,
.single-product .twl-product-shell.twl-product-shell--override .tagged_as,
.single-product .twl-product-shell.twl-product-shell--override .woocommerce-tabs {
  display: none !important;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-details-card {
  padding: 1.15rem 1.2rem;
  align-self: stretch;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-details-card__inner {
  display: grid;
  gap: 1rem;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-details-card__title {
  margin: 0;
  font-size: clamp(1.4rem, 1.9vw, 1.95rem);
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-details-card__section {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-details-card__section + .twl-product-details-card__section {
  padding-top: 0.95rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-detail-list {
  display: grid;
  gap: 0.7rem;
  margin: 0;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-detail-list__row {
  display: grid;
  grid-template-columns: minmax(6.5rem, auto) minmax(0, 1fr);
  gap: 0.75rem;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-detail-list__row dt,
.single-product .twl-product-shell.twl-product-shell--override .twl-product-detail-list__row dd {
  margin: 0;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-related-row {
  padding: 0;
  grid-column: 1 / -1;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-related-row .related.products {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
  width: 100%;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-related-row .related.products > h2 {
  margin: 0;
  font-size: clamp(1.1rem, 1.4vw, 1.35rem);
  line-height: 1.1;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-related-row .products {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 1rem !important;
  overflow: hidden !important;
  justify-content: flex-start !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-related-row .products li.product {
  flex: 0 0 200px !important;
  width: 200px !important;
  min-width: 200px !important;
  max-width: 200px !important;
  margin: 0 !important;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-related-row .products li.product:nth-child(n + 5) {
  display: none !important;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-related-row .products li.product a img {
  aspect-ratio: 1 / 1;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-related-row .products li.product .button,
.single-product .twl-product-shell.twl-product-shell--override .twl-product-related-row .products li.product .added_to_cart {
  width: calc(100% - 1.7rem);
  margin: 0.7rem 0.85rem 0.85rem;
  min-height: 2.2rem;
  font-size: 0.68rem;
  padding: 0.5rem 0.45rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1.1;
  text-align: center;
}

@media (max-width: 1099px) {
  .single-product .twl-product-shell.twl-product-shell--override .twl-product-layout--with-details {
    grid-template-columns: 1fr;
  }

  .single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__inner {
    grid-template-columns: 1fr !important;
  }

  .single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__media {
    padding: 1rem 1rem 0;
    border-right: 0;
  }

  .single-product .twl-product-shell.twl-product-shell--override form.cart:not(.grouped_form):not(.variations_form) {
    grid-template-columns: 1fr;
  }

  .single-product .twl-product-shell.twl-product-shell--override form.cart:not(.grouped_form):not(.variations_form) .single_add_to_cart_button {
    min-width: 0;
  }
}

/* === Single product layout reset aligned to calendar modal pattern === */
.single-product .twl-product-shell.twl-product-shell--override {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-layout {
  --twl-product-gap: clamp(1rem, 2vw, 1.5rem);
  display: grid !important;
  gap: var(--twl-product-gap) !important;
  align-items: start !important;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-layout--with-details {
  grid-template-columns: minmax(0, 60%) minmax(320px, 40%) !important;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-layout--solo {
  grid-template-columns: minmax(0, 1fr) !important;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card {
  grid-column: 1 !important;
  display: grid !important;
  grid-template-columns: 400px minmax(0, 1fr) !important;
  gap: 0 !important;
  align-items: stretch !important;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 1.65rem;
  background: #1f2327;
  box-shadow: var(--twl-commerce-shadow);
  overflow: hidden !important;
  min-height: 0 !important;
  height: auto !important;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__inner {
  display: contents !important;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__media {
  grid-column: 1 !important;
  min-width: 0 !important;
  width: 400px !important;
  max-width: 400px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: #000 !important;
  align-self: stretch !important;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__media .woocommerce-product-gallery,
.single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__media .woocommerce-product-gallery__wrapper,
.single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__media .woocommerce-product-gallery__image,
.single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__media .woocommerce-product-gallery__image a {
  width: 100% !important;
  max-width: 400px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__media .woocommerce-product-gallery {
  opacity: 1 !important;
  height: 100% !important;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__media img {
  display: block !important;
  width: 100% !important;
  max-width: 400px !important;
  height: auto !important;
  object-fit: contain !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

.single-product .twl-product-shell.twl-product-shell--override .summary.entry-summary.twl-product-primary-card__summary {
  grid-column: 2 !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 1.25rem 1.5rem !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  position: static !important;
  align-self: stretch !important;
  overflow: visible !important;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__copy {
  display: grid !important;
  grid-template-rows: auto auto 1fr !important;
  gap: 1rem !important;
  min-height: 0 !important;
  height: auto !important;
  align-content: start !important;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__meta,
.single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__purchase {
  min-width: 0 !important;
  min-height: 0 !important;
}

.single-product .twl-product-shell.twl-product-shell--override .product_title {
  display: block !important;
  margin: 0 0 0.75rem !important;
  max-width: none !important;
  width: 100% !important;
  font-size: clamp(2rem, 3vw, 3.15rem) !important;
  line-height: 1.05 !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

.single-product .twl-product-shell.twl-product-shell--override .price {
  margin: 0 !important;
  font-size: clamp(1.35rem, 1.8vw, 1.9rem) !important;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-details-card {
  grid-column: 2 !important;
  display: block !important;
  padding: 1.25rem 1.5rem !important;
  margin: 0 !important;
  align-self: stretch !important;
  min-height: 0 !important;
  height: auto !important;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 1.65rem;
  background: #1f2327;
  box-shadow: var(--twl-commerce-shadow);
  overflow: hidden !important;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-details-card__inner {
  display: block !important;
  min-height: 0 !important;
  height: auto !important;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-details-card__title {
  display: block !important;
  margin: 0 0 1rem !important;
  padding: 0 !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  line-height: 1.05 !important;
  font-size: clamp(1.8rem, 2.2vw, 2.5rem) !important;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-details-card__section {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-details-card__section h3 {
  display: none !important;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-details-card__content,
.single-product .twl-product-shell.twl-product-shell--override .twl-product-details-card__content p:first-child {
  margin-top: 0 !important;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-related-row {
  grid-column: 1 / -1 !important;
  padding: 0 !important;
  margin-top: 1rem !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-related-row .products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 257px)) !important;
  justify-content: start !important;
  gap: 1rem !important;
  overflow: visible !important;
}

.single-product .twl-product-shell.twl-product-shell--override .twl-product-related-row .products li.product {
  width: 100% !important;
  max-width: 257px !important;
  min-width: 0 !important;
  flex: none !important;
  margin: 0 !important;
}

@media (max-width: 1199px) {
  .single-product .twl-product-shell.twl-product-shell--override .twl-product-layout--with-details {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .single-product .twl-product-shell.twl-product-shell--override .twl-product-details-card {
    grid-column: 1 !important;
  }
}

@media (max-width: 900px) {
  .single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__media,
  .single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__media .woocommerce-product-gallery,
  .single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__media .woocommerce-product-gallery__wrapper,
  .single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__media .woocommerce-product-gallery__image,
  .single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__media .woocommerce-product-gallery__image a,
  .single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__media img {
    max-width: 100% !important;
    width: 100% !important;
  }
  .single-product .twl-product-shell.twl-product-shell--override .summary.entry-summary.twl-product-primary-card__summary {
    grid-column: 1 !important;
  }
}

@media (max-width: 768px) {
  .single-product .twl-product-shell.twl-product-shell--override .twl-product-related-row .products {
    grid-template-columns: repeat(2, minmax(0, 257px)) !important;
  }
}

@media (max-width: 549px) {
  .single-product .twl-product-shell.twl-product-shell--override .twl-product-related-row .products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* === v5.11: related products full width row, smaller cards like shop page === */
.single-product .twl-product-shell.twl-product-shell--override{
  display:grid !important;
  grid-template-columns:minmax(0, 65%) minmax(320px, 35%) !important;
  gap:28px !important;
  align-items:start !important;
}

.single-product .twl-product-shell.twl-product-shell--override > .twl-product-layout{
  grid-column:1 / -1 !important;
}

.single-product .twl-product-shell.twl-product-shell--override > .twl-product-related-row{
  grid-column:1 / -1 !important;
  width:100% !important;
  max-width:100% !important;
  margin:24px 0 0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.single-product .twl-product-shell.twl-product-shell--override > .twl-product-related-row .related.products{
  display:block !important;
  width:100% !important;
}

.single-product .twl-product-shell.twl-product-shell--override > .twl-product-related-row .related.products > h2{
  display:block !important;
  width:100% !important;
  margin:0 0 16px !important;
  line-height:1.05 !important;
}

.single-product .twl-product-shell.twl-product-shell--override > .twl-product-related-row ul.products{
  display:grid !important;
  grid-template-columns:repeat(auto-fit, minmax(180px, 200px)) !important;
  justify-content:start !important;
  gap:16px !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
}

.single-product .twl-product-shell.twl-product-shell--override > .twl-product-related-row ul.products li.product{
  min-width:180px !important;
  max-width:200px !important;
  width:100% !important;
  margin:0 !important;
}

.single-product .twl-product-shell.twl-product-shell--override > .twl-product-related-row ul.products li.product img{
  width:100% !important;
  min-height:180px !important;
  object-fit:cover !important;
}

.single-product .twl-product-shell.twl-product-shell--override > .twl-product-related-row ul.products li.product .woocommerce-loop-product__title{
  display:block !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:anywhere !important;
  line-height:1.15 !important;
  font-size:clamp(1.05rem, 1.9vw, 1.45rem) !important;
}

.single-product .twl-product-shell.twl-product-shell--override > .twl-product-related-row ul.products li.product .price{
  white-space:normal !important;
  line-height:1.15 !important;
  font-size:0.95rem !important;
}

.single-product .twl-product-shell.twl-product-shell--override > .twl-product-related-row ul.products li.product .button{
  writing-mode:horizontal-tb !important;
  text-orientation:mixed !important;
  white-space:normal !important;
  width:calc(100% - 1.25rem) !important;
  margin-inline:0.625rem !important;
  font-size:0.68rem !important;
  min-height:2.45rem !important;
}

@media (max-width: 1240px){
  .single-product .twl-product-shell.twl-product-shell--override{
    grid-template-columns:minmax(0, 1fr) !important;
  }
}

@media (max-width: 540px){
  .single-product .twl-product-shell.twl-product-shell--override > .twl-product-related-row ul.products{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:0.75rem !important;
  }

  .single-product .twl-product-shell.twl-product-shell--override > .twl-product-related-row ul.products li.product{
    min-width:0 !important;
    max-width:none !important;
  }
}

/* === v5.121: restore commerce-content padding, do not zero it on single product === */
.twl-main--commerce > .twl-commerce-content{
  padding-left: var(--twl-commerce-inline-pad) !important;
  padding-right: var(--twl-commerce-inline-pad) !important;
  padding-inline: var(--twl-commerce-inline-pad) !important;
}

.single-product .twl-main--commerce > .twl-commerce-content,
.single-product .twl-main--commerce > .twl-commerce-content > .twl-product-shell,
.single-product .twl-main--commerce > .twl-commerce-content > .woocommerce-notices-wrapper{
  box-sizing: border-box !important;
}

.single-product .twl-main--commerce > .twl-commerce-content{
  padding-left: clamp(1.25rem, 4vw, 4.3125rem) !important;
  padding-right: clamp(1.25rem, 4vw, 4.3125rem) !important;
  padding-inline: clamp(1.25rem, 4vw, 4.3125rem) !important;
}

/* Checked against the theme files: the broad margin-inline:auto rule in foundation.css
   targets direct .woocommerce children of .twl-main, not the current single-product
   .twl-product-shell inside .twl-commerce-content, so keep the padding here. */

/* === v5.122: variation dropdown styled like state dropdown (label above) === */
.single-product .twl-product-shell.twl-product-shell--override form.variations_form .variations{
  display:block !important;
  width:100% !important;
  margin:0 0 1rem !important;
}

.single-product .twl-product-shell.twl-product-shell--override form.variations_form .variations tr{
  display:block !important;
  width:100% !important;
  margin:0 0 1rem !important;
}

.single-product .twl-product-shell.twl-product-shell--override form.variations_form .variations td{
  display:block !important;
  width:100% !important;
  padding:0 !important;
}

.single-product .twl-product-shell.twl-product-shell--override form.variations_form .variations label{
  display:block !important;
  width:100% !important;
  margin:0 0 0.5rem !important;
  font-weight:700 !important;
  color:rgba(255,253,248,0.9) !important;
}

.single-product .twl-product-shell.twl-product-shell--override form.variations_form .variations select{
  display:block !important;
  width:100% !important;
  min-height:3.5rem !important;
  padding:0.9rem 1rem !important;
  border-radius:1rem !important;
  border:1px solid rgba(255,255,255,0.12) !important;
  background:rgba(82,82,82,0.9) !important;
  color:#f8f5ef !important;
  appearance:none !important;
}

/* remove inline/reset junk Woo adds */
.single-product .twl-product-shell.twl-product-shell--override form.variations_form .variations select:focus{
  outline:none !important;
  border-color:rgba(255,255,255,0.2) !important;
}

/* hide reset link to match cleaner state dropdown UI */
.single-product .twl-product-shell.twl-product-shell--override form.variations_form .reset_variations{
  display:none !important;
}

/* === v5.123: tighten variation dropdown + overlap label === */
.single-product .twl-product-shell.twl-product-shell--override 
form.variations_form .variations label{
  margin:0 !important;
  margin-bottom:-0.4rem !important;
  position:relative !important;
  z-index:2 !important;
  padding-left:0.5rem !important;
  font-size:0.95rem !important;
}

.single-product .twl-product-shell.twl-product-shell--override 
form.variations_form .variations select{
  min-height:2.6rem !important;
  padding:0.6rem 0.9rem !important;
  border-radius:0.9rem !important;
  font-size:0.95rem !important;
}

/* === v5.124: adjust main columns to 65 / 35 === */
.single-product .twl-product-shell.twl-product-shell--override .twl-product-layout{
  display:grid !important;
  grid-template-columns:65% 35% !important;
  gap:28px !important;
  align-items:start !important;
}

/* === v5.125: grouped rows responsive + primary card expands when details stack === */

/* grouped rows: keep horizontal when possible, drop button under/right when tight */
.single-product .twl-product-shell.twl-product-shell--override .grouped_form .group_table tr{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) auto !important;
  grid-template-areas:
    "label price"
    "button button" !important;
  gap:0.85rem 1rem !important;
  align-items:center !important;
}

.single-product .twl-product-shell.twl-product-shell--override .grouped_form .woocommerce-grouped-product-list-item__quantity{
  grid-area:button !important;
  justify-self:end !important;
  width:auto !important;
}

.single-product .twl-product-shell.twl-product-shell--override .grouped_form .woocommerce-grouped-product-list-item__label{
  grid-area:label !important;
  min-width:0 !important;
}

.single-product .twl-product-shell.twl-product-shell--override .grouped_form .woocommerce-grouped-product-list-item__label label,
.single-product .twl-product-shell.twl-product-shell--override .grouped_form .woocommerce-grouped-product-list-item__label a{
  display:block !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  line-height:1.35 !important;
}

.single-product .twl-product-shell.twl-product-shell--override .grouped_form .woocommerce-grouped-product-list-item__price{
  grid-area:price !important;
  text-align:right !important;
  align-self:center !important;
  white-space:nowrap !important;
}

.single-product .twl-product-shell.twl-product-shell--override .grouped_form .woocommerce-grouped-product-list-item__quantity .button{
  width:auto !important;
  min-width:7.75rem !important;
  max-width:100% !important;
  min-height:3.1rem !important;
  writing-mode:horizontal-tb !important;
  text-orientation:mixed !important;
  white-space:normal !important;
}

@media (max-width: 900px){
  .single-product .twl-product-shell.twl-product-shell--override .grouped_form .group_table tr{
    grid-template-columns:minmax(0, 1fr) auto !important;
    grid-template-areas:
      "label label"
      "price price"
      "button button" !important;
    gap:0.65rem !important;
  }

  .single-product .twl-product-shell.twl-product-shell--override .grouped_form .woocommerce-grouped-product-list-item__price{
    text-align:left !important;
    white-space:normal !important;
  }

  .single-product .twl-product-shell.twl-product-shell--override .grouped_form .woocommerce-grouped-product-list-item__quantity{
    justify-self:start !important;
  }
}

/* when details stack, let primary card use full width and copy fill available space */
@media (max-width: 1199px){
  .single-product .twl-product-shell.twl-product-shell--override .twl-product-layout--with-details{
    grid-template-columns:minmax(0, 1fr) !important;
  }

  .single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card{
    width:100% !important;
    max-width:100% !important;
  }

  .single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__inner{
    display:grid !important;
    grid-template-columns:400px minmax(0, 1fr) !important;
    width:100% !important;
  }

  .single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__copy{
    width:100% !important;
    max-width:none !important;
  }
}

@media (max-width: 900px){
  .single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__inner{
    grid-template-columns:minmax(0, 1fr) !important;
  }

  .single-product .twl-product-shell.twl-product-shell--override .summary.entry-summary.twl-product-primary-card__summary,
  .single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__copy{
    width:100% !important;
    max-width:100% !important;
  }
}

/* === v5.21: shop/archive cards auto-fit at 257px desktop, 2-up at 257px/200px === */
body.woocommerce-shop .twl-main--commerce > .twl-commerce-content > ul.products,
body.post-type-archive-product .twl-main--commerce > .twl-commerce-content > ul.products,
body.tax-product_cat .twl-main--commerce > .twl-commerce-content > ul.products,
body.tax-product_tag .twl-main--commerce > .twl-commerce-content > ul.products,
body.woocommerce-shop .woocommerce ul.products,
body.post-type-archive-product .woocommerce ul.products,
body.tax-product_cat .woocommerce ul.products,
body.tax-product_tag .woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, 257px) !important;
  justify-content: start !important;
  align-content: start !important;
  gap: var(--twl-shop-card-gap) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

body.woocommerce-shop .twl-main--commerce > .twl-commerce-content > ul.products li.product,
body.post-type-archive-product .twl-main--commerce > .twl-commerce-content > ul.products li.product,
body.tax-product_cat .twl-main--commerce > .twl-commerce-content > ul.products li.product,
body.tax-product_tag .twl-main--commerce > .twl-commerce-content > ul.products li.product,
body.woocommerce-shop .woocommerce ul.products li.product,
body.post-type-archive-product .woocommerce ul.products li.product,
body.tax-product_cat .woocommerce ul.products li.product,
body.tax-product_tag .woocommerce ul.products li.product {
  width: 257px !important;
  min-width: 257px !important;
  max-width: 257px !important;
  margin: 0 !important;
  justify-self: start !important;
}

body.woocommerce-shop .twl-main--commerce > .twl-commerce-content > ul.products li.product .button,
body.post-type-archive-product .twl-main--commerce > .twl-commerce-content > ul.products li.product .button,
body.tax-product_cat .twl-main--commerce > .twl-commerce-content > ul.products li.product .button,
body.tax-product_tag .twl-main--commerce > .twl-commerce-content > ul.products li.product .button,
body.woocommerce-shop .woocommerce ul.products li.product .button,
body.post-type-archive-product .woocommerce ul.products li.product .button,
body.tax-product_cat .woocommerce ul.products li.product .button,
body.tax-product_tag .woocommerce ul.products li.product .button {
  width: calc(100% - 1.75rem) !important;
  margin-inline: 0.875rem !important;
  min-height: 2.65rem !important;
  padding: 0.55rem 0.7rem !important;
  font-size: 0.74rem !important;
  line-height: 1.15 !important;
}

body.woocommerce-shop .twl-main--commerce > .twl-commerce-content > ul.products li.product .woocommerce-loop-product__title,
body.post-type-archive-product .twl-main--commerce > .twl-commerce-content > ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat .twl-main--commerce > .twl-commerce-content > ul.products li.product .woocommerce-loop-product__title,
body.tax-product_tag .twl-main--commerce > .twl-commerce-content > ul.products li.product .woocommerce-loop-product__title,
body.woocommerce-shop .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.post-type-archive-product .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.tax-product_tag .woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: clamp(1.05rem, 1.9vw, 1.45rem) !important;
  line-height: 1.12 !important;
}

body.woocommerce-shop .twl-main--commerce > .twl-commerce-content > ul.products li.product .price,
body.post-type-archive-product .twl-main--commerce > .twl-commerce-content > ul.products li.product .price,
body.tax-product_cat .twl-main--commerce > .twl-commerce-content > ul.products li.product .price,
body.tax-product_tag .twl-main--commerce > .twl-commerce-content > ul.products li.product .price,
body.woocommerce-shop .woocommerce ul.products li.product .price,
body.post-type-archive-product .woocommerce ul.products li.product .price,
body.tax-product_cat .woocommerce ul.products li.product .price,
body.tax-product_tag .woocommerce ul.products li.product .price {
  font-size: 1rem !important;
  line-height: 1.15 !important;
}

@media (max-width: 768px) {
  body.woocommerce-shop .twl-main--commerce > .twl-commerce-content > ul.products,
  body.post-type-archive-product .twl-main--commerce > .twl-commerce-content > ul.products,
  body.tax-product_cat .twl-main--commerce > .twl-commerce-content > ul.products,
  body.tax-product_tag .twl-main--commerce > .twl-commerce-content > ul.products,
  body.woocommerce-shop .woocommerce ul.products,
  body.post-type-archive-product .woocommerce ul.products,
  body.tax-product_cat .woocommerce ul.products,
  body.tax-product_tag .woocommerce ul.products {
    grid-template-columns: repeat(2, 257px) !important;
    gap: 0.9rem !important;
    justify-content: start !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }

  body.woocommerce-shop .twl-main--commerce > .twl-commerce-content > ul.products li.product,
  body.post-type-archive-product .twl-main--commerce > .twl-commerce-content > ul.products li.product,
  body.tax-product_cat .twl-main--commerce > .twl-commerce-content > ul.products li.product,
  body.tax-product_tag .twl-main--commerce > .twl-commerce-content > ul.products li.product,
  body.woocommerce-shop .woocommerce ul.products li.product,
  body.post-type-archive-product .woocommerce ul.products li.product,
  body.tax-product_cat .woocommerce ul.products li.product,
  body.tax-product_tag .woocommerce ul.products li.product {
    width: 257px !important;
    min-width: 257px !important;
    max-width: 257px !important;
  }
}

@media (max-width: 548px) {
  body.woocommerce-shop .twl-main--commerce > .twl-commerce-content > ul.products,
  body.post-type-archive-product .twl-main--commerce > .twl-commerce-content > ul.products,
  body.tax-product_cat .twl-main--commerce > .twl-commerce-content > ul.products,
  body.tax-product_tag .twl-main--commerce > .twl-commerce-content > ul.products,
  body.woocommerce-shop .woocommerce ul.products,
  body.post-type-archive-product .woocommerce ul.products,
  body.tax-product_cat .woocommerce ul.products,
  body.tax-product_tag .woocommerce ul.products {
    grid-template-columns: repeat(2, 200px) !important;
    gap: 0.75rem !important;
    justify-content: start !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }

  body.woocommerce-shop .twl-main--commerce > .twl-commerce-content > ul.products li.product,
  body.post-type-archive-product .twl-main--commerce > .twl-commerce-content > ul.products li.product,
  body.tax-product_cat .twl-main--commerce > .twl-commerce-content > ul.products li.product,
  body.tax-product_tag .twl-main--commerce > .twl-commerce-content > ul.products li.product,
  body.woocommerce-shop .woocommerce ul.products li.product,
  body.post-type-archive-product .woocommerce ul.products li.product,
  body.tax-product_cat .woocommerce ul.products li.product,
  body.tax-product_tag .woocommerce ul.products li.product {
    width: 200px !important;
    min-width: 200px !important;
    max-width: 200px !important;
  }
}

/* === v5.22: reduce side padding at 548px === */
@media (max-width: 548px){

  .twl-main--commerce > .twl-commerce-content{
    padding-left:5px !important;
    padding-right:5px !important;
  }

  .twl-main--commerce{
    padding-left:5px !important;
    padding-right:5px !important;
  }

  .woocommerce ul.products{
    margin-left:0 !important;
    margin-right:0 !important;
  }
}

/* === v5.23: lock remaining product/cart/checkout breakpoint fixes === */
@media (min-width: 1100px) {
  .single-product .twl-product-shell.twl-product-shell--override .twl-product-details-card {
    padding-left: 69px !important;
    padding-right: 69px !important;
  }

  .woocommerce-cart .twl-main--commerce > .twl-commerce-content,
  .woocommerce-checkout .twl-main--commerce > .twl-commerce-content {
    padding-left: 69px !important;
    padding-right: 69px !important;
  }
}

@media (max-width: 1199px) {
  .single-product .twl-product-shell.twl-product-shell--override .twl-product-layout--with-details {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .single-product .twl-product-shell.twl-product-shell--override .twl-product-details-card {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 69px !important;
    padding-right: 69px !important;
  }

  .single-product .twl-product-shell.twl-product-shell--override .summary.entry-summary.twl-product-primary-card__summary {
    padding-right: 69px !important;
  }

  .single-product .twl-product-shell.twl-product-shell--override .twl-product-details-card__inner,
  .single-product .twl-product-shell.twl-product-shell--override .twl-product-details-card__section,
  .single-product .twl-product-shell.twl-product-shell--override .twl-product-details-card__content {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

}

@media (max-width: 767px) {
  .single-product .twl-product-shell.twl-product-shell--override .twl-product-details-card,
  .woocommerce-cart .twl-main--commerce > .twl-commerce-content,
  .woocommerce-checkout .twl-main--commerce > .twl-commerce-content {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

}

@media (max-width: 767px) {
  .woocommerce-cart .woocommerce-cart-form__contents {
    display: block !important;
    width: 100% !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents tbody {
    display: block !important;
    width: 100% !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents thead {
    display: none !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents tr.cart_item {
    display: grid !important;
    width: 100% !important;
    grid-template-columns: 2rem 5rem 1fr 1fr 1fr !important;
    grid-template-areas:
      "remove thumb name name name"
      ". . price quantity subtotal";
    align-items: start !important;
    row-gap: 0.55rem !important;
    column-gap: 0.75rem !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents tr.cart_item td {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    padding-bottom: 0 !important;
    background: transparent !important;
    border-top: 0 !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents td.product-remove {
    grid-area: remove;
    width: 2rem !important;
    text-align: center !important;
    padding-inline: 0 !important;
    padding-top: 0.45rem !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents td.product-thumbnail {
    grid-area: thumb;
    grid-row: 1 / span 1 !important;
    width: 5rem !important;
    padding-inline: 0 !important;
    align-self: start !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents td.product-thumbnail img {
    display: block !important;
    width: 100% !important;
    max-width: 5rem !important;
    height: auto !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents td.product-name {
    grid-area: name;
    padding-inline: 0 !important;
    padding-top: 1rem !important;
    padding-right: 0.8rem !important;
    align-self: start !important;
    text-align: left !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents td.product-price {
    grid-area: price;
    padding-left: 0 !important;
    padding-top: 0 !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents td.product-quantity {
    grid-area: quantity;
    padding-left: 0 !important;
    padding-top: 0 !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents td.product-subtotal {
    grid-area: subtotal;
    padding-left: 0 !important;
    padding-top: 0 !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents td.product-price,
  .woocommerce-cart .woocommerce-cart-form__contents td.product-quantity,
  .woocommerce-cart .woocommerce-cart-form__contents td.product-subtotal {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: start !important;
    gap: 0.2rem !important;
    text-align: left !important;
    white-space: normal !important;
    align-content: start !important;
    min-width: 0 !important;
    padding-top: 0.2rem !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents td.product-price::before,
  .woocommerce-cart .woocommerce-cart-form__contents td.product-quantity::before,
  .woocommerce-cart .woocommerce-cart-form__contents td.product-subtotal::before {
    content: attr(data-title) !important;
    display: block !important;
    font-weight: 700 !important;
    color: rgba(255, 253, 248, 0.72) !important;
    font-size: 0.82rem !important;
    line-height: 1.1 !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents td.product-price > *,
  .woocommerce-cart .woocommerce-cart-form__contents td.product-quantity > *,
  .woocommerce-cart .woocommerce-cart-form__contents td.product-subtotal > * {
    justify-self: start !important;
    text-align: left !important;
    margin-top: 0 !important;
  }

  .woocommerce-cart .cart_totals {
    width: 100% !important;
    margin-left: 0 !important;
  }

  .woocommerce-cart .cart_totals table th,
  .woocommerce-cart .cart_totals table td {
    width: 50% !important;
    white-space: nowrap !important;
  }

  .woocommerce-cart .cart_totals table td {
    text-align: right !important;
    justify-content: flex-end !important;
  }
}

/* === v5.24: fix narrow content columns on product/cart and restore checkout heading separation === */
@media (max-width: 1199px) {
  .single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card {
    grid-template-columns: 400px minmax(0, 1fr) !important;
  }

  .single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__inner {
    display: contents !important;
  }

  .single-product .twl-product-shell.twl-product-shell--override .summary.entry-summary.twl-product-primary-card__summary,
  .single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__copy,
  .single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__meta,
  .single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__purchase,
  .single-product .twl-product-shell.twl-product-shell--override .twl-product-details-card__content,
  .single-product .twl-product-shell.twl-product-shell--override .twl-product-details-card__content *,
  .single-product .twl-product-shell.twl-product-shell--override .product_title,
  .single-product .twl-product-shell.twl-product-shell--override .price,
  .single-product .twl-product-shell.twl-product-shell--override form.cart,
  .single-product .twl-product-shell.twl-product-shell--override form.cart * {
    min-width: 0 !important;
    max-width: 100% !important;
    width: auto !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: break-word !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
  }
}

@media (max-width: 900px) {
  .single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__media {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    background: transparent !important;
    align-self: start !important;
  }

  .single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__media .woocommerce-product-gallery,
  .single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__media .woocommerce-product-gallery__wrapper,
  .single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__media .woocommerce-product-gallery__image,
  .single-product .twl-product-shell.twl-product-shell--override .twl-product-primary-card__media .woocommerce-product-gallery__image a {
    height: auto !important;
    min-height: 0 !important;
  }

  .single-product .twl-product-shell.twl-product-shell--override .summary.entry-summary.twl-product-primary-card__summary {
    padding-right: 20px !important;
  }
}

@media (max-width: 767px) {
  .woocommerce-cart .woocommerce-cart-form__contents td.product-name,
  .woocommerce-cart .woocommerce-cart-form__contents td.product-name a,
  .woocommerce-cart .woocommerce-cart-form__contents td.product-price,
  .woocommerce-cart .woocommerce-cart-form__contents td.product-quantity,
  .woocommerce-cart .woocommerce-cart-form__contents td.product-subtotal,
  .woocommerce-cart .woocommerce-cart-form__contents td.product-price *,
  .woocommerce-cart .woocommerce-cart-form__contents td.product-quantity *,
  .woocommerce-cart .woocommerce-cart-form__contents td.product-subtotal * {
    width: auto !important;
    min-width: 0 !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: break-word !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents td.product-name a {
    display: block !important;
    line-height: 1.15 !important;
    text-decoration: none !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents td.product-name a,
  .woocommerce-cart .woocommerce-cart-form__contents td.product-name .variation,
  .woocommerce-cart .woocommerce-cart-form__contents td.product-name .variation *,
  .woocommerce-cart .woocommerce-cart-form__contents td.product-name .wc-item-meta,
  .woocommerce-cart .woocommerce-cart-form__contents td.product-name .wc-item-meta * {
    text-align: left !important;
    justify-self: start !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents td.product-name a {
    display: block !important;
    line-height: 1.15 !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents td.product-price,
  .woocommerce-cart .woocommerce-cart-form__contents td.product-quantity,
  .woocommerce-cart .woocommerce-cart-form__contents td.product-subtotal {
    grid-template-columns: 1fr !important;
    justify-items: start !important;
    gap: 0.35rem !important;
    text-align: left !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents td.product-name {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    padding-right: 0.8rem !important;
    text-align: left !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents td.product-name::before,
  .woocommerce-cart .woocommerce-cart-form__contents td.product-remove::before,
  .woocommerce-cart .woocommerce-cart-form__contents td.product-thumbnail::before {
    display: none !important;
    content: none !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents td.product-price::before,
  .woocommerce-cart .woocommerce-cart-form__contents td.product-quantity::before,
  .woocommerce-cart .woocommerce-cart-form__contents td.product-subtotal::before {
    justify-self: start !important;
    margin: 0 !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents td.product-price > *,
  .woocommerce-cart .woocommerce-cart-form__contents td.product-quantity > *,
  .woocommerce-cart .woocommerce-cart-form__contents td.product-subtotal > * {
    justify-self: start !important;
    text-align: left !important;
    margin: 0 !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents td.product-quantity .quantity,
  .woocommerce-cart .woocommerce-cart-form__contents td.product-quantity .quantity .qty {
    width: auto !important;
    min-width: 3.8rem !important;
    max-width: 4.25rem !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents td.product-quantity .quantity {
    justify-self: start !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents td.product-quantity .twl-cart-quantity-select-wrap {
    display: block !important;
    width: auto !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents td.product-quantity .twl-cart-quantity-select {
    min-height: 2.25rem !important;
    height: 2.25rem !important;
    min-width: 4rem !important;
    max-width: 4.5rem !important;
    padding: 0 1.75rem 0 0.7rem !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    background-color: rgba(0, 0, 0, 0.82) !important;
    color: #fffdf8 !important;
    background-position: right 0.65rem center !important;
    background-size: 0.7rem auto !important;
    font-size: 1rem !important;
    line-height: 1 !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.03) !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
  }

  .woocommerce-cart .cart_totals,
  .woocommerce-cart .cart_totals table {
    width: 100% !important;
  }

  .woocommerce-cart .cart_totals tr {
    display: table-row !important;
  }

  .woocommerce-cart .cart_totals table th,
  .woocommerce-cart .cart_totals table td {
    display: table-cell !important;
    width: auto !important;
    padding: 0.9rem 1rem !important;
    white-space: nowrap !important;
    vertical-align: middle !important;
  }

  .woocommerce-cart .cart_totals table th {
    text-align: left !important;
  }

  .woocommerce-cart .cart_totals table td {
    text-align: right !important;
    padding-left: 0.75rem !important;
  }

  .woocommerce-cart .cart_totals table td::before,
  .woocommerce-cart .cart_totals table th::before {
    display: none !important;
    content: none !important;
  }
}

@media (min-width: 1080px) {
  .woocommerce-checkout .twl-checkout-order-column {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-auto-rows: min-content !important;
    align-self: start !important;
    position: sticky !important;
    top: var(--twl-checkout-order-top) !important;
  }

  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review {
    grid-column: auto !important;
    grid-row: auto !important;
  }

  .woocommerce-checkout #order_review_heading {
    position: static !important;
    margin: 0 0 0.85rem !important;
    padding-inline: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    align-self: start !important;
  }

  .woocommerce-checkout #order_review {
    position: static !important;
    margin: 0 !important;
  }
}

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .woocommerce-checkout-review-order-table th.product-total,
.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-total,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
  white-space: nowrap !important;
}
