/* Native Cart/Checkout Blocks; layout only, no custom totals or payment fields. */
/* Let native keyboard focus scrolling finish immediately, avoiding animation
 * races that can leave the next checkout field partly below the viewport. */
html:has(.wp-block-woocommerce-checkout :focus-visible) { scroll-behavior: auto; scroll-padding-block: 2rem; }
.wp-block-woocommerce-checkout :is(input,select,textarea,button,a) { scroll-margin-block: 2rem; }
.akva-commerce { padding: 2.5rem var(--wp--custom--gutter) 0; }
.akva-commerce > h1 { margin: 0 0 1.25rem; }
.akva-commerce .akva-catalogue-note { max-width: 55rem; font-size: .875rem; color: var(--wp--preset--color--stone); margin-bottom: 2.5rem; }
.akva-commerce .wp-block-woocommerce-cart, .akva-commerce .wp-block-woocommerce-checkout { max-width: none; margin: 0; }
.akva-commerce .wc-block-components-sidebar-layout { gap: 3rem; justify-content: space-between; }
.akva-commerce .wc-block-components-sidebar-layout .wc-block-components-main { width: auto; flex: 1 1 58%; padding-right: 0; min-width: 0; }
.akva-commerce .wc-block-components-sidebar-layout .wc-block-components-sidebar { width: auto; flex: 1 1 32%; margin: 0; min-width: 0; }
.akva-commerce .wc-block-cart__sidebar, .akva-commerce .wp-block-woocommerce-checkout-order-summary-block { background: color-mix(in srgb,var(--wp--preset--color--soft-sage) 55%,var(--wp--preset--color--bone)); border: 0; border-radius: 0; padding: 1.5rem; }
.akva-commerce :is(.wc-block-cart__totals-title,.wc-block-components-checkout-step__title,.wc-block-components-title) { font-family: inherit; font-weight: 400; letter-spacing: -.025em; font-size: 1.75rem; text-transform: none; }
.akva-commerce .wc-block-cart-items__header th { font-size: 1rem; font-weight: 400; text-transform: none; }
.akva-commerce .wc-block-components-product-name { font-size: clamp(1.2rem,2vw,1.6rem); font-weight: 400; line-height: 1.2; text-decoration: none; }
.akva-commerce .wc-block-components-product-name:hover { text-decoration: underline; }
.akva-commerce .wc-block-components-order-summary-item__image { flex: 0 0 64px; width: 64px; min-width: 64px; align-self: flex-start; }
.akva-commerce .wc-block-components-order-summary-item__quantity { z-index: 2; }
/* A narrow desktop sidebar needs the same readable reflow as mobile. Keep
   native descriptions, quantities and both unit/line prices in the DOM. */
@media (max-width: 480px), (min-width: 801px) and (max-width: 1200px) {
  .akva-commerce .wc-block-components-order-summary-item { display: grid; grid-template-columns: 48px minmax(0,1fr); gap: .25rem .75rem; align-items: start; padding-bottom: 1rem; }
  .akva-commerce .wc-block-components-order-summary-item__image { grid-column: 1; grid-row: 1 / span 2; width: 48px; min-width: 48px; flex-basis: 48px; padding: 0; margin: 0; }
  .akva-commerce .wc-block-components-order-summary-item__description { grid-column: 2; grid-row: 1; min-width: 0; padding: 0; }
  .akva-commerce .wc-block-components-order-summary-item__total-price { grid-column: 2; grid-row: 2; justify-self: start; padding: 0; }
}
main.akva-cart-page .wc-block-cart .wc-block-cart-items .wc-block-components-product-name { font-size: clamp(1.2rem,2vw,1.6rem); line-height: 1.2; }
main.akva-cart-page .wc-block-cart .wc-block-cart-items .wc-block-cart-item__image { width: 20%; min-width: 8rem; padding-right: 1.25rem; }
main.akva-cart-page .wc-block-cart .wc-block-cart-items .wc-block-cart-item__image a { width: 100%; }
.akva-commerce .wc-block-cart-items__row td { border-top-color: var(--wp--preset--color--stone); padding-block: 1.5rem; }
.akva-commerce .wc-block-components-quantity-selector { border-radius: 0; border-color: var(--wp--preset--color--stone); min-height: 44px; }
.akva-commerce .wc-block-components-quantity-selector button { min-width: 36px; }
.akva-commerce .wc-block-cart-item__remove-link { min-height: 44px; font-size: .9375rem; }
.akva-commerce :is(.wc-block-components-text-input input,.wc-block-components-combobox-control input,.wc-block-components-country-input select,.wc-block-components-state-input select) { border-radius: 0 !important; background: var(--wp--preset--color--bone); color: var(--wp--preset--color--river-pine); border-color: var(--wp--preset--color--stone); }
.akva-commerce .wc-block-components-button { min-height: 52px; border-radius: 0; font-family: inherit; }
.akva-commerce .wc-block-components-button:not(.is-link) { background: var(--wp--preset--color--river-pine); color: var(--wp--preset--color--bone); border: 1px solid var(--wp--preset--color--river-pine); }
.akva-commerce .wc-block-components-button:not(.is-link):hover { background: var(--wp--preset--color--bone); color: var(--wp--preset--color--river-pine); }
.akva-commerce :is(button,a,input,select):focus-visible { outline: 2px solid var(--wp--preset--color--river-pine); outline-offset: 3px; }
.akva-commerce-support { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem 2rem; padding: 2rem 0; margin-top: 3rem; border-top: var(--wp--custom--rule); }
.akva-commerce-support p { margin: 0; }
.akva-checkout-update-status { margin: 0; color: var(--wp--preset--color--river-pine); font-size: .9375rem; line-height: 1.5; }
.akva-checkout-update-status:not(:empty) { margin-top: .75rem; }
/* Native coupon error red needs the approved light surface, not sage, for contrast. */
.akva-commerce .wc-block-components-totals-coupon .wc-block-components-validation-error { background: var(--wp--preset--color--bone); padding: .5rem; }
.akva-commerce-support a { display: inline-flex; min-height: 44px; align-items: center; }
@media (max-width: 800px) {
  .akva-commerce .wc-block-components-sidebar-layout { gap: 2rem; }
  .akva-commerce .wc-block-components-sidebar-layout :is(.wc-block-components-main,.wc-block-components-sidebar) { flex: 1 1 100%; width: 100%; }
  .akva-commerce .wc-block-cart__sidebar { padding: 1.25rem; }
}
@media (max-width: 360px) {
  main.akva-cart-page .wc-block-cart .wc-block-cart-items .wc-block-cart-item__image { width: 44px; padding-right: .5rem; }
  main.akva-cart-page .wc-block-cart .wc-block-cart-items .wc-block-cart-item__product { min-width: 0; padding-right: .5rem; }
  main.akva-cart-page .wc-block-cart .wc-block-cart-items .wc-block-components-product-name { overflow-wrap: anywhere; font-size: 1.1rem; }
  main.akva-cart-page .wc-block-cart .wc-block-cart-items .wc-block-cart-item__total { padding-left: 0; font-size: .875rem; }
}
@media (max-width: 480px) {
  .akva-commerce { padding-top: 2rem; }
  .akva-commerce .wc-block-components-product-name { font-size: 1.25rem; }
  main.akva-cart-page .wc-block-cart .wc-block-cart-items .wc-block-cart-item__image { min-width: 0; width: 64px; padding-right: .75rem; }
  .akva-commerce-support { display: block; }
  .akva-commerce-support p + p { margin-top: .75rem; }
}
@media (max-width: 360px) {
  main.akva-cart-page .wc-block-cart .wc-block-cart-items .wc-block-cart-items__row { grid-template-columns: 44px minmax(0,1fr) 55px; gap: 8px; }
  main.akva-cart-page .wc-block-cart .wc-block-cart-items .wc-block-cart-item__image { width: 44px; padding-right: 0; }
  main.akva-cart-page .wc-block-cart .wc-block-cart-item__quantity { flex-wrap: wrap; padding-right: 0; }
}
