/* Generated by scripts/build-rtl.js (rtlcss). Do not edit; edit the LTR source and rebuild. */
/* ==========================================================================
   RIVISTA — Cart & Checkout (WooCommerce Blocks)

   Everything is scoped to body.woocommerce-cart / body.woocommerce-checkout
   and, for block internals, to the block root (.wp-block-woocommerce-cart /
   .wp-block-woocommerce-checkout) so the off-canvas mini-cart that also lives
   on these pages is never restyled from here.

   Why the blocks used to stack on desktop:
   1. templates/page.css caps .entry-content at 840px and .page-container at
      1200px, so the blocks measured their own width from a narrow column;
   2. the old rule added a 32px flex gap on top of WooCommerce's 65% + 35%
      columns, which overflowed 100% and wrapped the sidebar under the items.
   The layout below replaces the percentage flex with a grid keyed to the
   block's own container width (the blocks declare container-type).
   ========================================================================== */

.woocommerce-cart,
.woocommerce-checkout {
  /* Field outlines need a touch more contrast than the decorative hairline. */
  --cc-field-line: color-mix(in srgb, var(--ink) 20%, var(--paper));
  --cc-sticky-top: 117px; /* sticky site header (85px) + breathing room */
  --cc-error: #b3261e;
}

/* ---------------------------------------------------------------------------
   1. Page frame and title
   --------------------------------------------------------------------------- */

.woocommerce-cart #main-content,
.woocommerce-checkout #main-content {
  padding: 0;
}

.woocommerce-cart .page-container,
.woocommerce-checkout .page-container {
  width: auto;
  max-width: var(--shell);
  margin-inline: auto;
  padding: clamp(28px, 4vw, 56px) var(--pad-x) clamp(80px, 9vw, 128px);
}

.woocommerce-cart .page-container .entry-header,
.woocommerce-checkout .page-container .entry-header {
  margin: 0 0 clamp(32px, 4vw, 56px);
  padding: 0 0 clamp(20px, 2.4vw, 32px);
  border-bottom: 1px solid var(--line);
}

.woocommerce-cart .page-container .entry-title,
.woocommerce-checkout .page-container .entry-title {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(44px, 5vw, 76px);
  font-weight: 500;
  line-height: .95;
  letter-spacing: -.035em;
  color: var(--ink);
}

.woocommerce-cart .page-container .entry-title::after,
.woocommerce-checkout .page-container .entry-title::after {
  content: ".";
  color: var(--accent);
}

.woocommerce-cart .page-container .entry-content,
.woocommerce-checkout .page-container .entry-content {
  max-width: none;
  font-family: var(--sans);
  font-size: 15px;
  line-height: 1.55;
  color: var(--ink);
}

.woocommerce-cart .page-container .alignwide,
.woocommerce-checkout .page-container .alignwide,
.woocommerce-cart .page-container .wp-block-woocommerce-cart,
.woocommerce-checkout .page-container .wp-block-woocommerce-checkout {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-top: 0;
}

/* Shared focus ring for every interactive element inside the blocks. */
.woocommerce-cart .wp-block-woocommerce-cart :is(a, button, [role="button"], summary):focus-visible,
.woocommerce-checkout .wp-block-woocommerce-checkout :is(a, button, [role="button"], summary):focus-visible {
  outline: 2px solid var(--ink);
  outline-offset: 3px;
}

/* ---------------------------------------------------------------------------
   2. Layout — stacked by default, two columns once the block is wide enough
   --------------------------------------------------------------------------- */

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-sidebar-layout,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 40px;
  margin: 0;
}

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-main,
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-main,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-sidebar {
  width: 100%;
  min-width: 0;
  margin: 0;
}

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-main,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-main {
  padding: 0;
}

/* Stacked checkout: summary first (WooCommerce does the same on phones). */
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-checkout__sidebar {
  order: 0;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-checkout__main {
  order: 1;
}

@container (min-width: 880px) {
  .woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-sidebar-layout,
  .woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout {
    display: grid;
    grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
    column-gap: clamp(40px, 5vw, 88px);
    align-items: start;
  }

  .woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  }

  .woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-main,
  .woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-main {
    grid-column: 1;
    grid-row: 1;
  }

  .woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar,
  .woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-sidebar {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
    position: sticky;
    top: var(--cc-sticky-top);
  }
}

/* Small laptops: give the cart totals a little more room. */
@container (min-width: 880px) and (max-width: 1099px) {
  .woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-sidebar-layout {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  }
}

/* ---------------------------------------------------------------------------
   3. Cart line items
   --------------------------------------------------------------------------- */

.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items {
  width: 100%;
  margin: 0;
  border: 0;
  border-collapse: collapse;
  border-spacing: 0;
}

.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items th,
.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items td {
  border: 0;
  text-align: right;
}

/* Header labels: tiny, quiet, aligned to the columns below. */
.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__header th {
  padding: 0 0 14px;
  font-family: var(--display);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ink-3);
  vertical-align: bottom;
  white-space: nowrap;
}

.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__header .wc-block-cart-items__header-image {
  width: 112px;
}

.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__header .wc-block-cart-items__header-total {
  width: 128px;
  text-align: left;
}

/* Image */
.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image a {
  display: block;
  width: 88px;
  overflow: hidden;
  background: var(--paper-2);
}

.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image img {
  display: block;
  width: 88px;
  max-width: none;
  height: 110px;
  margin: 0;
  object-fit: cover;
  transition: transform var(--dur) var(--ease);
}

.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image a:hover img {
  transform: scale(1.04);
}

/* Product column */
.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__wrap {
  gap: 6px;
}

.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name {
  max-width: 100%;
  font-family: var(--display);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -.005em;
  color: var(--ink);
  text-decoration: underline;
  text-decoration-color: transparent;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  transition: text-decoration-color var(--dur) var(--ease);
}

.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name:hover {
  text-decoration-color: var(--terra);
}

.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices {
  font-family: var(--sans);
  font-size: 13px;
  line-height: 1.4;
  color: var(--ink-3);
  font-variant-numeric: tabular-nums;
}

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items .wc-block-components-product-price del,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-order-summary .wc-block-components-product-price del {
  color: var(--ink-3);
}

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items .wc-block-components-product-price ins,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-order-summary .wc-block-components-product-price ins {
  color: var(--accent);
  text-decoration: none;
}

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items .wc-block-components-product-badge,
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items .wc-block-components-sale-badge {
  padding: 3px 8px;
  border: 1px solid var(--accent);
  border-radius: 999px;
  background: transparent;
  font-family: var(--display);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--accent);
}

.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-components-product-metadata {
  font-size: 13px;
  line-height: 1.5;
  color: var(--ink-3);
}

.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-components-product-metadata__description p {
  display: -webkit-box;
  max-width: 52ch;
  margin: 0;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-components-product-details {
  margin: 0;
  font-size: 12px;
  color: var(--ink-2);
}

/* Quantity: compact hairline pill */
.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity {
  margin-top: 10px;
  gap: 12px;
}

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items .wc-block-components-quantity-selector {
  width: 108px;
  height: 36px;
  border: 1px solid var(--cc-field-line);
  border-radius: 999px;
  background: var(--paper);
  overflow: hidden;
  transition: border-color var(--dur) var(--ease);
}

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items .wc-block-components-quantity-selector::after {
  content: none;
}

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items .wc-block-components-quantity-selector:hover,
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items .wc-block-components-quantity-selector:focus-within {
  border-color: var(--ink);
}

/* The near-1 opacity makes Chrome draw the digit with greyscale antialiasing:
   its subpixel (LCD) text inside form fields tinted the one-stroke "1"
   red/cyan, so it read as terracotta instead of ink. */
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
  min-width: 28px;
  padding: 0;
  font-family: var(--display);
  font-size: 14px;
  font-weight: 500;
  color: var(--ink);
  -webkit-text-fill-color: var(--ink);
  font-variant-numeric: tabular-nums;
  opacity: .999;
}

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items .wc-block-components-quantity-selector > .wc-block-components-quantity-selector__button {
  min-width: 36px;
  border-radius: 999px;
  font-size: 16px;
  color: var(--ink);
  opacity: .7;
  transition: opacity var(--dur) var(--ease), color var(--dur) var(--ease);
}

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items .wc-block-components-quantity-selector > .wc-block-components-quantity-selector__button:hover {
  color: var(--accent);
  opacity: 1;
}

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items .wc-block-components-quantity-selector > .wc-block-components-quantity-selector__button:disabled {
  color: var(--ink);
  opacity: .25;
}

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:focus,
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input:focus {
  box-shadow: none;
  outline: none;
}

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:focus-visible,
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input:focus-visible {
  outline: 2px solid var(--ink);
  outline-offset: -3px;
}

/* Remove: small round icon button */
.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--ink-3);
  text-decoration: none;
  transition: color var(--dur) var(--ease), background-color var(--dur) var(--ease);
}

.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link:hover {
  background: var(--paper-2);
  color: var(--accent);
}

.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__save-for-later .wc-block-cart-item__save-for-later-link {
  font-size: 12px;
  color: var(--ink-3);
  text-underline-offset: 3px;
}

/* Line total */
.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total {
  font-family: var(--display);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.3;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* Desktop table: one hairline per row across every cell. The cells must stay
   table-cells — WooCommerce makes the total cell display:flex, which is what
   cut its border short and misaligned the rules under the price. */
@container (min-width: 700px) {
  .woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__main table.wc-block-cart-items {
    border-bottom: 1px solid var(--line);
  }

  .woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row td {
    display: table-cell;
    padding: 28px 0 28px 24px;
    border-top: 1px solid var(--line);
    vertical-align: top;
  }

  .woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row td.wc-block-cart-item__total {
    padding-left: 0;
    text-align: left;
  }
}

/* Phones / narrow containers: image | details | total grid. */
@container (max-width: 699px) {
  .woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr) auto;
    column-gap: 16px;
    padding: 20px 0;
    border-bottom: 1px solid var(--line);
  }

  .woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row:first-child {
    padding-top: 0;
  }

  .woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row td {
    padding: 0;
  }

  .woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image {
    grid-column: 1;
    grid-row: 1;
    padding: 0;
  }

  .woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product {
    grid-column: 2;
    grid-row: 1;
    padding: 0;
  }

  /* The extra inline padding keeps a long name from running into the total. */
  .woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total {
    display: block;
    grid-column: 3;
    grid-row: 1;
    padding-right: 12px;
    font-size: 14px;
    line-height: 20px;
    text-align: left;
  }

  .woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name {
    font-size: 15px;
    line-height: 20px;
    text-wrap: pretty;
  }

  .woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-components-product-metadata__description p {
    -webkit-line-clamp: 1;
  }
}

/* Cross-sells ("You may be interested in…") under the items. */
.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-cart-items-block .wp-block-woocommerce-product-collection {
  margin-top: clamp(48px, 6vw, 80px);
}

.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-cart-items-block .wp-block-woocommerce-product-collection > .wp-block-heading {
  margin: 0 0 24px;
  font-family: var(--display);
  font-size: 22px;
  font-weight: 500;
  letter-spacing: -.015em;
  text-align: right;
  color: var(--ink);
}

/* ---------------------------------------------------------------------------
   4. Summary panels (cart totals + checkout order summary)
   --------------------------------------------------------------------------- */

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-sidebar-layout .wc-block-cart__sidebar,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-checkout__sidebar {
  padding: 32px;
  border: 1px solid var(--line);
  background: var(--paper);
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
  margin: 0;
  border: 0;
  border-radius: 0;
  font-size: 14px;
}

/* Panel titles: small uppercase eyebrow with a terracotta dot. */
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__sidebar .wc-block-cart__totals-title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 20px;
  padding: 0;
  font-family: var(--display);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ink);
}

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__sidebar .wc-block-cart__totals-title::before {
  content: "";
  flex: 0 0 auto;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--terra);
}

/* Inner rows own no side padding; the panel does. */
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-sidebar .wc-block-components-panel,
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon,
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-item,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-sidebar .wc-block-components-panel,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-sidebar .wc-block-components-totals-coupon,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-sidebar .wc-block-components-totals-item {
  padding-right: 0;
  padding-left: 0;
}

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-wrapper,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-wrapper,
.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-totals-block {
  border-color: var(--line);
}

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart .wp-block-woocommerce-cart-order-summary-block {
  margin: 0;
  border-bottom: 0;
}

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-wrapper,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-sidebar .wc-block-components-totals-wrapper {
  padding: 16px 0;
}

/* Subtotal, discounts, fees, shipping and taxes share one group; give every
   visible row its own hairline instead of a single rule above the group. */
.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-cart-order-summary-totals-block,
.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-totals-block {
  padding-bottom: 0;
  border-top: 1px solid var(--line);
}

.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-cart-order-summary-totals-block .wc-block-components-totals-wrapper,
.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-totals-block .wc-block-components-totals-wrapper {
  padding: 16px 0;
  border: 0;
}

.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-cart-order-summary-totals-block .wc-block-components-totals-wrapper + .wc-block-components-totals-wrapper:not(:empty),
.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-totals-block .wc-block-components-totals-wrapper + .wc-block-components-totals-wrapper:not(:empty) {
  border-top: 1px solid var(--line);
}

.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-cart-order-summary-totals-block .wc-block-components-totals-wrapper:empty,
.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-totals-block .wc-block-components-totals-wrapper:empty {
  padding: 0;
}

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-item,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-item {
  gap: 4px 16px;
}

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-item__label,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-item__label {
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 400;
  color: var(--ink-2);
}

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-item__value,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-item__value {
  font-family: var(--display);
  font-size: 14px;
  font-weight: 500;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-item__description,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-item__description {
  font-size: 12px;
  color: var(--ink-3);
}

/* Grand total */
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-wrapper:has(.wc-block-components-totals-footer-item),
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-sidebar .wc-block-components-totals-wrapper:has(.wc-block-components-totals-footer-item) {
  padding: 20px 0 0;
}

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-footer-item,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-footer-item {
  align-items: baseline;
  margin: 0;
}

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-family: var(--display);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.3;
  color: var(--ink);
}

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-family: var(--display);
  font-size: 28px;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -.02em;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* Coupon toggle: a quiet text row. */
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button {
  margin: 0;
  padding-top: 0;
  padding-bottom: 0;
  min-height: 24px;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 400;
  color: var(--ink-2);
  transition: color var(--dur) var(--ease);
}

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button:hover,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button:hover {
  color: var(--ink);
}

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button[aria-expanded="true"],
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button[aria-expanded="true"] {
  margin-bottom: 14px;
}

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-panel__button > .wc-block-components-panel__button-icon,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-panel__button > .wc-block-components-panel__button-icon {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-coupon__form,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon__form {
  gap: 8px;
}

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button {
  min-height: 52px;
  padding: 0 22px;
}

/* Cart: proceed to checkout */
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit {
  margin: 24px 0 0;
}

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-container {
  padding: 0;
}

/* Quiet reassurance under the button. CSS text is not translatable, so it is
   limited to English sites; the copy mirrors the theme's own trust badges. */
.rivista-lang-en.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__sidebar::after {
  content: "Secure checkout \00B7  30-day returns";
  display: block;
  margin-top: 16px;
  font-family: var(--sans);
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: .02em;
  text-align: center;
  color: var(--ink-3);
}

/* ---------------------------------------------------------------------------
   5. Buttons
   --------------------------------------------------------------------------- */

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-button.contained,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-button.contained {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 0 28px;
  border: 0;
  border-radius: 999px;
  background: var(--ink);
  color: var(--paper);
  font-family: var(--display);
  font-size: 12.5px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: .14em;
  text-transform: uppercase;
  text-decoration: none;
  box-shadow: none;
  transition: background-color var(--dur) var(--ease), color var(--dur) var(--ease);
}

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-button.contained:hover,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-button.contained:hover {
  background: var(--ink);
  color: var(--paper);
}

/* The terracotta wipe from _shared.css carries the hover; WooCommerce's blue
   focus ring is replaced by the ink outline defined above. */
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-button:not(.is-link):focus,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-button:not(.is-link):focus {
  box-shadow: none;
}

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-button:not(.contained)::before,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-button:not(.contained)::before {
  content: none;
}

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-button[aria-disabled="true"],
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-button[aria-disabled="true"],
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-button:disabled {
  cursor: not-allowed;
}

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button {
  width: 100%;
}

/* ---------------------------------------------------------------------------
   6. Checkout form
   --------------------------------------------------------------------------- */

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__form {
  margin: 0;
  counter-reset: rivista-step;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-form fieldset.wc-block-components-checkout-step {
  margin: 0 0 clamp(36px, 4vw, 48px);
  padding: clamp(28px, 3vw, 36px) 0 0;
  border: 0;
  border-top: 1px solid var(--line);
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-form fieldset.wc-block-components-checkout-step:first-of-type {
  padding-top: 0;
  border-top: 0;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-step__heading-container {
  gap: 6px;
  margin: 0 0 22px;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-step__heading {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px 16px;
  margin: 0;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-title.wc-block-components-checkout-step__title {
  display: flex;
  align-items: baseline;
  gap: 14px;
  margin: 0;
  font-family: var(--display);
  font-size: clamp(22px, 2vw, 26px);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -.02em;
  color: var(--ink);
}

/* "01 Contact information" — only when WooCommerce's own numbering is off. */
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__form:not(.wc-block-checkout__form--with-step-numbers) .wc-block-components-checkout-step__title::before {
  counter-increment: rivista-step;
  content: counter(rivista-step, decimal-leading-zero);
  flex: 0 0 auto;
  font-family: var(--display);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .06em;
  color: var(--accent);
  font-variant-numeric: tabular-nums;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-step__heading-content,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-step__description {
  font-size: 13px;
  line-height: 1.5;
  color: var(--ink-3);
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-step__heading-content a {
  font-weight: 500;
  color: var(--ink);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__guest-checkout-notice {
  margin: 8px 0 0;
  font-size: 13px;
  color: var(--ink-3);
}

/* Text inputs: 52px, square, hairline; floating labels kept. */
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input input:is([type="email"], [type="number"], [type="password"], [type="tel"], [type="text"], [type="url"]),
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-text-input input:is([type="email"], [type="number"], [type="password"], [type="tel"], [type="text"], [type="url"]) {
  height: 52px;
  padding: 16px 15px;
  border: 1px solid var(--cc-field-line);
  border-radius: 0;
  background: var(--paper);
  box-shadow: none;
  font-family: var(--sans);
  font-size: 15px;
  line-height: 20px;
  color: var(--ink);
  transition: border-color var(--dur) var(--ease);
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input.is-active input:is([type="email"], [type="number"], [type="password"], [type="tel"], [type="text"], [type="url"]),
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input input:-webkit-autofill,
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-text-input.is-active input:is([type="email"], [type="number"], [type="password"], [type="tel"], [type="text"], [type="url"]),
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-text-input input:-webkit-autofill {
  padding: 24px 15px 6px;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input input:hover,
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-text-input input:hover {
  border-color: var(--ink-3);
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input input:is([type="email"], [type="number"], [type="password"], [type="tel"], [type="text"], [type="url"]):focus,
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-text-input input:is([type="email"], [type="number"], [type="password"], [type="tel"], [type="text"], [type="url"]):focus {
  border: 1px solid var(--ink);
  outline: 1px solid var(--ink);
  outline-offset: -2px;
  background: var(--paper);
  color: var(--ink);
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input.is-active input:is([type="email"], [type="number"], [type="password"], [type="tel"], [type="text"], [type="url"]):focus,
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-text-input.is-active input:is([type="email"], [type="number"], [type="password"], [type="tel"], [type="text"], [type="url"]):focus {
  padding: 24px 15px 6px;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input label,
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-text-input label {
  top: 26px;
  right: 16px;
  max-width: calc(100% - 32px);
  font-family: var(--sans);
  font-size: 15px;
  line-height: 20px;
  color: var(--ink-3);
  transition: top var(--dur) var(--ease), transform var(--dur) var(--ease), color var(--dur) var(--ease);
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input.is-active label,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input input:-webkit-autofill + label,
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-text-input.is-active label,
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-text-input input:-webkit-autofill + label {
  top: 7px;
  transform: scale(.78);
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input.has-error input,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input.has-error input:focus {
  border-color: var(--cc-error);
  outline-color: var(--cc-error);
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input.has-error label,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-validation-error {
  color: var(--cc-error);
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-validation-error {
  font-size: 12px;
}

/* Selects (country / state) */
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__container {
  border-radius: 0;
  background: var(--paper);
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select {
  height: 52px;
  padding: 20px 15px 0 44px;
  border: 1px solid var(--cc-field-line);
  border-radius: 0;
  font-family: var(--sans);
  font-size: 15px;
  line-height: 24px;
  color: var(--ink);
  cursor: pointer;
  transition: border-color var(--dur) var(--ease);
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select:hover {
  border-color: var(--ink-3);
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select:focus {
  padding: 20px 15px 0 44px;
  border: 1px solid var(--ink);
  outline: 1px solid var(--ink);
  outline-offset: -2px;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__label {
  top: 8px;
  right: 16px;
  font-family: var(--sans);
  font-size: 12px;
  color: var(--ink-3);
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__expand {
  left: 16px;
  fill: var(--ink);
}

.woocommerce-checkout .wp-block-woocommerce-checkout .has-error .wc-blocks-components-select .wc-blocks-components-select__select {
  border-color: var(--cc-error);
}

/* Legacy combobox (older WooCommerce state/country control) */
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input {
  height: 52px;
  border: 1px solid var(--cc-field-line);
  border-radius: 0;
  background: var(--paper);
  font-family: var(--sans);
  font-size: 15px;
  color: var(--ink);
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input:focus {
  border-color: var(--ink);
  outline: 1px solid var(--ink);
  outline-offset: -2px;
  box-shadow: none;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-textarea {
  border: 1px solid var(--cc-field-line);
  border-radius: 0;
  background: var(--paper);
  font-family: var(--sans);
  font-size: 15px;
  color: var(--ink);
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-textarea:focus {
  border-color: var(--ink);
  outline: 1px solid var(--ink);
  outline-offset: -2px;
  box-shadow: none;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-address-form__address_2-toggle {
  margin-top: 10px;
  font-size: 13px;
  color: var(--ink-2);
  text-underline-offset: 3px;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-address-card {
  padding: 18px 20px;
  border: 1px solid var(--line);
  border-radius: 0;
  font-size: 14px;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-address-card__edit {
  font-size: 13px;
  color: var(--ink);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Checkboxes */
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkbox label,
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-checkbox label {
  gap: 12px;
  font-size: 14px;
  line-height: 20px;
  color: var(--ink-2);
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"],
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
  width: 18px;
  min-width: 18px;
  height: 18px;
  margin: 1px 0 0;
  border: 1px solid var(--ink-3);
  border-radius: 2px;
  background: var(--paper);
  accent-color: var(--ink);
  transition: background-color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked,
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked {
  border-color: var(--ink);
  background: var(--ink);
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:focus,
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:focus {
  outline: none;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:focus-visible,
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--ink);
  outline-offset: 2px;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__mark,
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-checkbox .wc-block-components-checkbox__mark {
  width: 14px;
  height: 14px;
  margin-top: 3px;
  margin-right: 2px;
  fill: var(--paper);
}

/* Radios */
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input,
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-radio-control .wc-block-components-radio-control__input {
  right: 20px;
  width: 18px;
  height: 18px;
  border: 1px solid var(--ink-3);
  background: var(--paper);
  accent-color: var(--ink);
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input:checked,
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-radio-control .wc-block-components-radio-control__input:checked {
  border-color: var(--ink);
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input:checked::before,
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-radio-control .wc-block-components-radio-control__input:checked::before {
  width: 8px;
  height: 8px;
  background: var(--ink);
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input:focus,
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-radio-control .wc-block-components-radio-control__input:focus {
  outline: none;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input:focus-visible,
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-radio-control .wc-block-components-radio-control__input:focus-visible {
  outline: 2px solid var(--ink);
  outline-offset: 2px;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control__option {
  padding: 18px 52px 18px 20px;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control__label,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-payment-method-label {
  font-family: var(--display);
  font-size: 15px;
  font-weight: 500;
  color: var(--ink);
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control__description,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control__secondary-label,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control__secondary-description {
  font-size: 13px;
  color: var(--ink-3);
}

/* Payment / shipping options: one square hairline box. The chosen option is
   marked by its ink radio and a thin terracotta rule on its leading edge,
   not by WooCommerce's heavy inset ink frame. */
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control--highlight-checked::after {
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 0;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control--highlight-checked div.wc-block-components-radio-control-accordion-option::after,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option::after {
  right: 0;
  left: 0;
  background: var(--line);
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted {
  z-index: 1;
  border-radius: 0;
  box-shadow: none;
  outline: 0;
}

/* Painted above the box hairline (the option carries z-index 1). */
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted::before,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 2px;
  background: var(--terra);
  pointer-events: none;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-content {
  padding: 0 52px 18px 20px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--ink-3);
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__order-notes {
  margin: 0 0 28px;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__terms {
  margin: 0 0 24px;
  font-size: 13px;
  line-height: 1.55;
  color: var(--ink-3);
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__terms.wc-block-checkout__terms--with-separator {
  padding-top: 24px;
  border-top: 1px solid var(--line);
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__terms a {
  color: var(--ink);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__actions {
  margin: 0;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__actions_row {
  gap: 16px;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-return-to-cart-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--ink-2);
  text-decoration: none;
  white-space: nowrap;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-return-to-cart-button:hover {
  color: var(--ink);
}

/* ---------------------------------------------------------------------------
   7. Checkout order summary
   --------------------------------------------------------------------------- */

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title {
  margin: 0 0 20px;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-family: var(--display);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ink);
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text::before {
  content: "";
  flex: 0 0 auto;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--terra);
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-cart-items-block.wc-block-components-totals-wrapper {
  padding: 4px 0 24px;
  border-top: 0;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-order-summary {
  margin: 0;
  padding: 0;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item {
  align-items: flex-start;
  gap: 18px;
  padding: 0 0 18px;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item:last-child {
  padding-bottom: 0;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__image {
  flex: 0 0 56px;
  width: 56px;
  margin: 0;
  padding: 0;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__image > img {
  width: 56px;
  max-width: 56px;
  height: 70px;
  object-fit: cover;
  background: var(--paper-2);
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__quantity {
  min-width: 22px;
  min-height: 22px;
  border: 2px solid var(--paper);
  border-radius: 999px;
  background: var(--ink);
  font-family: var(--display);
  font-size: 11px;
  font-weight: 500;
  transform: translate(-40%, -40%);
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__quantity span {
  padding: 0 .35em;
  color: var(--paper);
  font-variant-numeric: tabular-nums;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__description {
  flex: 1 1 auto;
  min-width: 0;
  gap: 3px;
  padding: 2px 0 0;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-product-name {
  font-family: var(--display);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3;
  color: var(--ink);
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-order-summary .wc-block-cart-item__prices {
  font-size: 12px;
  color: var(--ink-3);
  font-variant-numeric: tabular-nums;
}

/* The short description is catalogue copy; variation details stay visible. */
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-order-summary .wc-block-components-product-metadata__description {
  display: none;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-order-summary .wc-block-components-product-details {
  margin: 0;
  font-size: 12px;
  color: var(--ink-3);
}

.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__total-price {
  padding-top: 2px;
  font-family: var(--display);
  font-size: 14px;
  font-weight: 500;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* Phones repeat the summary inside the form, just above "Place order". */
.woocommerce-checkout .wp-block-woocommerce-checkout .checkout-order-summary-block-fill-wrapper {
  margin: 0;
  padding: 0 0 28px;
  border: 0;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .checkout-order-summary-block-fill-wrapper .wc-block-components-checkout-step__heading {
  margin: 0 0 20px;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .checkout-order-summary-block-fill-wrapper .checkout-order-summary-block-fill {
  padding: 20px 20px 4px;
  border: 1px solid var(--line);
  border-radius: 0;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .checkout-order-summary-block-fill-wrapper .wc-block-components-order-summary,
.woocommerce-checkout .wp-block-woocommerce-checkout .checkout-order-summary-block-fill-wrapper .wc-block-components-totals-coupon,
.woocommerce-checkout .wp-block-woocommerce-checkout .checkout-order-summary-block-fill-wrapper .wc-block-components-totals-item {
  padding-right: 0;
  padding-left: 0;
}

.woocommerce-checkout .wp-block-woocommerce-checkout .checkout-order-summary-block-fill-wrapper .wc-block-components-totals-wrapper {
  padding: 16px 0;
}

/* Collapsible summary on phones: a hairline toggle row with the total. */
@container (max-width: 699px) {
  .woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-checkout__sidebar {
    padding: 0;
    border: 0;
  }

  /* The page title's rule already sits above, so only a bottom hairline. */
  .woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title {
    gap: 12px;
    margin: 0;
    padding: 0 0 20px;
    border-top: 0;
    border-bottom: 1px solid var(--line);
  }

  .woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text {
    font-size: 11px;
  }

  .woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-price {
    font-family: var(--display);
    font-size: 16px;
    font-weight: 500;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
  }

  .woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-icon {
    fill: var(--ink);
    transition: transform var(--dur) var(--ease);
  }

  .woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title:focus-visible {
    outline: 2px solid var(--ink);
    outline-offset: 2px;
  }

  .woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__content.is-open {
    padding: 20px 0;
    border-bottom: 1px solid var(--line);
  }
}

/* ---------------------------------------------------------------------------
   8. Phones: fixed "Proceed to checkout" bar and fields
   --------------------------------------------------------------------------- */

@media (max-width: 782px) {
  /* WooCommerce pins the cart button to the viewport on small screens; keep
     that, minus its drop shadow. */
  .woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-container--sticky {
    padding: 12px var(--pad-x) calc(12px + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid var(--line);
    background: var(--paper);
  }

  .woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-container--sticky::before {
    content: none;
  }
}

@media (max-width: 560px) {
  .woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-sidebar-layout .wc-block-cart__sidebar {
    padding: 24px 20px;
  }

  .woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
  .woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-size: 24px;
  }

  .woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control__option {
    padding: 16px 48px 16px 16px;
  }

  .woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input {
    right: 16px;
  }

  .woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-content {
    padding: 0 48px 16px 16px;
  }
}

/* ---------------------------------------------------------------------------
   9. Empty cart
   --------------------------------------------------------------------------- */

/* The message sits centred; the "New in store" shelf below it spans the page
   shell like the shop grid and the wishlist's "While you're here" strip. */
.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block {
  max-width: none;
  margin: 0;
  padding: clamp(24px, 4vw, 56px) 0 0;
  text-align: center;
}

/* A calm serif line, the same voice as the empty wishlist. */
.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
  max-width: 22ch;
  margin: 0 auto;
  font-family: var(--serif);
  font-size: clamp(30px, 3.4vw, 46px);
  font-style: italic;
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: -.01em;
  color: var(--ink);
  text-wrap: balance;
}

/* Swap WooCommerce's large sad-face mask for a single terracotta dot. */
.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
  width: 8px;
  height: 8px;
  margin: 0 auto 24px;
  border-radius: 50%;
  background: var(--terra);
  -webkit-mask-image: none;
  mask-image: none;
}

/* "Continue shopping" (added by rivista_empty_cart_block()). */
.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .rivista-empty-cart__actions {
  margin: clamp(28px, 3vw, 36px) 0 0;
  padding: 0;
}

.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .rivista-empty-cart__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 28px 0 24px;
  border-radius: 999px;
  background: var(--ink);
  color: var(--paper);
  font-family: var(--display);
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color var(--dur) var(--ease);
}

.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .rivista-empty-cart__cta svg {
  flex: none;
  transition: transform var(--dur) var(--ease);
}

.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .rivista-empty-cart__cta:hover {
  background: var(--terra);
  color: var(--paper);
}

.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .rivista-empty-cart__cta:hover svg {
  transform: translateX(-3px);
}

.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .rivista-empty-cart__cta svg { transform: scaleX(-1); }

.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .rivista-empty-cart__cta:hover svg { transform: translateX(-3px) scaleX(-1); }

/* Core's dots separator forces background/border off with !important, so the
   full-width hairline is drawn by its ::before instead of the dots. */
.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-separator {
  width: 100%;
  max-width: none;
  margin: clamp(64px, 8vw, 112px) 0 0;
  padding: 0;
  opacity: 1;
}

.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-separator::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  margin: 0;
  padding: 0;
  background: var(--line);
  letter-spacing: 0;
}

.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-separator + .wp-block-heading {
  margin: 0;
  padding: clamp(40px, 5vw, 64px) 0 clamp(24px, 3vw, 36px);
  font-family: var(--display);
  font-size: clamp(24px, 2.4vw, 32px);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -.02em;
  text-align: right;
  color: var(--ink);
}

/* "New in store" grid: the shop card language — portrait image, name and
   price, one quiet text action. The generic block-grid card rules in
   custom-cards.css are all !important (they beat WooCommerce Blocks' own
   stylesheet), so the few overrides here have to be !important as well. */
.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid {
  margin: 0;
}

.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid .wc-block-grid__products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 40px 24px;
  margin: 0;
  padding: 0;
}

.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid .wc-block-grid__product {
  flex: none;
  gap: 6px;
  width: auto;
  max-width: none;
  margin: 0;
  border: 0;
  font-size: 15px;
}

.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid .wc-block-grid__product-link {
  display: flex;
  flex-direction: column;
  gap: 14px;
  color: var(--ink);
  text-decoration: none;
}

.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid .wc-block-grid__product-title {
  text-decoration: underline;
  text-decoration-color: transparent;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  text-wrap: pretty;
  transition: text-decoration-color var(--dur) var(--ease);
}

.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid .wc-block-grid__product-link:hover .wc-block-grid__product-title {
  text-decoration-color: var(--terra);
}

.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid .wc-block-grid__product-price {
  justify-self: end;
  white-space: nowrap;
}

/* Ratings stay on the product page, as on the shop cards. */
.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid .wc-block-grid__product-rating {
  display: none;
}

.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid .wc-block-grid__product-onsale {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 1;
  margin: 0;
  padding: 4px 10px;
  border: 0;
  border-radius: 999px;
  background: var(--paper);
  font-family: var(--display);
  font-size: 10px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--accent);
}

.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid .wc-block-grid__product-add-to-cart {
  padding-top: 4px !important;
}

/* The one quiet action: a small underlined label, left-aligned. */
.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid .wc-block-grid__product-add-to-cart .wp-block-button__link {
  display: inline-flex !important;
  justify-content: flex-start !important;
  width: auto !important;
  min-height: 32px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ink) !important;
  font-weight: 500 !important;
  letter-spacing: .14em !important;
  text-decoration: underline;
  text-decoration-color: var(--cc-field-line);
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
  transition: text-decoration-color var(--dur) var(--ease), opacity var(--dur) var(--ease);
}

.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid .wc-block-grid__product-add-to-cart .wp-block-button__link:hover {
  text-decoration-color: var(--terra);
}

/* No terracotta wipe (_shared.css) and no icon-font glyphs from Blocks. */
.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid .wc-block-grid__product-add-to-cart .wp-block-button__link::before,
.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid .wc-block-grid__product-add-to-cart .wp-block-button__link::after {
  content: none;
}

.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid .wc-block-grid__product-add-to-cart .wp-block-button__link.loading {
  opacity: .45;
}

/* "View cart" would link to this same page. */
.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid .wc-block-grid__product-add-to-cart .added_to_cart {
  display: none;
}

/* Wide shelf: name and price share a row, the action lines up along the
   bottom of the row. Subgrid lets the price sit beside the title, which lives
   inside the product link. */
@container (min-width: 700px) {
  @supports (grid-template-rows: subgrid) {
    .woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid .wc-block-grid__product {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      grid-template-rows: auto auto 1fr;
      gap: 16px 16px;
    }

    .woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid .wc-block-grid__product-link {
      display: grid;
      grid-column: 1 / -1;
      grid-row: 1 / 3;
      grid-template-columns: subgrid;
      grid-template-rows: subgrid;
    }

    .woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid .wc-block-grid__product-image {
      grid-column: 1 / -1;
      grid-row: 1;
    }

    .woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid .wc-block-grid__product-title {
      grid-column: 1;
      grid-row: 2;
    }

    .woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid .wc-block-grid__product-price {
      grid-column: 2;
      grid-row: 2;
      align-self: start;
      line-height: 1.4;
    }

    .woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid .wc-block-grid__product-add-to-cart {
      grid-column: 1 / -1;
      grid-row: 3;
      align-self: end;
      padding-top: 0 !important;
    }
  }
}

/* Phones: two columns; name, then price, then the action pinned to the
   bottom so the actions stay in line when a name wraps. */
@container (max-width: 699px) {
  .woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid .wc-block-grid__products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 36px 14px;
  }

  .woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid .wc-block-grid__product-link {
    gap: 12px;
  }

  .woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid .wc-block-grid__product-title {
    font-size: 14px !important;
  }

  .woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid .wc-block-grid__product-price {
    justify-self: start;
    font-size: 13px !important;
    color: var(--ink-2) !important;
  }
}

/* ---------------------------------------------------------------------------
   10. Notices
   --------------------------------------------------------------------------- */

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-notice-banner,
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-notice-banner {
  border-radius: 0;
  font-size: 14px;
}

/* ---------------------------------------------------------------------------
   11. Classic [woocommerce_cart] shortcode fallback
   --------------------------------------------------------------------------- */

.woocommerce-cart-form.is-loading,
.woocommerce-cart .woocommerce.is-loading {
  opacity: .65;
  pointer-events: none;
  transition: opacity var(--dur) var(--ease);
}

.woocommerce-cart .woocommerce {
  display: flex;
  flex-wrap: wrap;
  gap: 48px;
  align-items: flex-start;
}

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

.woocommerce-cart .cart-collaterals {
  width: 380px;
  flex-shrink: 0;
  position: sticky;
  top: var(--cc-sticky-top);
}

@media (max-width: 1024px) {
  .woocommerce-cart .woocommerce {
    flex-direction: column;
    gap: 40px;
  }

  .woocommerce-cart .cart-collaterals {
    width: 100%;
    position: static;
  }
}

/* ---------------------------------------------------------------------------
   12. Reduced motion
   --------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  .woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image img,
  .woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name,
  .woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items .wc-block-components-quantity-selector,
  .woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items .wc-block-components-quantity-selector > .wc-block-components-quantity-selector__button,
  .woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link,
  .woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button,
  .woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button,
  .woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-button.contained,
  .woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-button.contained,
  .woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-text-input input:is([type="email"], [type="number"], [type="password"], [type="tel"], [type="text"], [type="url"]),
  .woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input input:is([type="email"], [type="number"], [type="password"], [type="tel"], [type="text"], [type="url"]),
  .woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-text-input label,
  .woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input label,
  .woocommerce-checkout .wp-block-woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select,
  .woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"],
  .woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"],
  .woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-icon,
  .woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .rivista-empty-cart__cta,
  .woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .rivista-empty-cart__cta svg,
  .woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid .wc-block-grid__product-title,
  .woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid .wc-block-grid__product-add-to-cart .wp-block-button__link {
    transition: none;
  }

  .woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image a:hover img {
    transform: none;
  }
}
