/* Store, cart, checkout, native account screens and the mini-cart share the portal palette. */
body.kunst-refresh-commerce,
.wc-block-mini-cart__drawer {
  --kunst-commerce-green:var(--kunst-color-primary-main,#315f41);
  --kunst-commerce-soft:var(--kunst-color-primary-soft,#edf4ee);
  --kunst-commerce-font:var(--kunst-ui-font,system-ui,sans-serif);
  --kunst-commerce-heading:var(--kunst-v3-serif-free,var(--kunst-ui-heading-font,var(--kunst-commerce-font)));
  background-color:var(--kunst-refresh-bg);
  color:var(--kunst-refresh-ink);
}
.wc-block-mini-cart__drawer.wc-block-components-drawer {
  background-color:var(--kunst-refresh-bg);
  color:var(--kunst-refresh-ink);
  font:400 14px/1.5 var(--kunst-commerce-font);
}
.wc-block-mini-cart__drawer .wc-block-mini-cart__title {
  color:var(--kunst-refresh-green);
  font:700 clamp(21px,3vw,28px)/1.2 var(--kunst-commerce-heading);
  letter-spacing:-.025em;
}
.wc-block-mini-cart__drawer .wc-block-components-product-name {
  color:var(--kunst-refresh-ink);
  font-weight:600;
  text-underline-offset:3px;
}
.wc-block-mini-cart__drawer .wc-block-cart-item__image img {
  border-radius:var(--kunst-refresh-radius);
}
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer {
  background-color:var(--kunst-refresh-bg);
  border-top-color:var(--kunst-refresh-border);
}
.wc-block-mini-cart__drawer .wc-block-components-totals-item__description {
  color:var(--kunst-refresh-muted);
}
.wc-block-mini-cart__drawer :is(a,button):focus-visible {
  outline:2px solid var(--kunst-commerce-green);
  outline-offset:2px;
}
/* The cart moves focus to a row after updates. Its controls retain their own focus indicators. */
:is(body.kunst-refresh-commerce,.wc-block-mini-cart__drawer)
:is(.wc-block-cart-items__row,.woocommerce-cart-form__cart-item,.woocommerce-mini-cart-item):is(:focus,:focus-within,:active) {
  outline:none!important;
  box-shadow:none!important;
}
.kunst-refresh-commerce :is(main,.site-main) {
  --wp--style--global--content-size:1200px;
  --wp--style--global--wide-size:1200px;
  color:var(--kunst-refresh-ink);
  font-family:var(--kunst-commerce-font);
}
.kunst-refresh-commerce:not(.woocommerce-account) :is(.wp-site-blocks > main,main.site-main) {
  box-sizing:border-box;width:min(1200px,calc(100% - 44px));max-width:1200px;
  margin-inline:auto;padding-inline:0;
}
.kunst-refresh-commerce :is(main,.site-main)
:is(h1.wp-block-post-title,h1.product_title,h1.woocommerce-products-header__title,.kunst-shop-heading h1,.kunst-cart-heading h1) {
  margin-block:0 20px!important;color:var(--kunst-refresh-green)!important;
  font:700 clamp(34px,4.3vw,56px)/1.12 var(--kunst-commerce-heading)!important;
  letter-spacing:-.04em!important;text-align:left!important;
}
.kunst-refresh-commerce :is(main,.site-main)
:is(.woocommerce-order-details__title,.woocommerce-column__title,.wc-block-components-title,.wc-block-components-checkout-step__title,.wc-block-cart__totals-title) {
  color:var(--kunst-refresh-green);
  font-family:var(--kunst-commerce-heading);
}
.kunst-refresh-commerce :is(main,.site-main) .woocommerce-breadcrumb {
  color:var(--kunst-refresh-muted);font:400 13px/1.5 var(--kunst-commerce-font);
}
.kunst-refresh-commerce :is(main,.site-main) .woocommerce-breadcrumb a {
  color:inherit;text-underline-offset:3px;
}

/* The shop uses the same image-first card rhythm as the learning catalogue. */
.kunst-refresh-commerce.kunst-shop main :is(ul.products,.wc-block-product-template) {
  grid-template-columns:var(--kunst-refresh-grid-columns)!important;gap:var(--kunst-refresh-grid-gap)!important;
}
.kunst-refresh-commerce.kunst-shop main :is(ul.products li.product,.wc-block-product-template > li) {
  min-width:0;padding:0 0 8px!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;text-align:left;
}
.kunst-refresh-commerce.kunst-shop main
:is(ul.products li.product a img,.wc-block-components-product-image,.wp-block-woocommerce-product-image) {
  border-radius:28px!important;
}
.kunst-refresh-commerce.kunst-shop main ul.products li.product a img {margin-bottom:16px!important;}
.kunst-refresh-commerce.kunst-shop main
:is(.woocommerce-loop-product__title,h2.wp-block-post-title,h3.wp-block-post-title,.wc-block-components-product-title) {
  color:var(--kunst-refresh-ink)!important;
  font:650 clamp(18px,1.55vw,22px)/1.35 var(--kunst-commerce-heading)!important;
  margin:0 0 8px!important;text-align:left!important;
}
.kunst-refresh-commerce.kunst-shop main
:is(li.product .price,.wc-block-components-product-price,.kunst-shop-card-details) {
  margin-inline:0!important;padding-inline:0;text-align:left!important;
}
.kunst-refresh-commerce.kunst-shop main li.product .button {align-self:flex-start;}
.kunst-refresh-commerce.kunst-shop main .wc-block-components-product-button {justify-content:flex-start;}
.kunst-refresh-commerce :is(main,.site-main) :is(.woocommerce-product-gallery__image img,.wc-block-components-product-gallery-large-image img) {
  border-radius:16px;
}
.kunst-refresh-commerce :is(main,.site-main) :is(.summary > .price,.wp-block-woocommerce-product-price .price) {
  color:var(--kunst-refresh-green);font-weight:600;
}

/* Style native WooCommerce controls without changing their structure or state. */
.wc-block-mini-cart__drawer :is(.wc-block-mini-cart__footer-cart,.wc-block-mini-cart__footer-checkout,.wc-block-mini-cart__shopping-button),
.kunst-refresh-commerce :is(main,.site-main)
:is(.single_add_to_cart_button,.checkout-button,#place_order,.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button,
    .woocommerce-form-login__submit,.woocommerce-form-register__submit,button[name="save_account_details"],button[name="save_address"]) {
  box-sizing:border-box;min-height:44px;padding:9px 22px!important;
  border:1px solid var(--kunst-commerce-green)!important;border-radius:999px!important;
  background:var(--kunst-commerce-green)!important;color:#fff!important;
  font:600 14px/1.35 var(--kunst-commerce-font)!important;text-decoration:none;
  letter-spacing:.045em!important;text-transform:uppercase!important;
}
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-cart {
  background:transparent!important;color:var(--kunst-commerce-green)!important;
}
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-cart:hover {
  background:var(--kunst-commerce-soft)!important;
}
.wc-block-mini-cart__drawer :is(.wc-block-mini-cart__footer-checkout,.wc-block-mini-cart__shopping-button):hover:not([aria-disabled="true"]),
.kunst-refresh-commerce :is(main,.site-main)
:is(.single_add_to_cart_button,.checkout-button,#place_order,.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button,
    .woocommerce-form-login__submit,.woocommerce-form-register__submit,button[name="save_account_details"],button[name="save_address"]):hover:not(:disabled):not([aria-disabled="true"]) {
  background:var(--kunst-refresh-green)!important;border-color:var(--kunst-refresh-green)!important;
}
.kunst-refresh-commerce.kunst-shop main :is(li.product .button,.wc-block-components-product-button__button),
.kunst-refresh-commerce :is(main,.site-main) :is(.wc-backward,button[name="apply_coupon"],button[name="update_cart"]) {
  min-height:44px;padding:8px 18px!important;border:1px solid var(--kunst-commerce-green)!important;
  border-radius:999px!important;background:transparent!important;color:var(--kunst-refresh-green)!important;
  font:600 14px/1.35 var(--kunst-commerce-font)!important;
}
.kunst-refresh-commerce :is(main,.site-main)
:is(.woocommerce .input-text,.woocommerce select.orderby,.wc-block-catalog-sorting select,
    .wc-block-components-text-input:not(.has-error) input,.wc-block-components-combobox-control select):not([aria-invalid="true"]) {
  box-sizing:border-box;max-width:100%;min-height:44px;
  border-color:var(--kunst-refresh-border);border-radius:10px;
  background-color:#fff;color:var(--kunst-refresh-ink);font-family:var(--kunst-commerce-font);
}
.kunst-refresh-commerce :is(main,.site-main)
:is(.woocommerce .input-text,.woocommerce select,.woocommerce button,.woocommerce a.button,.wc-block-components-button,
    .wc-block-components-text-input input,.wc-block-catalog-sorting select):focus-visible {
  outline:2px solid var(--kunst-commerce-green);outline-offset:2px;
}

/* Cart totals, checkout summary and order history use consistent borders. */
.kunst-refresh-commerce :is(main,.site-main)
:is(.cart_totals,.woocommerce-checkout-review-order-table,.woocommerce-order-details .shop_table,.woocommerce-MyAccount-content .shop_table,
    .wp-block-woocommerce-checkout-order-summary-block,.wc-block-cart__sidebar) {
  box-sizing:border-box;min-width:0;border:1px solid var(--kunst-refresh-border);border-radius:12px;
  background-color:#fff;
}
.kunst-refresh-commerce :is(main,.site-main) :is(.cart_totals,.wp-block-woocommerce-checkout-order-summary-block,.wc-block-cart__sidebar) {
  padding:clamp(12px,2vw,20px);
}
/* Match classic and block feedback, including notices on catalogue and account pages. */
body :is(.woocommerce-error,.woocommerce-info,.woocommerce-message,.wc-block-components-notice-banner) {
  border-radius:var(--kunst-refresh-radius);
  font:400 14px/1.5 var(--kunst-ui-font,system-ui,sans-serif);
  overflow-wrap:anywhere;
}
body :is(.woocommerce-info,.woocommerce-message,.wc-block-components-notice-banner.is-info,.wc-block-components-notice-banner.is-success) {
  border-color:var(--kunst-refresh-green);
  background-color:var(--kunst-color-primary-soft,#edf4ee);
  color:var(--kunst-refresh-ink);
}
body :is(.woocommerce-error,.wc-block-components-notice-banner.is-error) {
  border-color:var(--kunst-refresh-error);
  background-color:var(--kunst-refresh-error-bg);
  color:var(--kunst-refresh-error);
}
body .wc-block-components-notice-banner.is-warning {
  border-color:var(--kunst-refresh-warning);
  background-color:var(--kunst-refresh-warning-bg);
  color:var(--kunst-refresh-warning);
}
body :is(.woocommerce-error,.woocommerce-info,.woocommerce-message,.wc-block-components-notice-banner) a:not(.button) {
  color:inherit;
  text-underline-offset:3px;
}

/* Order-received templates have their own headings and tables outside the checkout form. */
.kunst-refresh-order-confirmation :is(.wp-block-woocommerce-order-confirmation-status,.woocommerce-order) {
  font-family:var(--kunst-commerce-font);
  overflow-wrap:anywhere;
}
.kunst-refresh-order-confirmation .wp-block-woocommerce-order-confirmation-status h1 {
  margin:0 0 12px!important;
  color:var(--kunst-refresh-green)!important;
  font:700 clamp(34px,4.3vw,56px)/1.12 var(--kunst-commerce-heading)!important;
  letter-spacing:-.04em!important;
}
.kunst-refresh-order-confirmation .wp-block-woocommerce-order-confirmation-status > p,
.kunst-refresh-order-confirmation :is(.woocommerce-thankyou-order-received,.wc-block-order-confirmation-status-description) {
  margin-block:0 18px;
  font:400 clamp(15px,1.5vw,18px)/1.5 var(--kunst-commerce-font)!important;
}
.kunst-refresh-order-confirmation :is(.wc-block-order-confirmation-summary-list,.woocommerce-order-overview) {
  box-sizing:border-box;display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,165px),1fr));
  gap:14px 22px;
  margin:0 0 24px!important;
  padding:clamp(14px,2vw,22px)!important;
  border:1px solid var(--kunst-refresh-border);border-radius:var(--kunst-refresh-radius);
  background:#fff;list-style:none;
}
.kunst-refresh-order-confirmation :is(.wc-block-order-confirmation-summary-list,.woocommerce-order-overview) > li {
  min-width:0;float:none!important;margin:0!important;padding:0!important;border:0!important;
  font:400 14px/1.5 var(--kunst-commerce-font);overflow-wrap:anywhere;
}
.kunst-refresh-order-confirmation .wc-block-order-confirmation-summary-list-item__key {
  display:block;font-weight:650;color:var(--kunst-refresh-green);
}
.kunst-refresh-order-confirmation :is(
  .wp-block-woocommerce-order-confirmation-totals-wrapper,.wp-block-woocommerce-order-confirmation-billing-wrapper,
  .wp-block-woocommerce-order-confirmation-shipping-wrapper,.wp-block-woocommerce-order-confirmation-additional-fields-wrapper,
  .wp-block-woocommerce-order-confirmation-additional-information,.wp-block-woocommerce-order-confirmation-downloads-wrapper,
  .woocommerce-order-details,.woocommerce-customer-details,.kunst-myyk-order-links
) h2 {
  margin:0 0 12px!important;
  color:var(--kunst-refresh-green)!important;
  font:650 clamp(19px,2vw,24px)/1.3 var(--kunst-commerce-font)!important;
}
.kunst-refresh-order-confirmation :is(
  .wc-block-order-confirmation-totals__table,.woocommerce-order-details .shop_table,
  .wp-block-woocommerce-order-confirmation-billing-address,.wp-block-woocommerce-order-confirmation-shipping-address,
  .wp-block-woocommerce-order-confirmation-additional-fields,.woocommerce-customer-details address,.kunst-myyk-order-links
) {
  box-sizing:border-box;min-width:0;max-width:100%;
  border:1px solid var(--kunst-refresh-border)!important;
  border-radius:var(--kunst-refresh-radius)!important;
  background:#fff!important;
  color:var(--kunst-refresh-ink);
  font:400 14px/1.55 var(--kunst-commerce-font)!important;
  overflow-wrap:anywhere;
}
.kunst-refresh-order-confirmation :is(
  .wp-block-woocommerce-order-confirmation-billing-address,.wp-block-woocommerce-order-confirmation-shipping-address,
  .wp-block-woocommerce-order-confirmation-additional-fields,.woocommerce-customer-details address,.kunst-myyk-order-links
) {
  padding:clamp(14px,2vw,22px)!important;
}
.kunst-refresh-order-confirmation :is(.wc-block-order-confirmation-totals__table,.woocommerce-order-details .shop_table) {
  width:100%;border-collapse:separate;border-spacing:0;
}
.kunst-refresh-order-confirmation :is(.wc-block-order-confirmation-totals__table,.woocommerce-order-details .shop_table) :is(th,td) {
  padding:clamp(8px,1.4vw,16px)!important;
  border-color:var(--kunst-refresh-border)!important;
}

@media(max-width:620px) {
  .wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions {
    flex-wrap:wrap;
  }
  .wc-block-mini-cart__drawer :is(.wc-block-mini-cart__footer-cart,.wc-block-mini-cart__footer-checkout) {
    flex-basis:140px;
  }
  .kunst-refresh-commerce:not(.woocommerce-account) :is(.wp-site-blocks > main,main.site-main) {
    width:calc(100% - 28px);
  }
  .kunst-refresh-commerce.kunst-shop main
  :is(ul.products li.product a img,.wc-block-components-product-image,.wp-block-woocommerce-product-image) {
    border-radius:24px!important;
  }
}
