/* WooCommerce keeps its behavior while the site's theme supplies its design. */
:where(.woocommerce, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) {
  --mpd-store-ink: var(--jonathan-color-ink, var(--wp--preset--color--contrast, #050505));
  --mpd-store-canvas: var(--jonathan-color-canvas, var(--wp--preset--color--base, #fafafa));
  --mpd-store-rule: var(--jonathan-color-rule, color-mix(in srgb, var(--mpd-store-ink) 30%, var(--mpd-store-canvas)));
  font-family: var(--jonathan-font-sans, var(--wp--preset--font-family--manrope, sans-serif));
  color: var(--mpd-store-ink);
}
:where(.woocommerce, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :where(button, .button, input, select, textarea) { font-family: inherit; border-radius: 0; }
body:is(.woocommerce-cart, .woocommerce-checkout) :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :is(input[type=text], input[type=email], input[type=tel], input[type=number], select, textarea) { border-radius: 0; }
body:is(.woocommerce-cart, .woocommerce-checkout) :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :is(.wc-block-components-quantity-selector, .wc-block-components-address-card, .wc-blocks-components-select__container, .wp-block-woocommerce-checkout-order-summary-block, .checkout-order-summary-block-fill) { border-radius: var(--jonathan-radius, 0px); }
/* WooCommerce lowercases this field label after translating it. */
.wp-block-woocommerce-checkout .wc-block-components-address-form__address_2-toggle { text-transform: capitalize; }
.wp-block-woocommerce-cart :is(.wc-block-cart__totals-title, .wc-block-cart-items__header th) { text-transform: none; }
:where(.woocommerce) :where(input.input-text, select, textarea),
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]), select, textarea) {
  box-sizing: border-box;
  min-height: var(--jonathan-control-height, 50px);
  border-color: var(--mpd-store-rule);
  background-color: var(--jonathan-color-surface, var(--mpd-store-canvas));
  color: var(--mpd-store-ink);
  font-size: var(--jonathan-control-font-size, 15px);
}
.woocommerce :is(button.button, a.button, input.button),
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-button:not(.is-link) {
  box-sizing: border-box;
  min-height: var(--jonathan-control-height, 50px);
  padding: var(--jonathan-space-2, 10px) var(--jonathan-space-4, 20px);
  border: 1px solid var(--mpd-store-ink);
  border-radius: 0;
  background: var(--mpd-store-ink);
  color: var(--mpd-store-canvas);
  font-size: var(--jonathan-control-font-size, 15px);
  line-height: var(--jonathan-control-line-height, 20px);
  font-weight: 400;
  text-transform: none;
}
:where(.woocommerce, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.mpd-account-hub .woocommerce-MyAccount-navigation,
.mpd-account-hub .woocommerce-MyAccount-content { float: none; width: 100%; }
.mpd-account-hub .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; list-style: none; margin: 0 0 30px; padding: 20px 0; border-block: 1px solid var(--mpd-store-rule); }
.mpd-account-hub .woocommerce-MyAccount-navigation li { margin: 0; padding: 0; }
/* Outrank WooCommerce's block-theme account width without changing checkout. */
.mpd-account-hub.woocommerce-account main :is(.woocommerce, .wp-block-post-title) { max-width: var(--wp--style--global--content-size, 645px); margin-inline: auto; }
.mpd-account-hub .woocommerce-MyAccount-navigation a { display: block; padding: var(--jonathan-space-2, 10px); font-size: var(--jonathan-control-font-size, 15px); text-decoration: none; }
.mpd-account-hub.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.mpd-account-subnav a[aria-current=page] { background: var(--wp--preset--color--accent-3, #e6e6e6); font-weight: 700; text-decoration: none; }
.mpd-account-hub .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout { flex-basis: 100%; text-align: center; }
.mpd-account-hub .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout a { display: inline-block; }
.mpd-account-hub .woocommerce-MyAccount-content > .mpd-member { margin-top: 0; }
.mpd-account-subnav { display: flex; flex-wrap: wrap; gap: 15px; justify-content: center; margin-block: 20px; }
.mpd-account-subnav a { padding: var(--jonathan-space-2, 10px); font-size: var(--jonathan-control-font-size, 15px); }
.mpd-account-tasks { margin: 0; }
.mpd-account-tasks dt { border-top: 1px solid var(--mpd-store-rule); padding-top: 20px; font-weight: 700; }
.mpd-account-tasks dd { margin: 5px 0 20px; }
.mpd-account-overview h2 { text-align: center; }
.mpd-private-activity .mpd-activity-title { font-size: var(--wp--preset--font-size--large, 24px); line-height: 1.4; overflow-wrap: anywhere; }
.mpd-account-hub .woocommerce table.shop_table { border-inline: 0; border-block: 1px solid var(--mpd-store-rule); border-radius: 0; }
.mpd-account-hub .woocommerce table.shop_table :is(th,td) { text-align: center; vertical-align: middle; }
/* Native account fields and notices retain the site's square surfaces. */
body.woocommerce-account .woocommerce form :is(input.input-text, select, textarea, .select2-selection--single) {
  border: 1px solid var(--mpd-store-rule);
  border-radius: var(--jonathan-radius, 0px);
  background-color: var(--jonathan-color-surface, #fff);
}
body.woocommerce-account .woocommerce form:is(.login, .register) {
  border: 1px solid var(--mpd-store-rule);
  border-radius: var(--jonathan-radius, 0px);
  padding: var(--jonathan-space-4, 20px);
}
body.woocommerce-account .woocommerce .wc-block-components-notice-banner {
  border: 1px solid var(--mpd-store-rule);
  border-radius: var(--jonathan-radius, 0px);
  background-color: var(--jonathan-color-surface, #fff);
  color: var(--mpd-store-ink);
  gap: var(--jonathan-space-2, 10px);
  margin-block: var(--jonathan-space-4, 20px);
  /* WooCommerce marks its own panel padding important. */
  padding: var(--jonathan-space-4, 20px) !important;
}
body.woocommerce-account .woocommerce .wc-block-components-notice-banner > svg {
  background-color: var(--mpd-store-ink);
  fill: var(--jonathan-color-surface, #fff);
}
@media (max-width: 768px) {
  /* WooCommerce hides all body th cells while stacking its responsive tables. */
  .mpd-account-hub .woocommerce table.shop_table_responsive tbody th.woocommerce-orders-table__cell-order-number {
    display: block;
    text-align: right;
  }
  .mpd-account-hub .woocommerce table.shop_table_responsive tbody th.woocommerce-orders-table__cell-order-number::before {
    content: attr(data-title) ": ";
    float: left;
  }
}
@media (max-width: 540px) {
  /* Fixed WooCommerce cart columns exceed the site's narrow content width. */
  body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row {
    grid-template-columns: 64px minmax(0, 1fr);
    column-gap: var(--jonathan-space-2, 10px);
    row-gap: var(--jonathan-space-2, 10px);
  }
  body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__image { grid-column: 1; grid-row: 1 / 3; }
  body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__product { grid-column: 2; grid-row: 1; min-width: 0; }
  body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__total { grid-column: 2; grid-row: 2; justify-content: flex-start; }
  .mpd-account-hub .woocommerce-MyAccount-navigation ul { gap: 5px; }
  .mpd-account-subnav { gap: 5px; }
}
