/* ==========================================================================
   TarkMart 1.6 — store pages: product page, cart, checkout.
   Uses the 1.5 tokens from blocks.css (--tm-panel etc.).
   ========================================================================== */

/* Generic pages (cart, checkout, terms, …) keep their side padding on phones */
.tm-container.tm-page { padding-left: 1.75rem; padding-right: 1.75rem; }
@media (max-width: 767px) { .tm-container.tm-page, .tm-page > .tm-container { padding-left: 16px; padding-right: 16px; } }

/* --------------------------------------------------------------------------
   Product page
   -------------------------------------------------------------------------- */
.tm-pdp { padding: 8px 0 48px; }
.tm-pdp-crumbs { font-size: 14px; color: var(--tm-panel-sub); margin: 4px 0 20px; }
.tm-pdp-crumbs .woocommerce-breadcrumb { margin: 0; font-size: inherit; color: inherit; }
.tm-pdp-crumbs a { color: inherit; text-decoration: none; }
.tm-pdp-crumbs a:hover { color: var(--tm-navy); text-decoration: underline; text-underline-offset: 3px; }
.tm-crumb-sep { margin: 0 8px; opacity: .5; }

.tm-pdp-grid {
  display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: clamp(28px, 4vw, 56px); align-items: start;
}
.woocommerce div.product.tm-pdp .tm-pdp-grid div.images,
.woocommerce div.product.tm-pdp .tm-pdp-grid div.summary { float: none; width: 100%; margin: 0; }

/* Gallery: big photo on white, thumbnails underneath. Sticky beside the details on desktop. */
.tm-pdp-gallery { position: sticky; top: 96px; }
body.admin-bar .tm-pdp-gallery { top: 128px; }
.tm-pdp .woocommerce-product-gallery { position: relative; margin: 0 !important; }
.tm-pdp .woocommerce-product-gallery .flex-viewport,
.tm-pdp .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:only-child {
  border-radius: 28px; overflow: hidden; background: #fff; border: 1px solid var(--tm-border);
}
.tm-pdp .woocommerce-product-gallery__image img { display: block; width: 100%; height: auto; }
.tm-pdp .woocommerce-product-gallery__trigger {
  position: absolute; top: 16px; right: 16px; z-index: 5;
  width: 44px; height: 44px; border-radius: 50%; background: #fff;
  display: grid; place-items: center; text-indent: -9999px; overflow: hidden;
  box-shadow: 0 2px 10px rgba(11,31,77,.12);
}
.tm-pdp .woocommerce-product-gallery__trigger::before {
  content: ""; text-indent: 0; width: 18px; height: 18px;
  background: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B1F4D' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7'/%3E%3C/svg%3E");
}
.tm-pdp .woocommerce-product-gallery__trigger img, .tm-pdp .woocommerce-product-gallery__trigger span { display: none !important; }
.tm-pdp .flex-control-thumbs {
  display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px;
  list-style: none; margin: 12px 0 0 !important; padding: 0 !important;
}
.tm-pdp .flex-control-thumbs li { width: auto !important; float: none !important; margin: 0 !important; }
.tm-pdp .flex-control-thumbs img {
  display: block; width: 100%; aspect-ratio: 1/1; object-fit: cover; cursor: pointer;
  border-radius: 14px; opacity: .65; border: 2px solid transparent; transition: opacity .15s, border-color .15s;
}
.tm-pdp .flex-control-thumbs img:hover { opacity: 1; }
.tm-pdp .flex-control-thumbs img.flex-active { opacity: 1; border-color: var(--tm-navy); }
.tm-pdp .onsale {
  position: absolute; top: 16px; left: 16px; z-index: 6; margin: 0; min-height: 0; min-width: 0; line-height: 1.3;
  padding: 6px 14px; border-radius: 999px; background: var(--tm-navy); color: #fff; font-weight: 700; font-size: 14px;
}

/* Details column */
.tm-pdp-title { font-family: var(--tm-font-display); font-weight: 600; font-size: clamp(32px, 3.6vw, 48px); line-height: 1.08; margin: 0; color: var(--tm-navy); }
.tm-pdp .woocommerce-product-rating { margin: 10px 0 0; }
.tm-pdp-lead { margin-top: 16px; }
.tm-pdp-lead p { margin: 0; font-size: 18px; line-height: 1.6; color: var(--tm-panel-sub); max-width: 46ch; }

/* The buy box: the one coloured block on the page */
.tm-pdp-buy {
  margin-top: 28px; padding: 24px; border-radius: 28px;
  background: var(--tm-panel); color: var(--tm-navy);
}
.tm-pdp-price .price { margin: 0 !important; font-family: var(--tm-font-display); font-weight: 600; font-size: 34px !important; line-height: 1.1; color: var(--tm-navy) !important; }
.tm-pdp-price .price del { opacity: .5; font-size: .6em; margin-right: 8px; }
.tm-pdp-price .price ins { text-decoration: none; }

.woocommerce div.product .tm-pdp-buy p.stock, .tm-pdp-buy p.stock { display: flex; align-items: center; gap: 8px; margin: 10px 0 0; font-size: 15px; font-weight: 600; color: var(--tm-navy); }
.tm-pdp-buy p.stock::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--tm-panel-accent); flex: none; }
.woocommerce div.product .tm-pdp-buy p.stock.out-of-stock, .tm-pdp-buy p.stock.out-of-stock { color: #9A2B12; }
.tm-pdp-buy p.stock.out-of-stock::before { background: #C2410C; }

.tm-pdp-buy form.cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px; margin: 20px 0 0 !important; }
.tm-pdp-buy form.cart > :not(.quantity):not(.single_add_to_cart_button) { flex: 1 1 100%; }
.tm-pdp-buy form.cart::before, .tm-pdp-buy form.cart::after { display: none !important; }

/* Personalisation fields (Advanced Product Fields) */
.tm-pdp-buy .wapf-field-group { margin: 0; }
.tm-pdp-buy .wapf-field-row { margin: 0 0 4px; }
.tm-pdp-buy .wapf-field-container { padding: 0 !important; margin-bottom: 14px; }
.tm-pdp-buy .wapf-field-label { margin-bottom: 4px !important; }
.tm-pdp-buy .wapf-field-label label { font-weight: 700; font-size: 16px; color: var(--tm-navy); }
.tm-pdp-buy .wapf-field-label abbr.required, .tm-pdp-buy .wapf-required { color: #9A2B12; text-decoration: none; }
.tm-pdp-buy .wapf-field-description { font-size: 14px; line-height: 1.5; color: var(--tm-panel-sub); margin: 0 0 8px; white-space: pre-line; }
.tm-pdp-buy .wapf-field-input input[type="text"],
.tm-pdp-buy .wapf-field-input input[type="number"],
.tm-pdp-buy .wapf-field-input textarea,
.tm-pdp-buy .wapf-field-input select {
  width: 100%; box-sizing: border-box; font: inherit; font-size: 17px; color: var(--tm-navy);
  background: #fff; border: 1.5px solid rgba(11,31,77,.18); border-radius: 14px; padding: 12px 14px;
  transition: border-color .15s, box-shadow .15s;
}
.tm-pdp-buy .wapf-field-input textarea { min-height: 96px; resize: vertical; line-height: 1.45; }
.tm-pdp-buy .wapf-field-input :is(input, textarea, select):focus {
  outline: none; border-color: var(--tm-navy); box-shadow: 0 0 0 3px rgba(11,31,77,.12);
}
.tm-pdp-buy .wapf-field-input ::placeholder { color: rgba(11,31,77,.4); }
.tm-pdp-buy .wapf-product-totals:empty, .tm-pdp-buy .wapf-product-totals:not(:has(*:not(:empty))) { display: none; }

/* Quantity + Add to cart */
.tm-pdp-buy .quantity { display: flex; margin: 0 !important; }
.tm-pdp-buy .quantity input.qty {
  width: 76px; height: 56px; box-sizing: border-box; text-align: center;
  font: inherit; font-weight: 700; font-size: 17px; color: var(--tm-navy);
  background: #fff; border: 1.5px solid rgba(11,31,77,.18); border-radius: 999px; padding: 0 8px;
}
.tm-pdp-buy .quantity input.qty:focus { outline: none; border-color: var(--tm-navy); box-shadow: 0 0 0 3px rgba(11,31,77,.12); }
.tm-pdp-buy .single_add_to_cart_button,
.woocommerce div.product .tm-pdp-buy form.cart .button {
  flex: 1 1 200px; height: 56px; min-height: 56px; border-radius: 999px !important;
  background: var(--tm-navy) !important; color: #fff !important; border: 0 !important;
  font-family: var(--tm-font-body) !important; font-weight: 700 !important; font-size: 17px !important;
  padding: 0 24px !important; text-transform: none !important; letter-spacing: 0;
  display: inline-flex; align-items: center; justify-content: center; float: none !important;
}
.tm-pdp-buy .single_add_to_cart_button:hover { background: var(--tm-navy-700) !important; }
.tm-pdp-buy .single_add_to_cart_button:focus-visible { outline: 3px solid var(--tm-navy); outline-offset: 3px; }
.tm-pdp-buy .single_add_to_cart_button.loading { opacity: .7; }
.tm-pdp-buy .wcpay-express-checkout-wrapper,
.tm-pdp-buy #wcpay-express-checkout-element { margin: 4px 0 0 !important; }
.tm-pdp-buy #wcpay-express-checkout-element iframe { border-radius: 999px; }
.tm-pdp-buy .wcpay-express-checkout-wrapper:empty { display: none; }

/* After adding to cart: WooCommerce's notice + "View cart" link */
.single-product .woocommerce-notices-wrapper .woocommerce-message {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px;
  margin: 0 0 20px; padding: 14px 18px; border: 0; border-radius: 18px;
  background: var(--tm-mint-soft); color: var(--tm-navy); font-weight: 600;
}
.single-product .woocommerce-notices-wrapper .woocommerce-message::before { display: none; }
.single-product .woocommerce-notices-wrapper .woocommerce-message .button {
  order: 2; float: none; margin: 0; border-radius: 999px !important; padding: 10px 20px !important;
}

/* Facts under the buy box */
.tm-pdp-facts { list-style: none; margin: 20px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px; }
.tm-pdp-facts li { display: flex; gap: 12px; align-items: flex-start; font-size: 15px; line-height: 1.4; color: var(--tm-panel-sub); }
.tm-pdp-facts .tm-ico { flex: none; color: var(--tm-navy); margin-top: 1px; }
.tm-pdp-facts strong { display: block; color: var(--tm-navy); font-weight: 700; }
.tm-pdp-facts a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }

/* Description etc. */
.tm-pdp .tm-product-accordion { margin-top: 32px; }
.tm-pdp .tm-acc-summary { font-size: 20px; padding: 18px 0; color: var(--tm-navy); }
.tm-pdp .tm-acc-summary:focus-visible { outline: 3px solid var(--tm-panel-accent); outline-offset: 2px; border-radius: 6px; }
.tm-pdp .tm-acc-body { font-size: 16px; color: var(--tm-panel-sub); }
.tm-pdp .tm-acc-body h2, .tm-pdp .tm-acc-body h3 { font-family: var(--tm-font-display); color: var(--tm-navy); font-size: 20px; font-weight: 600; margin: 20px 0 8px; }
.tm-pdp .tm-acc-body ul { padding-left: 1.2rem; margin: 0 0 1rem; }
.tm-pdp .tm-acc-body li { margin: 0 0 .5rem; }
.tm-pdp .tm-acc-body li p { margin: 0; }
.tm-pdp .tm-acc-body p { margin: 0 0 1rem; }
.tm-pdp .tm-acc-body table.shop_attributes { border: 0; margin: 0; }
.tm-pdp .tm-acc-body table.shop_attributes th, .tm-pdp .tm-acc-body table.shop_attributes td { border: 0; border-bottom: 1px solid var(--tm-border); padding: 10px 0; font-style: normal; background: none; }
.tm-pdp .tm-acc-body table.shop_attributes th { width: 40%; font-weight: 600; color: var(--tm-navy); text-align: left; }

/* Related products */
.tm-pdp .related.products, .tm-pdp .upsells.products { margin-top: 72px; }
.tm-pdp .related.products > h2, .tm-pdp .upsells.products > h2 { font-family: var(--tm-font-display); font-size: clamp(28px, 3vw, 40px); font-weight: 600; margin: 0 0 24px; color: var(--tm-navy); }

/* Phone add-to-cart bar */
.tm-sticky-cta {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990;
  display: none; align-items: center; gap: 14px;
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
  background: #fff; border-top: 1px solid var(--tm-border); box-shadow: 0 -6px 24px rgba(11,31,77,.08);
  transform: translateY(110%); transition: transform .25s ease;
}
.tm-sticky-cta.is-visible { transform: translateY(0); }
.tm-sticky-cta-info { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.25; }
.tm-sticky-cta-name { font-weight: 700; font-size: 15px; color: var(--tm-navy); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tm-sticky-cta-price { font-size: 15px; color: var(--tm-teal-text); font-weight: 700; }
.tm-sticky-cta-price del { opacity: .55; font-weight: 500; }
.tm-sticky-cta-btn {
  flex: none; height: 48px; padding: 0 22px; border: 0; border-radius: 999px; cursor: pointer;
  background: var(--tm-navy); color: #fff; font: inherit; font-weight: 700; font-size: 16px;
}
@media (prefers-reduced-motion: reduce) { .tm-sticky-cta { transition: none; } }

@media (max-width: 900px) {
  .tm-pdp-grid { grid-template-columns: 1fr; gap: 24px; }
  .tm-pdp-gallery { position: static; }
  .tm-sticky-cta { display: flex; }
  .single-product .cky-btn-revisit-wrapper { bottom: 84px !important; }
}
@media (max-width: 767px) {
  .tm-pdp { padding-bottom: 96px; }
  .tm-pdp-crumbs { margin-bottom: 14px; }
  .tm-pdp .woocommerce-product-gallery .flex-viewport,
  .tm-pdp .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:only-child { border-radius: 20px; }
  .tm-pdp .flex-control-thumbs { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
  .tm-pdp .flex-control-thumbs img { border-radius: 12px; }
  .tm-pdp-buy { margin-top: 22px; padding: 20px 18px; border-radius: 22px; }
  .tm-pdp-price .price { font-size: 30px !important; }
  .tm-pdp-facts { grid-template-columns: 1fr; gap: 14px; }
  .tm-pdp .related.products, .tm-pdp .upsells.products { margin-top: 48px; }
}
@media (max-width: 360px) {
  .tm-pdp-buy .quantity input.qty { width: 64px; }
}

/* --------------------------------------------------------------------------
   Cart + checkout (WooCommerce blocks)
   -------------------------------------------------------------------------- */
.tm-store-page h1 { font-family: var(--tm-font-display); font-size: clamp(34px, 4vw, 52px); margin-bottom: 28px; }
.tm-store-page .tm-prose > .wp-block-woocommerce-cart,
.tm-store-page .tm-prose > .wp-block-woocommerce-checkout { margin-left: 0; margin-right: 0; max-width: 100%; }

/* Buttons inside the cart/checkout blocks */
.tm-store-page .wc-block-components-button:not(.is-link):not(.wc-block-components-chip__remove) {
  min-height: 56px; border-radius: 999px; border: 0;
  background: var(--tm-navy); color: #fff; font-family: var(--tm-font-body); font-weight: 700; font-size: 17px;
  text-transform: none; text-decoration: none; box-shadow: none;
}
.tm-store-page .wc-block-components-button:not(.is-link):hover { background: var(--tm-navy-700); color: #fff; }
.tm-store-page .wc-block-components-button:not(.is-link):focus-visible { outline: 3px solid var(--tm-navy); outline-offset: 3px; box-shadow: none; }

/* Items list as a white card */
.tm-store-page .wc-block-cart__main {
  background: #fff; border: 1px solid var(--tm-border); border-radius: 28px; padding: 8px 24px 4px;
}
.tm-store-page table.wc-block-cart-items { margin: 0; border: 0; }
.tm-store-page .wc-block-cart-items__header th { font-size: 14px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--tm-panel-sub); padding: 14px 0 !important; }
.tm-store-page .wc-block-cart-items td { border-top: 1px solid var(--tm-border) !important; padding-top: 20px !important; padding-bottom: 20px !important; }
.tm-store-page .wc-block-cart-item__image img { border-radius: 14px; aspect-ratio: 1/1; object-fit: cover; }
.tm-store-page .wc-block-components-product-name { font-weight: 700; font-size: 17px; color: var(--tm-navy); text-decoration: none; }
.tm-store-page .wc-block-components-product-name:hover { text-decoration: underline; text-underline-offset: 3px; }
.tm-store-page .wc-block-cart-item__prices { font-size: 15px; color: var(--tm-panel-sub); }
/* The product's short description repeats the product page: hide it, keep personalisation details */
.tm-store-page .wc-block-components-product-metadata__description { display: none; }
.tm-store-page .wc-block-components-product-details { font-size: 14px; color: var(--tm-panel-sub); margin: 6px 0 0; }
.tm-store-page .wc-block-components-product-details__name { font-weight: 700; color: var(--tm-navy); }
.tm-store-page .wc-block-cart-item__total { font-weight: 700; font-size: 17px; color: var(--tm-navy); }
.tm-store-page .wc-block-components-quantity-selector {
  border-radius: 999px !important; border: 1.5px solid rgba(11,31,77,.18) !important; background: #fff; overflow: hidden; width: 116px;
}
.tm-store-page .wc-block-components-quantity-selector::after { display: none !important; }
.tm-store-page .wc-block-components-quantity-selector input { font-weight: 700; color: var(--tm-navy); }
.tm-store-page .wc-block-components-quantity-selector__button { min-width: 38px; color: var(--tm-navy) !important; opacity: 1; }
.tm-store-page .wc-block-cart-item__remove-link { color: var(--tm-panel-sub) !important; }
.tm-store-page .wc-block-cart-item__remove-link:hover { color: #9A2B12 !important; }

/* Order summary as the panel-colour card */
.tm-store-page .wc-block-cart__sidebar > *:not(.wc-block-cart__submit):not(.wc-block-cart__payment-options),
.tm-store-page .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block {
  background: var(--tm-panel); border-radius: 28px; padding: 22px 24px 10px; margin-bottom: 0;
}
.tm-store-page .wc-block-cart__sidebar { position: sticky; top: 100px; align-self: flex-start; }
body.admin-bar .tm-store-page .wc-block-cart__sidebar { top: 132px; }
.tm-store-page .wc-block-cart__totals-title {
  font-family: var(--tm-font-display) !important; font-size: 24px !important; font-weight: 600 !important;
  text-transform: none !important; letter-spacing: 0 !important; color: var(--tm-navy); text-align: left !important;
  padding: 0 0 6px !important; margin: 0 !important; border: 0 !important;
}
.tm-store-page .wc-block-cart__sidebar .wc-block-components-totals-wrapper { border-top-color: var(--tm-panel-line) !important; padding-left: 0 !important; padding-right: 0 !important; }
.tm-store-page .wc-block-cart__sidebar .wc-block-components-totals-item { color: var(--tm-navy); }
.tm-store-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.tm-store-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-weight: 700; font-size: 20px !important; }
.tm-store-page .wc-block-components-totals-coupon-link, .tm-store-page .wc-block-components-panel__button { color: var(--tm-navy); font-weight: 600; }
.tm-store-page .wc-block-cart__payment-options { margin-top: 16px; }
.tm-store-page .wc-block-components-express-payment-continue-rule { font-size: 14px; color: var(--tm-panel-sub); text-transform: none; margin: 14px 0; }
.tm-store-page .wc-block-cart__submit { margin: 16px 0 0; }
.tm-store-page .wc-block-cart__submit-container { padding: 0 !important; background: none !important; box-shadow: none !important; }
.tm-store-page .wc-block-cart__submit-button { width: 100%; }

/* Phone: cart checkout button sticks to the bottom of the screen */
@media (max-width: 767px) {
  .tm-store-page h1 { margin-bottom: 18px; }
  .tm-store-page .wc-block-cart__main { padding: 4px 16px 0; border-radius: 22px; }
  .tm-store-page .wc-block-cart-items__header { display: none; }
  .tm-store-page .wc-block-cart-items .wc-block-cart-items__row:first-child td { border-top: 0 !important; }
  .tm-store-page .wc-block-cart__sidebar { position: static; margin-top: 18px; }
  .tm-store-page .wc-block-cart__sidebar > *:not(.wc-block-cart__submit):not(.wc-block-cart__payment-options),
  .tm-store-page .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block { border-radius: 22px; padding: 18px 18px 6px; }
  .tm-store-page .wc-block-cart__submit-container--sticky {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990;
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom)) !important;
    background: #fff !important; border-top: 1px solid var(--tm-border); box-shadow: 0 -6px 24px rgba(11,31,77,.08) !important;
  }
  .woocommerce-cart .cky-btn-revisit-wrapper { bottom: 96px !important; }
  .woocommerce-cart .tm-store-page { padding-bottom: 7rem; }
}

/* Empty cart */
.tm-store-page .wc-block-cart__empty-cart__title {
  font-family: var(--tm-font-display); font-size: clamp(26px, 3vw, 34px); font-weight: 600; color: var(--tm-navy);
}
.tm-store-page .wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
  background-color: var(--tm-panel-accent); width: 64px; height: 64px; -webkit-mask-size: 64px; mask-size: 64px;
}
.tm-store-page .wp-block-woocommerce-empty-cart-block .wp-block-separator.is-style-dots { color: var(--tm-panel-accent); }
.tm-store-page .wp-block-woocommerce-empty-cart-block h2:not(.wc-block-cart__empty-cart__title) {
  font-family: var(--tm-font-display); font-size: 28px; color: var(--tm-navy);
}
.tm-store-page .wc-block-grid__product { background: #fff; border: 1px solid var(--tm-border) !important; border-radius: 22px; padding: 12px 12px 16px !important; }
.tm-store-page .wc-block-grid__product-image img { border-radius: 14px; }
.tm-store-page .wc-block-grid__product-title { font-weight: 700; color: var(--tm-navy); }
.tm-store-page .wc-block-grid__product-price { color: var(--tm-teal-text); font-weight: 700; }

/* Checkout: inputs and order summary in the same style */
.tm-store-page .wc-block-components-text-input input,
.tm-store-page .wc-block-components-combobox .components-combobox-control input,
.tm-store-page .wc-blocks-components-select .wc-blocks-components-select__select,
.tm-store-page .wc-block-components-textarea {
  border-radius: 14px !important; border: 1.5px solid rgba(11,31,77,.18) !important; background: #fff !important; color: var(--tm-navy) !important;
}
.tm-store-page .wc-block-components-text-input input:focus,
.tm-store-page .wc-blocks-components-select .wc-blocks-components-select__select:focus { border-color: var(--tm-navy) !important; box-shadow: 0 0 0 3px rgba(11,31,77,.12) !important; }
.tm-store-page .wc-block-components-checkout-step__title,
.tm-store-page .wc-block-components-title { font-family: var(--tm-font-display) !important; font-weight: 600 !important; color: var(--tm-navy); text-transform: none !important; }
.tm-store-page .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block {
  background: var(--tm-panel); border: 0 !important; border-radius: 28px; padding: 6px 20px;
}
.tm-store-page .wc-block-components-radio-control__option,
.tm-store-page .wc-block-components-radio-control-accordion-option { border-radius: 14px; }

/* Cart order: summary, then checkout button, then express pay (Google/Apple Pay) */
.tm-store-page .wc-block-cart__main { align-self: flex-start; }
.tm-store-page .wc-block-cart__sidebar { display: flex; flex-direction: column; }
.tm-store-page .wc-block-cart__sidebar > .wp-block-woocommerce-cart-order-summary-block { order: 1; }
.tm-store-page .wc-block-cart__sidebar > .wc-block-cart__submit { order: 2; }
.tm-store-page .wc-block-cart__sidebar > .wc-block-cart__payment-options { order: 3; display: flex; flex-direction: column; margin-top: 0; }
.tm-store-page .wc-block-cart__payment-options .wc-block-components-express-payment-continue-rule { order: -1; }

/* Phone fixes for the cart block */
.tm-store-page .wc-block-cart table.wc-block-cart-items { width: 100% !important; margin: 0 !important; }
.tm-store-page .wc-block-cart.is-mobile .wc-block-cart__totals-title,
.tm-store-page .wc-block-cart.is-small .wc-block-cart__totals-title { display: block !important; }
.tm-store-page .wp-block-woocommerce-cart-order-summary-block > .wc-block-components-totals-wrapper:first-of-type,
.tm-store-page .wp-block-woocommerce-cart-order-summary-totals-block > .wc-block-components-totals-wrapper:first-child { border-top: 0 !important; }
.tm-store-page .wc-block-cart table.wc-block-cart-items { table-layout: fixed; }
.tm-store-page .wc-block-cart-items__row { min-width: 0; }
.tm-store-page .wc-block-cart.is-mobile .wc-block-cart-items__row { grid-template-columns: 72px minmax(0, 1fr) auto !important; column-gap: 14px; }
.tm-store-page .wc-block-cart.is-mobile .wc-block-cart-item__image { padding-right: 0 !important; }
