/**
 * Cart / checkout / thank-you shells (TC-B10�B12).
 */

body.arsin-cart .page-main,
/* Block checkout: page title from WP editor (e.g. «پرداخت»). */
body.arsin-checkout-blocks .checkout-page-header {
  margin: 0 0 1.25rem;
}

body.arsin-checkout-blocks .checkout-page-title,
body.arsin-checkout-blocks .wp-block-post-title {
  margin: 0;
  font-family: var(--font-display, inherit);
  font-size: var(--type-2xl, 1.75rem);
  font-weight: 700;
  line-height: 1.25;
  color: var(--ink, #111);
}

body.arsin-checkout .page-main,
body.arsin-checkout-blocks .page-main,
body.arsin-order-received .page-main {
  padding-block: 0;
}

/* �� Checkout shell v0.3.41 UX �� */
.section--checkout {
  padding-top: calc(var(--section-y) - 8px);
}

/* ==========================================================================
   WooCommerce Checkout block � Arsin skin (v0.3.114)
   WC Blocks CSS loads after early theme CSS; enqueue deps + !important
   break floating-label / default block chrome so it matches .field / .panel.
   ========================================================================== */

body.arsin-checkout-blocks .section--checkout-blocks .checkout-shell--blocks {
  max-width: 100%;
}

body.arsin-checkout-blocks .section--checkout-blocks .checkout-shell--blocks > .wp-block-woocommerce-checkout,
body.arsin-checkout-blocks .section--checkout-blocks .checkout-shell--blocks .wc-block-checkout {
  margin-inline: 0;
  margin-block: 0;
  padding-top: 0;
  max-width: none;
}

body.arsin-checkout-blocks .wc-block-checkout {
  font-family: inherit;
  font-size: var(--fs-body);
  color: var(--ink);
  --wc-product-pre-image-border-radius: var(--radius);
}

body.arsin-checkout-blocks .wc-block-components-sidebar-layout.wc-block-checkout {
  display: grid !important;
  /* Match cart: main + 330px order-box sidebar */
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 18px;
  align-items: start;
  flex-wrap: nowrap;
}

body.arsin-checkout-blocks .wc-block-checkout__main,
body.arsin-checkout-blocks .wc-block-checkout__sidebar {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: none !important;
  padding-inline: 0 !important;
  margin: 0 !important;
}

body.arsin-checkout-blocks .wc-block-checkout__main {
  display: grid;
  gap: 14px;
}

body.arsin-checkout-blocks .wc-block-checkout__sidebar.is-sticky {
  top: calc(var(--sticky-offset, 94px) + 8px);
}

body.arsin-checkout-blocks .wc-block-checkout__sidebar > .wp-block-woocommerce-checkout-order-summary-block {
  position: sticky;
  top: var(--sticky-offset, 94px);
}

@media (max-width: 900px) {
  body.arsin-checkout-blocks .wc-block-components-sidebar-layout.wc-block-checkout {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Steps ? panel look */
body.arsin-checkout-blocks .wc-block-components-checkout-step {
  margin: 0;
  padding: 18px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 1px 0 rgb(0 0 0 / 4%);
}

body.arsin-checkout-blocks .wc-block-components-checkout-step__container::after {
  display: none;
}

body.arsin-checkout-blocks .wc-block-components-checkout-step__title,
body.arsin-checkout-blocks .wc-block-components-title {
  margin: 0;
  font-size: var(--fs-section);
  font-weight: 700;
  line-height: 1.4;
  color: var(--ink);
}

body.arsin-checkout-blocks .wc-block-components-checkout-step__heading {
  margin: 0 0 6px;
}

body.arsin-checkout-blocks .wc-block-components-checkout-step__description {
  margin: 0 0 14px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.65;
}

body.arsin-checkout-blocks .wc-block-components-checkout-step__content {
  margin-top: 0;
}

/* Hide WC step number rail � panels already separate sections */
body.arsin-checkout-blocks .wc-block-components-checkout-step__heading::before,
body.arsin-checkout-blocks .wc-block-checkout .wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__content::after {
  display: none !important;
}

body.arsin-checkout-blocks .wc-block-checkout.is-large .wc-block-components-main {
  padding-inline: 0 !important;
}

/* Form fields � kill WC floating labels; match .field chrome */
body.arsin-checkout-blocks .wc-block-components-text-input,
body.arsin-checkout-blocks .wc-block-components-textarea,
body.arsin-checkout-blocks .wc-block-components-combobox,
body.arsin-checkout-blocks .wc-blocks-components-select {
  position: relative !important;
  display: flex !important;
  flex-direction: column-reverse !important;
  align-items: stretch !important;
  gap: 6px !important;
  margin: 0 !important;
  height: auto !important;
  min-height: 0 !important;
}

body.arsin-checkout-blocks .wc-block-components-text-input label,
body.arsin-checkout-blocks .wc-block-components-textarea label,
body.arsin-checkout-blocks .wc-block-components-combobox label,
body.arsin-checkout-blocks .wc-blocks-components-select label {
  position: static !important;
  inset: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #333 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  pointer-events: auto !important;
  background: transparent !important;
  max-width: none !important;
  width: auto !important;
}

body.arsin-checkout-blocks .wc-block-components-text-input.is-active label,
body.arsin-checkout-blocks .wc-block-components-text-input.has-value label,
body.arsin-checkout-blocks .wc-block-components-text-input:focus-within label,
body.arsin-checkout-blocks .wc-block-components-textarea.is-active label,
body.arsin-checkout-blocks .wc-block-components-textarea.has-value label {
  transform: none !important;
  font-size: 13px !important;
}

body.arsin-checkout-blocks .wc-block-components-text-input input,
body.arsin-checkout-blocks .wc-block-components-textarea textarea,
body.arsin-checkout-blocks .wc-block-components-combobox .components-combobox-control__input,
body.arsin-checkout-blocks .wc-block-components-combobox input,
body.arsin-checkout-blocks .wc-block-components-country-input select,
body.arsin-checkout-blocks .wc-block-components-state-input select,
body.arsin-checkout-blocks .wc-blocks-components-select select,
body.arsin-checkout-blocks select.wc-blocks-components-select__select,
body.arsin-checkout-blocks .wc-blocks-components-select .wc-blocks-components-select__select {
  min-height: 42px !important;
  height: 42px !important;
  border: 1px solid var(--line-2) !important;
  border-radius: var(--radius) !important;
  background: var(--white) !important;
  color: var(--ink) !important;
  box-shadow: none !important;
  outline: 0 !important;
  font-size: var(--fs-body) !important;
  line-height: 1.4 !important;
  padding: 8px 10px !important;
}

body.arsin-checkout-blocks .wc-block-components-textarea textarea {
  height: auto !important;
  min-height: 96px !important;
}

body.arsin-checkout-blocks .wc-block-components-text-input.is-active input:not(:invalid):not([aria-invalid="true"]):not(.asc-field-invalid),
body.arsin-checkout-blocks .wc-block-components-text-input.has-value input:not(:invalid):not([aria-invalid="true"]):not(.asc-field-invalid),
body.arsin-checkout-blocks .wc-block-components-text-input input:focus:not(:invalid):not([aria-invalid="true"]):not(.asc-field-invalid),
body.arsin-checkout-blocks .wc-block-components-textarea textarea:focus,
body.arsin-checkout-blocks .wc-block-components-combobox input:focus:not(.asc-field-invalid),
body.arsin-checkout-blocks select:focus:not(.asc-field-invalid),
body.arsin-checkout-blocks .wc-blocks-components-select__select:focus:not(.asc-field-invalid),
body.arsin-checkout-blocks .asc-field-valid input,
body.arsin-checkout-blocks input.asc-field-valid,
body.arsin-checkout-blocks .asc-field-valid select,
body.arsin-checkout-blocks select.asc-field-valid,
body.arsin-checkout-blocks .asc-field-valid .wc-blocks-components-select__select {
  border-color: #9fc9bc !important;
  box-shadow: 0 0 0 2px rgb(22 113 95 / 8%) !important;
}

body.arsin-checkout-blocks .wc-block-components-text-input input:invalid,
body.arsin-checkout-blocks .wc-block-components-text-input input[aria-invalid="true"],
body.arsin-checkout-blocks input.asc-field-invalid,
body.arsin-checkout-blocks .asc-field-invalid input,
body.arsin-checkout-blocks .asc-ir-phone-invalid input {
  border-color: #d63638 !important;
  box-shadow: 0 0 0 2px rgba(214, 54, 56, 0.18) !important;
}

/* State select ? same chrome as text fields (label above, 42px control) */
body.arsin-checkout-blocks .wc-block-components-address-form__state,
body.arsin-checkout-blocks .wc-block-components-state-input {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

body.arsin-checkout-blocks .wc-blocks-components-select {
  display: block !important;
  width: 100%;
  margin: 0 !important;
}

body.arsin-checkout-blocks .wc-blocks-components-select__container {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  position: relative !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.arsin-checkout-blocks .wc-blocks-components-select__label {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #333 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  pointer-events: auto !important;
  background: transparent !important;
}

body.arsin-checkout-blocks .wc-blocks-components-select__select {
  width: 100%;
  min-height: 42px !important;
  height: 42px !important;
  padding: 8px 36px 8px 10px !important;
  border: 1px solid var(--line-2) !important;
  border-radius: var(--radius) !important;
  background: var(--white) !important;
  color: var(--ink) !important;
  box-shadow: none !important;
  appearance: none;
}

body.arsin-checkout-blocks .wc-blocks-components-select__expand {
  position: absolute !important;
  inset-inline-end: 8px !important;
  inset-block-end: 9px !important;
  inset-block-start: auto !important;
  top: auto !important;
  width: 20px !important;
  height: 20px !important;
  pointer-events: none;
  color: var(--muted);
}

/* Address field order:
 * 1) ��� | ��� �����ϐ� | �ј� (� ����)
 * 2) ����� | ��� | �ρ���
 * 3) �����
 * 4) ���� + ������
 */
body.arsin-checkout-blocks .wc-block-components-address-form {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px !important;
  align-items: end;
}

body.arsin-checkout-blocks .wc-block-components-address-form > * {
  min-width: 0;
  align-self: end;
}

body.arsin-checkout-blocks .wc-block-components-address-form__country {
  display: none !important;
}

body.arsin-checkout-blocks .wc-block-components-address-form__first_name {
  grid-column: span 2;
  order: 1;
}

body.arsin-checkout-blocks .wc-block-components-address-form__last_name {
  grid-column: span 2;
  order: 2;
}

body.arsin-checkout-blocks .wc-block-components-address-form__company {
  grid-column: span 2;
  order: 3;
}

body.arsin-checkout-blocks .wc-block-components-address-form__state {
  grid-column: span 2;
  order: 4;
}

body.arsin-checkout-blocks .wc-block-components-address-form__city {
  grid-column: span 2;
  order: 5;
}

body.arsin-checkout-blocks .wc-block-components-address-form__postcode {
  grid-column: span 2;
  order: 6;
}

body.arsin-checkout-blocks .wc-block-components-address-form__address_1,
body.arsin-checkout-blocks .wc-block-components-address-form__address-1 {
  grid-column: 1 / -1;
  order: 7;
}

body.arsin-checkout-blocks .wc-block-components-address-form__phone {
  grid-column: 1 / -1;
  order: 8;
  display: grid !important;
  flex-direction: unset !important;
  /* RTL: first track sits on the right — phone ~30%, hint/errors take the rest. */
  grid-template-columns: minmax(140px, 30%) minmax(0, 1fr);
  grid-template-areas:
    "label ."
    "input hint"
    ". error";
  gap: 6px 14px !important;
  align-items: start;
  margin: 0 !important;
}

/* Before ASC injects org-phone, keep the tel field full-width. */
body.arsin-checkout-blocks .wc-block-components-address-form__phone:not(:has(.asc-organization-phone-field)) {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas:
    "label"
    "input"
    "error";
}

body.arsin-checkout-blocks .wc-block-components-address-form__phone > label {
  grid-area: label;
}

/* Tel is LTR; wrap is the absolute positioning context for the status badge. */
body.arsin-checkout-blocks .wc-block-components-address-form__phone > .asc-ir-phone-input-wrap {
  grid-area: input;
  position: relative !important;
  width: 100%;
  min-width: 0;
  overflow: visible;
}

body.arsin-checkout-blocks .wc-block-components-address-form__phone > .asc-ir-phone-input-wrap > input {
  width: 100%;
  direction: ltr;
  text-align: left;
  /* Room on the physical right for check / � */
  padding: 8px 44px 8px 12px !important;
}

body.arsin-checkout-blocks .wc-block-components-address-form__phone > input {
  grid-area: input;
  width: 100%;
  direction: ltr;
  text-align: left;
  padding: 8px 44px 8px 12px !important;
}

/* Overlay on the tel input (physical right + slight downward nudge). */
body.arsin-checkout-blocks .wc-block-components-address-form__phone .asc-ir-phone-input-wrap > .asc-ir-phone-ok-badge,
body.arsin-checkout-blocks .asc-ir-phone-input-wrap > input#billing-phone + .asc-ir-phone-ok-badge,
body.arsin-checkout-blocks .asc-ir-phone-input-wrap > input[name="billing_phone"] + .asc-ir-phone-ok-badge {
  position: absolute !important;
  inset: 50% 10px auto auto !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
  box-sizing: border-box;
  width: 22px !important;
  height: 22px !important;
  padding: 3px;
  border-radius: 50%;
  background: linear-gradient(145deg, #ecfdf5 0%, #d1fae5 100%);
  border: 1px solid rgba(30, 142, 80, 0.4);
  box-shadow: 0 1px 2px rgba(16, 98, 55, 0.14);
  color: #0f7a45;
  z-index: 5;
  pointer-events: none;
  display: none;
}

body.arsin-checkout-blocks .wc-block-components-address-form__phone .asc-ir-phone-input-wrap > .asc-ir-phone-ok-badge.is-bad,
body.arsin-checkout-blocks .asc-ir-phone-input-wrap > input#billing-phone + .asc-ir-phone-ok-badge.is-bad,
body.arsin-checkout-blocks .asc-ir-phone-input-wrap > input[name="billing_phone"] + .asc-ir-phone-ok-badge.is-bad {
  background: linear-gradient(145deg, #fef2f2 0%, #fee2e2 100%);
  border-color: rgba(214, 54, 56, 0.45);
  box-shadow: 0 1px 2px rgba(214, 54, 56, 0.14);
  color: #b32d2e;
}

body.arsin-checkout-blocks .wc-block-components-address-form__phone .asc-ir-phone-input-wrap > .asc-ir-phone-ok-badge:not([hidden]),
body.arsin-checkout-blocks .asc-ir-phone-input-wrap > input#billing-phone + .asc-ir-phone-ok-badge:not([hidden]),
body.arsin-checkout-blocks .asc-ir-phone-input-wrap > input[name="billing_phone"] + .asc-ir-phone-ok-badge:not([hidden]) {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

body.arsin-checkout-blocks .asc-ir-phone-input-wrap > .asc-ir-phone-ok-badge svg {
  display: block;
  width: 14px;
  height: 14px;
}

body.arsin-checkout-blocks .wc-block-components-address-form__phone > .asc-organization-phone-field {
  grid-area: hint;
  align-self: end;
  display: grid;
  gap: 6px;
  margin: 0;
  box-sizing: border-box;
}

body.arsin-checkout-blocks .wc-block-components-address-form__phone > .asc-organization-phone-field > label {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
  text-align: right;
}

body.arsin-checkout-blocks .wc-block-components-address-form__phone > .asc-organization-phone-field > input {
  width: 100%;
  min-height: 42px;
  box-sizing: border-box;
  padding: 8px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  color: var(--ink);
  font: inherit;
  direction: ltr;
  text-align: left;
}

body.arsin-checkout-blocks .wc-block-components-address-form__phone > .asc-organization-phone-field > input:focus {
  border-color: var(--brand-line-strong);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--brand) 16%, transparent);
  outline: none;
}

body.arsin-checkout-blocks .wc-block-components-address-form__phone > .asc-ir-phone-error {
  display: none !important;
}

@media (max-width: 900px) {
  body.arsin-checkout-blocks .wc-block-components-address-form__first_name,
  body.arsin-checkout-blocks .wc-block-components-address-form__last_name,
  body.arsin-checkout-blocks .wc-block-components-address-form__company {
    grid-column: span 3;
  }
}

@media (max-width: 760px) {
  body.arsin-checkout-blocks .wc-block-components-address-form {
    grid-template-columns: minmax(0, 1fr);
  }

  body.arsin-checkout-blocks .wc-block-components-address-form__first_name,
  body.arsin-checkout-blocks .wc-block-components-address-form__last_name,
  body.arsin-checkout-blocks .wc-block-components-address-form__company,
  body.arsin-checkout-blocks .wc-block-components-address-form__state,
  body.arsin-checkout-blocks .wc-block-components-address-form__city,
  body.arsin-checkout-blocks .wc-block-components-address-form__postcode {
    grid-column: 1 / -1;
  }

  body.arsin-checkout-blocks .wc-block-components-address-form__phone {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "label"
      "input"
      "hint"
      "error";
  }
}

/* ==========================================================================
   Checkout Block Canon v2 — cart / PDP / archive parity
   Keep this final: it resolves legacy and Woo Blocks cascade conflicts.
   ========================================================================== */
body.arsin-checkout-blocks .section--checkout-blocks {
  padding-block: 18px 34px;
  background:
    linear-gradient(180deg, rgb(174 17 28 / 2.5%), transparent 210px),
    var(--page);
}

body.arsin-checkout-blocks .section--checkout-blocks > .container {
  min-width: 0;
}

/* Plain cart-like page head. */
body.arsin-checkout-blocks .checkout-page-header.entry-header {
  display: flex !important;
  width: 100%;
  height: auto !important;
  min-height: 44px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.arsin-checkout-blocks .checkout-page-header__copy {
  min-width: 0;
}

body.arsin-checkout-blocks .checkout-page-title.wp-block-post-title {
  display: block !important;
  height: auto !important;
  margin: 0 !important;
  color: var(--ink);
  font-family: inherit;
  font-size: var(--type-2xl) !important;
  font-weight: 800;
  line-height: 1.4;
}

body.arsin-checkout-blocks .checkout-page-header__copy > p {
  margin: 2px 0 0;
  color: var(--muted);
  font-size: var(--type-sm);
  line-height: 1.65;
}

body.arsin-checkout-blocks .checkout-page-header__aside {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
}

body.arsin-checkout-blocks .checkout-page-header__count,
body.arsin-checkout-blocks .checkout-page-header__cart {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  border: 1px solid #dcdcdc !important;
  border-radius: var(--radius);
  background: #fff !important;
  color: #69737d !important;
  box-shadow: none !important;
  font-size: var(--type-xs);
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

body.arsin-checkout-blocks .checkout-page-header__cart {
  gap: 5px;
}

body.arsin-checkout-blocks .checkout-page-header__cart:hover,
body.arsin-checkout-blocks .checkout-page-header__cart:focus-visible {
  border-color: #c4c4c4 !important;
  background: #f5f5f5 !important;
  color: var(--ink) !important;
}

/* Desktop shell: form + cart-like order sidebar. */
body.arsin-checkout-blocks .checkout-shell--blocks {
  overflow: visible;
}

body.arsin-checkout-blocks .wc-block-components-sidebar-layout.wc-block-checkout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(330px, 370px) !important;
  gap: 16px !important;
  align-items: start;
  margin: 0 !important;
}

body.arsin-checkout-blocks .wc-block-checkout__main,
body.arsin-checkout-blocks .wc-block-checkout__sidebar {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.arsin-checkout-blocks .wc-block-checkout__main {
  display: grid !important;
  gap: 12px !important;
}

body.arsin-checkout-blocks .wc-block-checkout__form {
  margin: 0 !important;
  padding: 0 !important;
}

body.arsin-checkout-blocks .wc-block-checkout__sidebar.is-sticky {
  position: sticky !important;
  top: calc(var(--sticky-offset, 94px) + 8px) !important;
  align-self: start;
}

/* Form sections use the cart table panel contract. */
body.arsin-checkout-blocks .wc-block-components-checkout-step {
  overflow: hidden;
  margin: 0 !important;
  padding: 16px !important;
  border: 1px solid #e2e7ec !important;
  border-radius: var(--radius) !important;
  background: #fff !important;
  box-shadow: 0 8px 22px rgb(17 24 39 / 4%) !important;
}

body.arsin-checkout-blocks .wc-block-components-checkout-step__heading-container {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 3px 10px;
  margin: 0 0 13px !important;
  padding: 0 0 11px;
  border-bottom: 1px solid #e2e7ec;
}

body.arsin-checkout-blocks .wc-block-components-checkout-step__heading {
  margin: 0 !important;
}

body.arsin-checkout-blocks .wc-block-components-checkout-step__title,
body.arsin-checkout-blocks .wc-block-components-title {
  color: var(--ink) !important;
  font-size: var(--type-xl) !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
}

body.arsin-checkout-blocks .wc-block-components-checkout-step__description {
  flex: 1 1 260px;
  margin: 0 !important;
  color: var(--muted) !important;
  font-size: var(--type-xs) !important;
  line-height: 1.65 !important;
  text-align: end;
}

body.arsin-checkout-blocks .wc-block-components-checkout-step__content {
  margin: 0 !important;
}

/* Field system: compact archive filters with PDP focus treatment. */
body.arsin-checkout-blocks .wc-block-components-address-form {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 11px 12px !important;
  align-items: end;
}

body.arsin-checkout-blocks .wc-block-components-text-input,
body.arsin-checkout-blocks .wc-block-components-textarea,
body.arsin-checkout-blocks .wc-block-components-combobox,
body.arsin-checkout-blocks .wc-blocks-components-select {
  gap: 5px !important;
}

body.arsin-checkout-blocks .wc-block-components-text-input label,
body.arsin-checkout-blocks .wc-block-components-textarea label,
body.arsin-checkout-blocks .wc-block-components-combobox label,
body.arsin-checkout-blocks .wc-blocks-components-select label,
body.arsin-checkout-blocks .wc-blocks-components-select__label {
  color: var(--ink-2, #333) !important;
  font-size: var(--type-sm) !important;
  font-weight: 700 !important;
}

body.arsin-checkout-blocks .wc-block-components-text-input input,
body.arsin-checkout-blocks .wc-block-components-textarea textarea,
body.arsin-checkout-blocks .wc-block-components-combobox input,
body.arsin-checkout-blocks .wc-blocks-components-select__select {
  width: 100% !important;
  min-height: var(--control-height, 44px) !important;
  height: var(--control-height, 44px) !important;
  padding: 8px 11px !important;
  border: 1px solid #d7dde3 !important;
  border-radius: var(--radius) !important;
  background: #fff !important;
  color: var(--ink) !important;
  box-shadow: none !important;
  font-size: var(--type-md) !important;
  font-weight: 500;
}

body.arsin-checkout-blocks .wc-block-components-textarea textarea {
  height: auto !important;
  min-height: 96px !important;
}

body.arsin-checkout-blocks .wc-block-components-text-input input:focus,
body.arsin-checkout-blocks .wc-block-components-textarea textarea:focus,
body.arsin-checkout-blocks .wc-block-components-combobox input:focus,
body.arsin-checkout-blocks .wc-blocks-components-select__select:focus {
  border-color: rgb(174 17 28 / 42%) !important;
  outline: 0 !important;
  box-shadow: var(--focus-ring) !important;
}

body.arsin-checkout-blocks .wc-block-components-address-card {
  padding: 11px 12px !important;
  border: 1px solid #e2e7ec !important;
  border-radius: var(--radius) !important;
  background: #fafbfc !important;
  box-shadow: none !important;
}

body.arsin-checkout-blocks .wc-block-components-address-card__edit {
  color: var(--brand) !important;
  font-size: var(--type-xs);
  font-weight: 800;
}

/* Shipping and payment choices: product-option chips. */
body.arsin-checkout-blocks .wc-block-components-radio-control {
  display: grid;
  gap: 8px;
}

body.arsin-checkout-blocks .wc-block-components-radio-control-accordion-option,
body.arsin-checkout-blocks .wc-block-components-radio-control__option {
  overflow: hidden;
  margin: 0 !important;
  border: 1px solid #e2e7ec !important;
  border-radius: var(--radius) !important;
  background: #fff !important;
}

body.arsin-checkout-blocks .wc-block-components-radio-control__option {
  min-height: 48px;
  padding: 11px 12px !important;
}

body.arsin-checkout-blocks .wc-block-components-radio-control-accordion-option:has(input:checked),
body.arsin-checkout-blocks .wc-block-components-radio-control__option:has(input:checked) {
  border-color: rgb(174 17 28 / 35%) !important;
  background: #fff8f8 !important;
  box-shadow: 0 0 0 1px rgb(174 17 28 / 8%);
}

body.arsin-checkout-blocks .wc-block-components-radio-control__input:checked {
  border-color: var(--brand) !important;
  background: var(--brand) !important;
}

body.arsin-checkout-blocks .wc-block-components-radio-control__label,
body.arsin-checkout-blocks .wc-block-components-payment-method-label {
  color: var(--ink);
  font-size: var(--type-md);
  font-weight: 700;
}

body.arsin-checkout-blocks .wc-block-components-radio-control-accordion-content {
  margin: 0 !important;
  padding: 10px 12px !important;
  border-top: 1px solid #edf0f3;
  background: #fff;
  color: var(--muted);
  font-size: var(--type-sm);
  line-height: 1.7;
}

/* Cart-like order summary sidebar. */
body.arsin-checkout-blocks .wc-block-checkout__sidebar > .wp-block-woocommerce-checkout-order-summary-block {
  overflow: hidden;
  margin: 0 !important;
  padding: 14px !important;
  border: 1px solid #e2e7ec !important;
  border-top: 3px solid var(--brand) !important;
  border-radius: var(--radius) !important;
  background: #fff !important;
  box-shadow: 0 8px 22px rgb(17 24 39 / 5%) !important;
}

body.arsin-checkout-blocks .wc-block-checkout__sidebar .wc-block-components-checkout-step__heading {
  margin: 0 0 10px !important;
  padding: 0 0 10px;
  border-bottom: 1px solid #e2e7ec;
}

body.arsin-checkout-blocks .wc-block-checkout__sidebar .wc-block-components-checkout-step__title {
  font-size: var(--type-xl) !important;
}

body.arsin-checkout-blocks .wc-block-components-order-summary {
  padding: 0 !important;
}

body.arsin-checkout-blocks .wc-block-components-order-summary-item {
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: start;
  padding: 11px 0 !important;
  border-bottom: 1px solid #edf0f3;
}

body.arsin-checkout-blocks .wc-block-components-order-summary-item__image {
  position: relative;
  width: 64px !important;
  height: 64px !important;
  padding: 5px !important;
  border: 1px solid #dcdcdc;
  border-radius: var(--radius);
  background: var(--media);
}

body.arsin-checkout-blocks .wc-block-components-order-summary-item__image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  mix-blend-mode: multiply;
}

body.arsin-checkout-blocks .wc-block-components-order-summary-item__quantity {
  inset: -6px auto auto -6px !important;
  min-width: 21px;
  height: 21px;
  border: 2px solid #fff;
  background: var(--brand) !important;
  color: #fff !important;
  font-size: 11px;
  font-weight: 800;
}

body.arsin-checkout-blocks .wc-block-components-order-summary-item__description {
  min-width: 0;
  padding: 0 !important;
}

body.arsin-checkout-blocks .wc-block-components-product-name {
  margin: 0 0 3px !important;
  color: var(--ink) !important;
  font-size: var(--type-md) !important;
  font-weight: 800 !important;
  line-height: 1.6 !important;
}

body.arsin-checkout-blocks .wc-block-components-product-details {
  color: #69737d !important;
  font-size: var(--type-xs) !important;
  line-height: 1.55;
}

body.arsin-checkout-blocks .wc-block-components-product-details > span + span::before {
  content: " | ";
  color: #b0b8c0;
}

body.arsin-checkout-blocks .wc-block-components-order-summary-item__individual-price,
body.arsin-checkout-blocks .wc-block-components-order-summary-item__total-price {
  color: var(--brand) !important;
  font-size: var(--type-md) !important;
  font-weight: 800 !important;
}

body.arsin-checkout-blocks .wc-block-components-totals-wrapper {
  padding: 0 !important;
  border: 0 !important;
}

body.arsin-checkout-blocks .wc-block-components-totals-item {
  min-height: 42px;
  padding: 9px 0 !important;
  border-bottom: 1px solid #edf0f3;
}

body.arsin-checkout-blocks .wc-block-components-totals-item__label {
  color: var(--muted);
  font-size: var(--type-sm);
  font-weight: 600;
}

body.arsin-checkout-blocks .wc-block-components-totals-item__value {
  color: var(--ink);
  font-size: var(--type-md);
  font-weight: 800;
}

body.arsin-checkout-blocks .wc-block-components-totals-footer-item {
  margin-top: 4px;
  padding-top: 12px !important;
  border-top: 0 !important;
}

body.arsin-checkout-blocks .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  color: var(--ink) !important;
  font-size: var(--type-lg) !important;
  font-weight: 800 !important;
}

body.arsin-checkout-blocks .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.arsin-checkout-blocks .wc-block-components-totals-footer-item .wc-block-formatted-money-amount {
  color: var(--brand) !important;
  font-size: var(--type-2xl) !important;
  font-weight: 800 !important;
}

body.arsin-checkout-blocks .wc-block-checkout__actions .checkout-order-summary-block-fill-wrapper {
  display: none !important;
}

body.arsin-checkout-blocks .wc-block-checkout__actions {
  margin: 0 !important;
  padding: 0 !important;
}

body.arsin-checkout-blocks .wc-block-components-checkout-place-order-button {
  width: 100% !important;
  min-height: 50px !important;
  border: 0 !important;
  border-radius: var(--radius) !important;
  background: var(--brand) !important;
  color: #fff !important;
  box-shadow: none !important;
  font-size: var(--type-md) !important;
  font-weight: 800 !important;
}

body.arsin-checkout-blocks .wc-block-components-checkout-place-order-button:hover {
  background: var(--brand-2) !important;
}

body.arsin-checkout-blocks .wc-block-components-checkout-place-order-button:focus-visible {
  outline: 3px solid rgb(174 17 28 / 18%);
  outline-offset: 2px;
}

@media (max-width: 900px) {
  body.arsin-checkout-blocks .wc-block-components-sidebar-layout.wc-block-checkout {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  body.arsin-checkout-blocks .wc-block-checkout__sidebar.is-sticky {
    position: static !important;
  }

  body.arsin-checkout-blocks .wc-block-checkout__sidebar {
    order: -1;
  }
}

@media (max-width: 760px) {
  body.arsin-checkout-blocks .section--checkout-blocks {
    padding-block: 12px calc(var(--arsin-handheld-footer-height, 56px) + env(safe-area-inset-bottom, 0px) + 18px);
  }

  body.arsin-checkout-blocks .checkout-page-header.entry-header {
    min-height: 40px;
    align-items: flex-start;
    margin-bottom: 12px !important;
  }

  body.arsin-checkout-blocks .checkout-page-title.wp-block-post-title {
    font-size: var(--type-xl) !important;
  }

  body.arsin-checkout-blocks .checkout-page-header__copy > p,
  body.arsin-checkout-blocks .checkout-page-header__count {
    display: none !important;
  }

  body.arsin-checkout-blocks .checkout-page-header__cart {
    min-height: 32px;
    padding-inline: 9px;
  }

  body.arsin-checkout-blocks .wc-block-checkout__sidebar > .wp-block-woocommerce-checkout-order-summary-block,
  body.arsin-checkout-blocks .wc-block-components-checkout-step {
    padding: 13px !important;
  }

  body.arsin-checkout-blocks .wc-block-components-checkout-step__heading-container {
    display: block;
    margin-bottom: 11px !important;
    padding-bottom: 9px;
  }

  body.arsin-checkout-blocks .wc-block-components-checkout-step__title,
  body.arsin-checkout-blocks .wc-block-components-title {
    font-size: var(--type-lg) !important;
  }

  body.arsin-checkout-blocks .wc-block-components-checkout-step__description {
    margin-top: 3px !important;
    text-align: start;
  }

  /* Keep common paired fields compact on mobile; stack only on very narrow screens. */
  body.arsin-checkout-blocks .wc-block-components-address-form {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body.arsin-checkout-blocks .wc-block-components-address-form__first_name,
  body.arsin-checkout-blocks .wc-block-components-address-form__last_name,
  body.arsin-checkout-blocks .wc-block-components-address-form__state,
  body.arsin-checkout-blocks .wc-block-components-address-form__city,
  body.arsin-checkout-blocks .wc-block-components-address-form__postcode {
    grid-column: span 1 !important;
  }

  body.arsin-checkout-blocks .wc-block-components-address-form__company,
  body.arsin-checkout-blocks .wc-block-components-address-form__address_1,
  body.arsin-checkout-blocks .wc-block-components-address-form__address-1,
  body.arsin-checkout-blocks .wc-block-components-address-form__phone {
    grid-column: 1 / -1 !important;
  }

  body.arsin-checkout-blocks .wc-block-components-text-input input,
  body.arsin-checkout-blocks .wc-block-components-textarea textarea,
  body.arsin-checkout-blocks .wc-block-components-combobox input,
  body.arsin-checkout-blocks .wc-blocks-components-select__select {
    min-height: 46px !important;
    height: 46px !important;
  }

  body.arsin-checkout-blocks .wc-block-components-textarea textarea {
    height: auto !important;
  }

  body.arsin-checkout-blocks .wc-block-checkout__actions {
    position: sticky !important;
    bottom: calc(var(--arsin-handheld-footer-height, 56px) + env(safe-area-inset-bottom, 0px) + 8px);
    z-index: 35;
    padding-top: 10px !important;
    background: linear-gradient(180deg, transparent, var(--page) 28%);
    /* Gradient pad must not trap clicks over fields behind it. */
    pointer-events: none !important;
  }

  body.arsin-checkout-blocks .wc-block-checkout__actions .wc-block-components-checkout-place-order-button {
    pointer-events: auto !important;
    min-height: 52px !important;
    box-shadow: 0 8px 24px rgb(174 17 28 / 18%) !important;
  }
}

/* ==========================================================================
   Checkout Blocks — Theme ASC Map design-system canon
   Reuse theme tokens only: white surfaces, soft lines, 8px radius, restrained
   shadow, 400/700/800 hierarchy, brand red reserved for state and action.
   ========================================================================== */
body.arsin-checkout-blocks .section--checkout-blocks {
  --checkout-body: var(--type-md);
  --checkout-meta: var(--type-sm);
  --checkout-caption: var(--type-xs);
  color: var(--ink);
  font-family: var(--font-sans);
}

body.arsin-checkout-blocks .checkout-page-title.wp-block-post-title {
  color: var(--ink-2) !important;
  font-size: var(--fs-page) !important;
  font-weight: 800 !important;
}

body.arsin-checkout-blocks .wc-block-components-sidebar-layout.wc-block-checkout {
  align-items: stretch !important;
}

body.arsin-checkout-blocks .wc-block-checkout__main,
body.arsin-checkout-blocks .wc-block-checkout__form,
body.arsin-checkout-blocks .wc-block-checkout__sidebar,
body.arsin-checkout-blocks .wc-block-components-checkout-step,
body.arsin-checkout-blocks .wp-block-woocommerce-checkout-order-summary-block,
body.arsin-checkout-blocks .wc-block-checkout__actions {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  align-self: stretch !important;
}

body.arsin-checkout-blocks .wc-block-components-checkout-step {
  color: var(--ink);
  border-color: var(--line) !important;
  border-radius: var(--radius) !important;
  background: var(--white) !important;
  box-shadow: var(--shadow-soft) !important;
}

body.arsin-checkout-blocks .wc-block-components-checkout-step__heading-container {
  border-color: var(--line) !important;
}

body.arsin-checkout-blocks .wc-block-components-checkout-step__title,
body.arsin-checkout-blocks .wc-block-components-title {
  color: var(--ink-2) !important;
  font-size: var(--fs-h2) !important;
  font-weight: 800 !important;
  line-height: 1.5 !important;
}

body.arsin-checkout-blocks .wc-block-components-checkout-step__description,
body.arsin-checkout-blocks .wc-block-components-shipping-rates-control__no-shipping-address-message,
body.arsin-checkout-blocks .wc-block-components-radio-control-accordion-content,
body.arsin-checkout-blocks .wc-block-components-product-details,
body.arsin-checkout-blocks .wc-block-components-product-metadata {
  color: var(--muted) !important;
  font-size: var(--checkout-caption) !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
}

body.arsin-checkout-blocks .wc-block-components-text-input label,
body.arsin-checkout-blocks .wc-block-components-textarea label,
body.arsin-checkout-blocks .wc-block-components-combobox label,
body.arsin-checkout-blocks .wc-blocks-components-select__label,
body.arsin-checkout-blocks #order-notes .wc-block-components-checkbox__label {
  color: var(--ink) !important;
  font-size: var(--checkout-caption) !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}

body.arsin-checkout-blocks .wc-block-components-text-input input,
body.arsin-checkout-blocks .wc-block-components-textarea textarea,
body.arsin-checkout-blocks .wc-block-components-combobox input,
body.arsin-checkout-blocks .wc-blocks-components-select__select,
body.arsin-checkout-blocks .asc-organization-phone-field input {
  min-height: var(--control-height) !important;
  border: 1px solid var(--line-2) !important;
  border-radius: var(--radius) !important;
  background: var(--white) !important;
  color: var(--ink) !important;
  font-family: inherit !important;
  font-size: var(--checkout-meta) !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  box-shadow: none !important;
  transition: border-color var(--ease), box-shadow var(--ease), background var(--ease);
}

body.arsin-checkout-blocks .wc-block-components-text-input input:focus,
body.arsin-checkout-blocks .wc-block-components-textarea textarea:focus,
body.arsin-checkout-blocks .wc-block-components-combobox input:focus,
body.arsin-checkout-blocks .wc-blocks-components-select__select:focus,
body.arsin-checkout-blocks .asc-organization-phone-field input:focus {
  border-color: var(--brand-line-strong) !important;
  outline: 0 !important;
  box-shadow: var(--focus-ring) !important;
}

body.arsin-checkout-blocks .wc-block-components-radio-control-accordion-option,
body.arsin-checkout-blocks .wc-block-components-radio-control__option {
  width: 100%;
  max-width: none;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius) !important;
  background: var(--white) !important;
  color: var(--ink);
  box-shadow: none !important;
  transition: border-color var(--ease), background var(--ease);
}

body.arsin-checkout-blocks .wc-block-components-radio-control-accordion-option:has(input:checked),
body.arsin-checkout-blocks .wc-block-components-radio-control__option:has(input:checked) {
  border-color: var(--brand-line) !important;
  background: var(--brand-soft) !important;
}

body.arsin-checkout-blocks .wc-block-components-radio-control__label,
body.arsin-checkout-blocks .wc-block-components-payment-method-label {
  color: var(--ink) !important;
  font-size: var(--checkout-meta) !important;
  font-weight: 700 !important;
}

body.arsin-checkout-blocks .asc-cod-payment-icon,
body.arsin-checkout-blocks .wc-block-components-radio-control__input {
  color: var(--brand) !important;
}

body.arsin-checkout-blocks .asc-cod-payment-icon.icon,
body.arsin-checkout-blocks .asc-zpal-host .icon {
  display: inline-flex;
  width: 1em;
  height: 1em;
  flex: 0 0 1em;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

body.arsin-checkout-blocks #order-notes textarea {
  min-height: 96px !important;
  resize: vertical;
}

body.arsin-checkout-blocks .wc-block-checkout__sidebar > .wp-block-woocommerce-checkout-order-summary-block {
  border: 1px solid var(--line) !important;
  border-top: 3px solid var(--brand) !important;
  border-radius: var(--radius) !important;
  background: var(--white) !important;
  color: var(--ink);
  box-shadow: none !important;
}

body.arsin-checkout-blocks .wc-block-checkout__sidebar .wc-block-components-checkout-step__title,
body.arsin-checkout-blocks .wc-block-checkout__sidebar .wc-block-components-title {
  color: var(--ink-2) !important;
  font-size: var(--fs-h2) !important;
  font-weight: 800 !important;
}

body.arsin-checkout-blocks .wc-block-components-product-name {
  color: var(--ink) !important;
  font-size: var(--checkout-meta) !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
}

body.arsin-checkout-blocks .wc-block-components-order-summary-item__individual-price,
body.arsin-checkout-blocks .wc-block-components-order-summary-item__total-price,
body.arsin-checkout-blocks .wc-block-components-totals-item__value {
  color: var(--ink) !important;
  font-size: var(--checkout-meta) !important;
  font-weight: 700 !important;
}

body.arsin-checkout-blocks .wc-block-components-totals-item__label {
  color: var(--muted) !important;
  font-size: var(--checkout-caption) !important;
  font-weight: 400 !important;
}

body.arsin-checkout-blocks .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  color: var(--ink-2) !important;
  font-size: var(--checkout-meta) !important;
  font-weight: 800 !important;
}

body.arsin-checkout-blocks .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.arsin-checkout-blocks .wc-block-components-totals-footer-item .wc-block-formatted-money-amount {
  color: var(--brand) !important;
  font-size: var(--fs-section) !important;
  font-weight: 800 !important;
}

body.arsin-checkout-blocks .wc-block-components-totals-coupon__button.wc-block-components-button,
body.arsin-checkout-blocks .wc-block-components-panel__button.wc-block-components-totals-coupon-link {
  min-height: var(--control-height) !important;
  border: 1px solid var(--brand) !important;
  border-radius: var(--radius) !important;
  background: var(--white) !important;
  color: var(--brand) !important;
  font-size: var(--checkout-caption) !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}

body.arsin-checkout-blocks .wc-block-components-totals-coupon__button.wc-block-components-button:hover,
body.arsin-checkout-blocks .wc-block-components-panel__button.wc-block-components-totals-coupon-link:hover {
  background: var(--brand-soft) !important;
}

body.arsin-checkout-blocks .wc-block-components-checkout-place-order-button {
  color: var(--white) !important;
  font-size: var(--checkout-body) !important;
  font-weight: 700 !important;
}

@media (max-width: 760px) {
  body.arsin-checkout-blocks .wc-block-components-sidebar-layout.wc-block-checkout {
    align-items: stretch !important;
  }

  body.arsin-checkout-blocks #billing-fields,
  body.arsin-checkout-blocks #shipping-option,
  body.arsin-checkout-blocks #payment-method,
  body.arsin-checkout-blocks #order-notes,
  body.arsin-checkout-blocks .wc-block-checkout__sidebar,
  body.arsin-checkout-blocks .wc-block-checkout__actions {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    align-self: stretch !important;
    margin-inline: 0 !important;
  }

  body.arsin-checkout-blocks #billing-fields {
    margin-bottom: -12px !important;
    border-bottom: 0 !important;
    border-radius: var(--radius) var(--radius) 0 0 !important;
  }

  body.arsin-checkout-blocks #order-notes {
    padding-top: 0 !important;
    border-top: 0 !important;
    border-radius: 0 0 var(--radius) var(--radius) !important;
  }

  body.arsin-checkout-blocks .wc-block-components-checkout-step,
  body.arsin-checkout-blocks .wc-block-checkout__sidebar > .wp-block-woocommerce-checkout-order-summary-block {
    padding: var(--card-pad) !important;
  }
}

@media (max-width: 360px) {
  body.arsin-checkout-blocks .wc-block-components-address-form {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.arsin-checkout-blocks .wc-block-components-address-form > * {
    grid-column: 1 / -1 !important;
  }
}

/* Tighten shell: notice gap like cart; less air above first step */
body.arsin-checkout-blocks .wc-block-checkout__main {
  gap: 12px;
}

body.arsin-checkout-blocks .wc-block-checkout__form {
  margin: 0;
  padding: 0;
}

body.arsin-checkout-blocks .wc-block-components-checkout-step {
  padding: 14px;
}

body.arsin-checkout-blocks #billing-fields.wc-block-components-checkout-step {
  margin-top: 0;
}

body.arsin-checkout-blocks .section--checkout > .container > .notice {
  margin-bottom: 16px;
}

/* Shipping radios � 3-col; payment � 2-col (only two gateways) */
body.arsin-checkout-blocks #shipping-option .wc-block-components-radio-control,
body.arsin-checkout-blocks .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  align-items: stretch;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.arsin-checkout-blocks #payment-method .wc-block-components-radio-control {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
  /* Lock row height so shipping remounts cannot expand accordion descriptions mid-frame. */
  min-height: 74px;
  overflow-anchor: none;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Drop WC group chrome / highlight ring around the whole radio list */
body.arsin-checkout-blocks #shipping-option .wc-block-components-radio-control--highlight-checked,
body.arsin-checkout-blocks #payment-method .wc-block-components-radio-control--highlight-checked,
body.arsin-checkout-blocks .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control--highlight-checked {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  background: transparent !important;
  padding: 0 !important;
}

body.arsin-checkout-blocks .wc-block-components-radio-control__option {
  position: relative !important;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  min-height: 52px;
  margin: 0 !important;
  /* RTL: room on the right for the radio */
  padding: 12px 44px 12px 14px !important;
  background: var(--soft-2);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  cursor: pointer;
  box-shadow: none !important;
  outline: none !important;
}

/* Accordion wrapper � transparent for shipping; payment gets the card */
body.arsin-checkout-blocks .wc-block-components-radio-control-accordion-option {
  display: flex !important;
  flex-direction: column;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  min-height: 0;
  border-radius: 0;
  box-shadow: none !important;
  outline: none !important;
}

/* Payment cards: equal padding; chrome on accordion shell.
 * Fixed trailing 48px column reserves badge/icon space so remounts cannot jump. */
body.arsin-checkout-blocks #payment-method .wc-block-components-radio-control-accordion-option {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 48px !important;
  align-items: center;
  column-gap: 10px;
  background: var(--soft-2) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius) !important;
  overflow: hidden;
  min-height: 74px !important;
  max-height: 74px !important;
  height: 74px !important;
  padding: 12px !important;
  transition: border-color 0.15s ease, background-color 0.15s ease;
  overflow-anchor: none;
}

body.arsin-checkout-blocks #payment-method .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
body.arsin-checkout-blocks #payment-method .wc-block-components-radio-control-accordion-option:has(.wc-block-components-radio-control__option-checked) {
  background: var(--brand-soft) !important;
  border-color: var(--line) !important;
}

body.arsin-checkout-blocks #payment-method .wc-block-components-radio-control-accordion-option > .wc-block-components-radio-control__option {
  min-width: 0;
  width: 100%;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  min-height: 48px !important;
  max-height: 48px !important;
  padding: 4px 40px 4px 8px !important;
  box-shadow: none !important;
}

body.arsin-checkout-blocks #payment-method .wc-block-components-radio-control-accordion-option > .asc-cod-payment-icon,
body.arsin-checkout-blocks #payment-method .wc-block-components-radio-control-accordion-option > #zarinpal,
body.arsin-checkout-blocks #payment-method .wc-block-components-radio-control-accordion-option > .asc-zpal-trust-in-method,
body.arsin-checkout-blocks #payment-method .wc-block-components-radio-control-accordion-option > .footer-badge {
  justify-self: end;
  align-self: center;
}

/* COD chip — host-independent so remount without .asc-cod-host cannot shrink to text size. */
body.arsin-checkout-blocks #payment-method .asc-cod-payment-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  border: 1px solid var(--line) !important;
  border-radius: 8px !important;
  color: var(--brand) !important;
  font-family: "Material Symbols Outlined", sans-serif !important;
  font-size: 26px !important;
  font-weight: normal !important;
  line-height: 1 !important;
  font-variation-settings: "FILL" 0, "wght" 500, "GRAD" 0, "opsz" 24;
  -webkit-font-smoothing: antialiased;
  user-select: none;
  flex: none !important;
}

body.arsin-checkout-blocks #payment-method #zarinpal,
body.arsin-checkout-blocks #payment-method .asc-zpal-trust-in-method,
body.arsin-checkout-blocks #payment-method .footer-badge--zarinpal {
  width: 48px !important;
  max-width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  flex: 0 0 48px !important;
  transform: none !important;
  animation: none !important;
}

body.arsin-checkout-blocks #payment-method .wc-block-components-radio-control__input {
  right: 8px !important;
}

body.arsin-checkout-blocks .wc-block-components-radio-control__option-checked,
body.arsin-checkout-blocks .wc-block-components-radio-control__option--checked-option-highlighted {
  background: var(--brand-soft);
  border-color: var(--brand-line-strong);
}

body.arsin-checkout-blocks #payment-method .wc-block-components-radio-control__option-checked,
body.arsin-checkout-blocks #payment-method .wc-block-components-radio-control__option--checked-option-highlighted {
  background: transparent !important;
  border-color: transparent !important;
}

/* Kill WC Blocks black �highlight-checked� ring */
body.arsin-checkout-blocks #payment-method .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
body.arsin-checkout-blocks #payment-method .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option--checked-option-highlighted,
body.arsin-checkout-blocks #shipping-option .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option--checked-option-highlighted {
  box-shadow: none !important;
  outline: none !important;
}

body.arsin-checkout-blocks .wc-block-components-radio-control__option-layout {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  width: 100%;
}

/* WC default is row + space-between (price flies to the far edge) */
body.arsin-checkout-blocks .wc-block-components-radio-control__label-group {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 2px;
  min-width: 0;
  width: 100%;
  text-align: start;
}

body.arsin-checkout-blocks .wc-block-components-radio-control__label,
body.arsin-checkout-blocks .wc-block-components-radio-control__secondary-label,
body.arsin-checkout-blocks .wc-block-components-radio-control__description {
  font-size: var(--fs-body);
  font-weight: 700;
  color: var(--ink);
  line-height: 1.45;
}

body.arsin-checkout-blocks .wc-block-components-radio-control__secondary-label {
  font-weight: 600;
  color: var(--muted);
  font-size: var(--fs-meta);
}

/*
 * WC RTL sets `right: 16px` on the input. Do NOT set `right: auto` � that
 * cancels inset-inline-start and parks the radio on the text.
 * Soft brand chrome � avoid WC�s near-black ring + solid black dot.
 */
body.arsin-checkout-blocks .wc-block-components-radio-control__input {
  position: absolute !important;
  top: 50% !important;
  right: 14px !important;
  left: auto !important;
  bottom: auto !important;
  box-sizing: border-box !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateY(-50%) !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background: #fff !important;
  border: 1.5px solid var(--line) !important;
  border-radius: 50% !important;
  box-shadow: none !important;
  outline: none !important;
  accent-color: var(--brand);
  z-index: 1;
}

body.arsin-checkout-blocks .wc-block-components-radio-control__input:focus,
body.arsin-checkout-blocks .wc-block-components-radio-control__input:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 2px rgb(145 1 1 / 14%) !important;
  border-color: var(--brand) !important;
}

body.arsin-checkout-blocks .wc-block-components-radio-control__input:checked {
  border-color: var(--brand) !important;
  background: #fff !important;
  box-shadow: none !important;
}

body.arsin-checkout-blocks .wc-block-components-radio-control__input:checked::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: 50% !important;
  right: 50% !important;
  left: auto !important;
  width: 8px !important;
  height: 8px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: var(--brand) !important;
  box-shadow: none !important;
  transform: translate(50%, -50%) !important;
}

/* ZarinPal: title + trust badge on one row (like COD); hide gateway description */
body.arsin-checkout-blocks #payment-method .asc-zpal-host {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 48px !important;
  grid-template-areas: "label badge";
  column-gap: 10px;
  row-gap: 0;
  align-items: center;
  padding: 12px !important;
}

body.arsin-checkout-blocks #payment-method .asc-zpal-host > .wc-block-components-radio-control__option {
  grid-area: label;
  min-width: 0;
  width: 100%;
  min-height: 48px !important;
  padding: 4px 40px 4px 4px !important;
}

body.arsin-checkout-blocks #payment-method .asc-zpal-host > #zarinpal,
body.arsin-checkout-blocks #payment-method .asc-zpal-host > .asc-zpal-trust-in-method {
  grid-area: badge;
  align-self: center;
  justify-self: end;
  box-sizing: border-box;
  width: 48px !important;
  max-width: 48px !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 4px !important;
  background: transparent;
  background-color: transparent;
  border: 0;
  border-radius: 8px;
  box-shadow: none;
  line-height: 0;
  color: inherit;
  font-size: 0;
  z-index: 2;
  transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
  animation: arsin-zpal-attention 2.8s ease-in-out infinite;
}

body.arsin-checkout-blocks #payment-method .asc-zpal-host > #zarinpal a,
body.arsin-checkout-blocks #payment-method .asc-zpal-host > .asc-zpal-trust-in-method a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  line-height: 0;
}

body.arsin-checkout-blocks #payment-method .asc-zpal-host > #zarinpal img,
body.arsin-checkout-blocks #payment-method .asc-zpal-host > .asc-zpal-trust-in-method img {
  display: block !important;
  width: auto !important;
  max-width: 38px !important;
  height: auto !important;
  max-height: 38px !important;
  border: 0;
}

body.arsin-checkout-blocks #payment-method .asc-zpal-host > #zarinpal:hover,
body.arsin-checkout-blocks #payment-method .asc-zpal-host > .asc-zpal-trust-in-method:hover,
body.arsin-checkout-blocks #payment-method .asc-zpal-host > #zarinpal:focus-within,
body.arsin-checkout-blocks #payment-method .asc-zpal-host > .asc-zpal-trust-in-method:focus-within {
  border-color: color-mix(in srgb, var(--brand) 28%, transparent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand) 8%, transparent);
  transform: none;
}

@keyframes arsin-zpal-attention {
  0%, 82%, 100% {
    box-shadow: 0 0 0 0 color-mix(in srgb, var(--brand) 0%, transparent);
  }
  90% {
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--brand) 8%, transparent);
  }
}

/* Gateway descriptions jump the payment row on shipping remount — keep them closed. */
body.arsin-checkout-blocks #payment-method .wc-block-components-radio-control-accordion-content,
body.arsin-checkout-blocks #payment-method [id*="radio-control-wc-payment-method-options-"][id$="__content"],
body.arsin-checkout-blocks #payment-method .asc-zpal-host > .wc-block-components-radio-control-accordion-content,
body.arsin-checkout-blocks #payment-method .asc-zpal-host > #radio-control-wc-payment-method-options-WC_ZPal__content,
body.arsin-checkout-blocks #payment-method .asc-cod-host > .wc-block-components-radio-control-accordion-content {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* COD: icon chip mirrors ZarinPal badge slot */
body.arsin-checkout-blocks #payment-method .asc-cod-host {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 48px !important;
  grid-template-areas: "label icon";
  column-gap: 10px;
  align-items: center;
  padding: 12px !important;
}

body.arsin-checkout-blocks #payment-method .asc-cod-host > .wc-block-components-radio-control__option {
  grid-area: label;
  min-width: 0;
  width: 100%;
  min-height: 48px !important;
  padding: 4px 40px 4px 4px !important;
}

body.arsin-checkout-blocks #payment-method .asc-cod-host > .asc-cod-payment-icon {
  grid-area: icon;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 48px;
  height: 48px;
  margin: 0;
  padding: 0;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--brand);
  font-family: "Material Symbols Outlined", sans-serif;
  font-size: 26px;
  font-weight: normal;
  line-height: 1;
  font-variation-settings: "FILL" 0, "wght" 500, "GRAD" 0, "opsz" 24;
  -webkit-font-smoothing: antialiased;
  user-select: none;
  flex: none;
}

body.arsin-checkout-blocks .asc-zpal-host img[data-asc-hidden-zpal-logo],
body.arsin-checkout-blocks .asc-zpal-host img[src*="zarinpal-woocommerce"] {
  display: none !important;
}

/* Accordion description fallback (should stay hidden via the rule above). */
body.arsin-checkout-blocks #payment-method .wc-block-components-radio-control-accordion-option:not(.asc-zpal-host):not(.asc-cod-host) > .wc-block-components-radio-control-accordion-content {
  display: none !important;
}

body.arsin-checkout-blocks #payment-method .wc-block-components-radio-control__option + div:not(.wc-block-components-radio-control__option-layout):not(#zarinpal):not(.asc-zpal-trust-in-method):not(.footer-badge):not(.asc-cod-payment-icon) {
  width: 100%;
  padding: 0;
  color: var(--muted);
  font-size: var(--fs-meta);
  line-height: 1.55;
}

@media (max-width: 900px) {
  body.arsin-checkout-blocks #shipping-option .wc-block-components-radio-control,
  body.arsin-checkout-blocks .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.arsin-checkout-blocks #payment-method .wc-block-components-radio-control {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  body.arsin-checkout-blocks #shipping-option .wc-block-components-radio-control,
  body.arsin-checkout-blocks #payment-method .wc-block-components-radio-control,
  body.arsin-checkout-blocks .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Notices inside block */
body.arsin-checkout-blocks .wc-block-components-notice-banner,
body.arsin-checkout-blocks .wc-block-components-validation-error {
  border-radius: var(--radius);
  font-size: var(--fs-meta);
}

body.arsin-checkout-blocks .wc-block-components-notice-banner.is-info {
  background: #eef5fa;
  border-color: #c5d8e8;
  color: var(--info);
}

/* Order summary � same visual contract as cart `.order-box` */
body.arsin-checkout-blocks .wc-block-checkout__sidebar > .wp-block-woocommerce-checkout-order-summary-block,
body.arsin-checkout-blocks .wp-block-woocommerce-checkout-order-summary-block {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  gap: 10px;
  margin: 0;
  padding: 14px;
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 3px solid var(--brand);
  border-radius: var(--radius);
  box-shadow: none;
}

body.arsin-checkout-blocks .wc-block-components-checkout-order-summary__title,
body.arsin-checkout-blocks .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-checkout-order-summary__title {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
  margin: 0 0 2px !important;
  padding: 0 0 8px !important;
  border-bottom: 1px solid var(--line);
  background: transparent !important;
}

body.arsin-checkout-blocks .wc-block-components-checkout-order-summary__title-text,
body.arsin-checkout-blocks .wc-block-components-checkout-order-summary__title .wc-block-components-title {
  margin: 0;
  font-size: var(--fs-card, 16px) !important;
  font-weight: 700 !important;
  line-height: 1.4;
  color: var(--ink);
}

body.arsin-checkout-blocks .wc-block-components-checkout-order-summary__title-icon {
  color: var(--brand);
}

body.arsin-checkout-blocks .wc-block-components-checkout-order-summary__content {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
}

/* Line items � stacked product cards in the order-box sidebar */
body.arsin-checkout-blocks .wp-block-woocommerce-checkout-order-summary-cart-items-block.wc-block-components-totals-wrapper {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

body.arsin-checkout-blocks .wc-block-components-order-summary,
body.arsin-checkout-blocks .wc-block-components-order-summary.is-large,
body.arsin-checkout-blocks .wc-block-components-order-summary__content {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

/* Kill WC table layout that collapses cards */
body.arsin-checkout-blocks .wc-block-components-order-summary-item {
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) !important;
  grid-template-areas:
    "image desc"
    "image price";
  column-gap: 8px !important;
  row-gap: 2px !important;
  align-items: start;
  width: 100% !important;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 8px !important;
  background: var(--soft-2);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

body.arsin-checkout-blocks .wc-block-components-order-summary-item:last-child {
  border-bottom: 1px solid var(--line);
  padding-bottom: 8px;
}

body.arsin-checkout-blocks .wc-block-components-order-summary-item__image {
  grid-area: image;
  position: relative !important;
  display: block !important;
  width: 64px !important;
  height: 64px !important;
  min-width: 64px !important;
  min-height: 64px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: var(--radius);
  background: var(--soft, #f3f4f6);
  flex: none !important;
  align-self: start;
  line-height: 0;
  box-sizing: border-box;
}

body.arsin-checkout-blocks .wc-block-components-order-summary-item__image > img,
body.arsin-checkout-blocks .wc-block-components-order-summary-item__image img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  display: block !important;
  width: 64px !important;
  height: 64px !important;
  min-width: 64px !important;
  min-height: 64px !important;
  max-width: 64px !important;
  max-height: 64px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius) !important;
  object-fit: cover !important;
  object-position: center !important;
  background: var(--white);
}

body.arsin-checkout-blocks .wc-block-components-order-summary-item__image:has(img) {
  animation: none;
  background: var(--soft-2);
}

/* Qty badge � perfect circle */
body.arsin-checkout-blocks .wc-block-components-order-summary-item__quantity {
  position: absolute !important;
  top: -7px !important;
  inset-inline-start: -7px !important;
  inset-inline-end: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  z-index: 2;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  max-width: 22px !important;
  min-height: 22px !important;
  padding: 0 !important;
  aspect-ratio: 1 / 1;
  box-sizing: border-box !important;
  background: var(--brand) !important;
  border: 2px solid var(--white) !important;
  border-radius: 50% !important;
  color: var(--white) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  overflow: hidden !important;
  box-shadow: 0 1px 2px rgb(0 0 0 / 12%);
}

body.arsin-checkout-blocks .wc-block-components-order-summary-item__quantity > span[aria-hidden="true"] {
  display: block !important;
  width: 100%;
  text-align: center;
  line-height: 18px;
  font-size: 11px !important;
  font-weight: 800 !important;
}

body.arsin-checkout-blocks .wc-block-components-order-summary-item__total-price {
  grid-area: price;
  margin: 0 !important;
  padding: 0 !important;
  /* Physical left of the card (RTL inline-end) */
  justify-self: end !important;
  align-self: end;
  width: max-content;
  max-width: 100%;
  text-align: left !important;
  direction: ltr;
  font-size: 13px !important;
  font-weight: 800 !important;
  font-variant-numeric: tabular-nums;
  color: var(--ink) !important;
  line-height: 1.3;
}

body.arsin-checkout-blocks .wc-block-components-order-summary-item__total-price .wc-block-cart-item__total-price-and-sale-badge-wrapper,
body.arsin-checkout-blocks .wc-block-components-order-summary-item__total-price .price,
body.arsin-checkout-blocks .wc-block-components-order-summary-item__total-price .wc-block-formatted-money-amount {
  display: inline-block !important;
  margin: 0 !important;
  color: inherit !important;
  font-weight: inherit !important;
  text-align: left !important;
}

/*
 * B2B Arsin: WC Blocks retail "Save / ����� X" sale badge does not match equipment-store language.
 * Price + strikethrough remain; hide the savings chip on checkout (and classic cart if Blocks appear).
 */
body.arsin-checkout-blocks .wc-block-components-sale-badge,
body.woocommerce-cart .wc-block-components-sale-badge,
body.woocommerce-checkout .wc-block-components-sale-badge {
  display: none !important;
}

body.arsin-checkout-blocks .wc-block-components-order-summary-item__description {
  grid-area: desc;
  display: flex !important;
  flex-direction: column;
  gap: 2px !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}

body.arsin-checkout-blocks .wc-block-components-order-summary-item__description > * {
  margin-block: 0 !important;
}

body.arsin-checkout-blocks .wc-block-components-product-name {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  color: var(--ink) !important;
}

body.arsin-checkout-blocks .wc-block-components-product-metadata,
body.arsin-checkout-blocks .wc-block-components-product-details,
body.arsin-checkout-blocks .wc-block-components-order-summary-item__individual-prices,
body.arsin-checkout-blocks .wc-block-components-order-summary-item .wc-block-cart-item__prices {
  color: var(--muted) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/*
 * Simple (non-variable) products: Blocks echoes a truncated short_description
 * under the product title ("آبمیوه گیر صنعتی…"). Hide it; keep variation
 * attributes via .wc-block-components-product-details only.
 */
body.arsin-checkout-blocks .wc-block-components-order-summary .wc-block-components-product-metadata__description {
  display: none !important;
}

/* SR-only text must not paint into the card */
body.arsin-checkout-blocks .wc-block-components-order-summary .screen-reader-text,
body.arsin-checkout-blocks .wc-block-components-order-summary-item .screen-reader-text,
body.arsin-checkout-blocks .wc-block-components-order-summary-item__quantity .screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

body.arsin-checkout-blocks .wc-block-components-product-price,
body.arsin-checkout-blocks .wc-block-formatted-money-amount {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  color: var(--ink) !important;
}

/* Totals rows � mirror cart `.summary-list` */
body.arsin-checkout-blocks .wc-block-components-totals-wrapper {
  margin: 0;
  padding: 0;
  border: 0 !important;
  background: transparent;
}

body.arsin-checkout-blocks .wc-block-components-totals-item {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 4px 12px;
  min-height: 38px;
  margin: 0;
  padding: 8px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line) !important;
  color: var(--muted) !important;
  font-size: 13px !important;
  font-weight: 600;
}

body.arsin-checkout-blocks .wc-block-components-totals-item__label {
  flex: 1 1 auto;
  color: var(--muted) !important;
  font-weight: 600;
}

body.arsin-checkout-blocks .wc-block-components-totals-item__value {
  flex: 0 0 auto;
  color: var(--ink) !important;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  text-align: end;
}

body.arsin-checkout-blocks .wc-block-components-totals-item__value[hidden],
body.arsin-checkout-blocks .wc-block-components-totals-item__description[hidden],
body.arsin-checkout-blocks .wc-block-components-radio-control__secondary-label[hidden] {
  display: none !important;
}

/* Via / method name under the shipping totals row (not inline with label+value). */
body.arsin-checkout-blocks .wc-block-components-totals-item__description {
  flex: 1 0 100%;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  padding-inline: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  color: var(--muted) !important;
  font-size: 12px !important;
  font-weight: 600;
  line-height: 1.4;
  text-align: start;
}

body.arsin-checkout-blocks .wc-block-components-totals-item__description:empty,
body.arsin-checkout-blocks .wc-block-components-totals-item__description:not(:has(*:not(:empty))) {
  display: none !important;
  flex: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}

body.arsin-checkout-blocks .wc-block-components-totals-shipping__via {
  margin: 0;
}

body.arsin-checkout-blocks .wc-block-components-totals-footer-item,
body.arsin-checkout-blocks .wc-block-components-totals-item.wc-block-components-totals-footer-item {
  min-height: 42px;
  border-bottom: 0 !important;
  color: var(--ink) !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}

body.arsin-checkout-blocks .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.arsin-checkout-blocks .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  color: var(--ink) !important;
  font-weight: 800 !important;
  font-size: 15px !important;
}

body.arsin-checkout-blocks .wc-block-components-panel {
  border: 0 !important;
  border-radius: 0;
  background: transparent;
}

body.arsin-checkout-blocks .wc-block-components-panel__button {
  padding: 8px 0 !important;
  font-size: 13px !important;
  font-weight: 700;
  color: var(--ink);
}

/* Coupon � outline like cart discount CTA */
body.arsin-checkout-blocks .wc-block-components-totals-coupon {
  margin: 0;
  padding: 0;
  border: 0 !important;
}

body.arsin-checkout-blocks .wc-block-components-totals-coupon__button.wc-block-components-button,
body.arsin-checkout-blocks .wc-block-components-panel__button.wc-block-components-totals-coupon-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 42px;
  margin: 0;
  padding: 8px 12px !important;
  border: 1px solid var(--brand) !important;
  border-radius: var(--radius) !important;
  background: var(--white) !important;
  color: var(--brand) !important;
  font-size: var(--fs-btn) !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}

body.arsin-checkout-blocks .wc-block-components-totals-coupon__button.wc-block-components-button:hover,
body.arsin-checkout-blocks .wc-block-components-panel__button.wc-block-components-totals-coupon-link:hover {
  background: var(--brand-soft) !important;
}

/* Cart order-box: keep brand top bar explicit (shared contract) */
body.arsin-cart .cart-sidebar .order-box,
body.arsin-cart .cart-sidebar .cart_totals.order-box {
  border-top: 3px solid var(--brand);
}

/* Place order � match site `.btn` (beat WC with-price / element button) */
body.arsin-checkout-blocks .wc-block-checkout__actions,
body.arsin-checkout-blocks .wc-block-checkout__actions.is-style-with-price {
  margin-top: 12px;
  padding-top: 0;
  width: 100%;
}

body.arsin-checkout-blocks .wc-block-checkout__actions_row {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.arsin-checkout-blocks .wc-block-components-checkout-place-order-button,
body.arsin-checkout-blocks .wc-block-components-checkout-place-order-button.contained,
body.arsin-checkout-blocks .wc-block-components-checkout-place-order-button--full-width,
body.arsin-checkout-blocks .wc-block-checkout__actions .wc-block-components-button.contained,
body.arsin-checkout-blocks .wp-block-woocommerce-checkout-actions-block .wc-block-components-checkout-place-order-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap;
  gap: 8px !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 12px 18px !important;
  border: 1px solid transparent !important;
  border-radius: var(--radius) !important;
  background: var(--brand) !important;
  background-color: var(--brand) !important;
  color: var(--white) !important;
  font-family: inherit !important;
  font-size: var(--fs-btn) !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  box-shadow: var(--shadow-brand) !important;
  transition: background var(--ease, .15s ease), box-shadow var(--ease, .15s ease);
}

body.arsin-checkout-blocks .wc-block-components-checkout-place-order-button:hover,
body.arsin-checkout-blocks .wc-block-components-checkout-place-order-button.contained:hover,
body.arsin-checkout-blocks .wc-block-checkout__actions .wc-block-components-button.contained:hover {
  background: var(--brand-2) !important;
  background-color: var(--brand-2) !important;
  color: var(--white) !important;
}

body.arsin-checkout-blocks .wc-block-components-checkout-place-order-button:disabled,
body.arsin-checkout-blocks .wc-block-components-button.contained:disabled {
  opacity: .55;
  box-shadow: none !important;
}

body.arsin-checkout-blocks .wc-block-components-checkout-place-order-button .wc-block-components-button__text,
body.arsin-checkout-blocks .wc-block-components-checkout-place-order-button__text,
body.arsin-checkout-blocks .wc-block-components-checkout-place-order-button__separator,
body.arsin-checkout-blocks .wc-block-components-checkout-place-order-button__price,
body.arsin-checkout-blocks .wc-block-components-checkout-place-order-button .wc-block-formatted-money-amount {
  color: var(--white) !important;
  font-weight: 700 !important;
  font-size: inherit !important;
}

body.arsin-checkout-blocks .wc-block-components-checkout-place-order-button__separator::after {
  color: var(--white) !important;
  opacity: 0.85;
}

body.arsin-checkout-blocks .wc-block-components-checkout-return-to-cart-button {
  color: var(--brand);
  font-weight: 700;
  font-size: var(--fs-meta);
}

/* Order notes � panel + always-open textarea */
body.arsin-checkout-blocks #order-notes.wc-block-components-checkout-step,
body.arsin-checkout-blocks .wc-block-checkout__order-notes {
  margin-top: 0;
}

body.arsin-checkout-blocks #order-notes .wc-block-checkout__add-note {
  display: grid;
  gap: 10px;
}

body.arsin-checkout-blocks #order-notes .wc-block-components-checkbox {
  margin: 0;
}

body.arsin-checkout-blocks #order-notes .wc-block-components-checkbox__label {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #333 !important;
}

body.arsin-checkout-blocks #order-notes.asc-notes-open .wc-block-components-checkbox {
  display: none !important;
}

body.arsin-checkout-blocks #order-notes .wc-block-components-textarea {
  margin: 0 !important;
}

body.arsin-checkout-blocks #order-notes textarea.wc-block-components-textarea,
body.arsin-checkout-blocks #order-notes .wc-block-components-textarea textarea {
  display: block !important;
  width: 100% !important;
  min-height: 100px !important;
  box-sizing: border-box !important;
  padding: 10px 12px !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius) !important;
  background: var(--white) !important;
  color: var(--ink) !important;
  font: inherit !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  resize: vertical;
}

body.arsin-checkout-blocks #order-notes textarea.wc-block-components-textarea:focus {
  border-color: #9fc9bc !important;
  box-shadow: 0 0 0 2px rgb(22 113 95 / 8%) !important;
  outline: none !important;
}

/* Checkbox / terms */
body.arsin-checkout-blocks .wc-block-components-checkbox__label {
  font-size: var(--fs-meta);
  color: var(--ink-soft);
}

body.arsin-checkout-blocks .wc-block-components-checkbox .wc-block-components-checkbox__mark {
  fill: var(--white);
}

body.arsin-checkout-blocks .wc-block-components-checkbox input[type="checkbox"]:checked {
  background: var(--brand);
  border-color: var(--brand);
}

body.arsin-checkout-blocks .wc-block-checkout__terms {
  color: var(--muted);
  font-size: var(--fs-caption);
  line-height: 1.65;
}

/* Guest contact / express gaps */
body.arsin-checkout-blocks .wc-block-components-express-payment,
body.arsin-checkout-blocks .wc-block-checkout__contact-fields {
  margin: 0;
}

body.arsin-checkout-blocks .section--checkout .checkout-section-head + .notice,
body.arsin-checkout-blocks .checkout-section-head + .checkout-progress + .notice,
body.arsin-checkout-blocks .checkout-progress + .notice {
  margin-bottom: 16px;
}

@media (max-width: 900px) {
  body.arsin-checkout-blocks .wc-block-components-checkout-step,
  body.arsin-checkout-blocks .wp-block-woocommerce-checkout-order-summary-block {
    padding: 14px;
  }
}

.checkout-progress {
  margin: 0 0 14px;
}

.checkout-progress__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.checkout-progress__step {
  display: grid;
  gap: 4px;
  justify-items: center;
  padding: 10px 8px;
  background: var(--soft-2);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  text-align: center;
}

.checkout-progress__step.is-active {
  background: var(--brand-soft);
  border-color: var(--brand-line-strong);
  color: var(--ink);
}

.checkout-progress__index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--white);
  border: 1px solid var(--line);
  color: var(--brand);
  font-size: 11px;
  font-weight: 800;
}

.checkout-progress__step.is-active .checkout-progress__index {
  background: var(--brand);
  border-color: var(--brand);
  color: var(--white);
}

.checkout-customer-chip {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 14px;
  padding: 10px 12px;
  background: var(--brand-soft);
  border: 1px solid var(--brand-line);
  border-radius: var(--radius);
  color: var(--ink);
  font-size: 13px;
  font-weight: 600;
}

.checkout-customer-chip .material-symbols-outlined {
  color: var(--brand);
  font-size: 20px;
}

.checkout-alt-actions {
  display: grid;
  gap: 8px;
  margin: 0 0 12px;
}

.checkout-alt-actions .btn {
  width: 100%;
  min-height: 40px;
  justify-content: center;
}

.checkout-order-notes {
  margin: 0;
}

.checkout-order-notes > summary {
  cursor: pointer;
  list-style: none;
}

.checkout-order-notes > summary::-webkit-details-marker {
  display: none;
}

.checkout-panel__title--summary {
  margin: 0;
}

.checkout-order-notes__body {
  margin-top: 12px;
}

.checkout-section-head .section-head__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
}

.checkout-section-head.section-head--compact {
  margin-bottom: 12px;
}

.checkout-section-head.section-head--compact h2 {
  font-size: var(--fs-section);
}

.checkout-section-head.section-head--compact p {
  margin-top: 2px;
  font-size: 13px;
}

.checkout-section-head .section-head__count {
  flex-shrink: 0;
  margin-inline-start: auto;
  padding: 4px 10px;
  background: var(--soft-2);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.section--checkout .checkout-section-head + .notice,
.section--checkout .checkout-progress + .notice,
body.arsin-checkout .checkout-shell > .notice,
body.arsin-checkout-blocks .checkout-shell > .notice {
  margin-bottom: 16px;
}

body.arsin-checkout .checkout-shell .arsin-wc-notice,
body.arsin-checkout .checkout-shell .woocommerce-error,
body.arsin-checkout .checkout-shell .woocommerce-info,
body.arsin-checkout .checkout-shell .woocommerce-message,
body.arsin-checkout-blocks .checkout-shell .arsin-wc-notice,
body.arsin-checkout-blocks .checkout-shell .woocommerce-error,
body.arsin-checkout-blocks .checkout-shell .woocommerce-info,
body.arsin-checkout-blocks .checkout-shell .woocommerce-message {
  margin: 0 0 14px;
}

/* Nested error list inside Arsin shell � no second card */
body.arsin-checkout .checkout-shell .arsin-wc-notice .woocommerce-error,
body.arsin-checkout-blocks .checkout-shell .arsin-wc-notice .woocommerce-error {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: inherit;
}

body.arsin-checkout .checkout-shell .woocommerce-error li,
body.arsin-checkout-blocks .checkout-shell .woocommerce-error li {
  margin: 0;
  padding: 4px 0;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.6;
}

body.arsin-checkout .checkout-shell .woocommerce-error li + li,
body.arsin-checkout-blocks .checkout-shell .woocommerce-error li + li {
  border-top: 1px dashed #efc4c4;
  margin-top: 6px;
  padding-top: 8px;
}

body.arsin-checkout .checkout-shell > .notice,
body.arsin-checkout .checkout-section-head + .notice,
body.arsin-checkout .checkout-progress + .notice,
body.arsin-checkout-blocks .checkout-shell > .notice,
body.arsin-checkout-blocks .checkout-section-head + .notice,
body.arsin-checkout-blocks .checkout-progress + .notice,
.section--checkout > .container > .notice {
  background: var(--soft-2);
  border: 1px solid var(--line);
  color: var(--ink);
  font-weight: 600;
}

body.arsin-checkout .checkout-shell > .notice .material-symbols-outlined,
body.arsin-checkout-blocks .checkout-shell > .notice .material-symbols-outlined,
.section--checkout > .container > .notice .material-symbols-outlined {
  color: var(--brand);
}

body.arsin-checkout .checkout-grid {
  margin-top: 0;
}

body.arsin-checkout .checkout-sidebar.panel {
  padding: 18px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 1px 0 rgb(0 0 0 / 4%);
}

body.arsin-checkout .checkout-main {
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
}

body.arsin-checkout .checkout-panel {
  margin: 0;
  padding: 18px;
}

body.arsin-checkout .checkout-form-grid .form-row-wide,
body.arsin-checkout .checkout-form-grid #billing_address_1_field,
body.arsin-checkout .checkout-form-grid #billing_phone_field {
  grid-column: 1 / -1;
}

body.arsin-checkout .checkout-panel__title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 6px;
  font-size: 18px;
  line-height: 1.4;
}

body.arsin-checkout .checkout-panel__lead {
  margin: 0 0 14px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.65;
}

body.arsin-checkout .checkout-form-grid .form-row {
  margin: 0;
}

body.arsin-checkout .checkout-ship-toggle {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px dashed var(--line);
}

body.arsin-checkout .woocommerce-shipping-fields.is-collapsed {
  display: none;
}

body.arsin-checkout .checkout-sidebar {
  position: sticky;
  top: calc(var(--sticky-offset, 94px) + 8px);
  align-self: start;
  margin: 0;
}

body.arsin-checkout .checkout-sidebar__title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 14px;
  font-size: 18px;
  line-height: 1.4;
}

body.arsin-checkout .checkout-order-box {
  display: grid;
  gap: 12px;
}

body.arsin-checkout .checkout-items {
  display: grid;
  gap: 0;
  margin: 0;
}

body.arsin-checkout .checkout-item {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
  font-size: 13px;
  line-height: 1.55;
}

body.arsin-checkout .checkout-item__media {
  width: 72px;
  height: 72px;
  flex-shrink: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--soft-2);
}

body.arsin-checkout .checkout-item__thumb {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.arsin-checkout .checkout-item__body {
  display: grid;
  gap: 4px;
  min-width: 0;
}

body.arsin-checkout .checkout-item__qty {
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
}

body.arsin-checkout .checkout-item__name {
  color: var(--ink);
  font-weight: 700;
  min-width: 0;
  line-height: 1.45;
}

body.arsin-checkout .checkout-item__total {
  color: var(--brand);
  font-weight: 800;
  white-space: nowrap;
  font-size: 14px;
  align-self: center;
}

body.arsin-checkout .checkout-summary {
  width: 100%;
  margin: 0;
  padding: 10px 12px;
  background: var(--soft-2);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  border-collapse: collapse;
}

body.arsin-checkout .checkout-summary thead,
body.arsin-checkout .checkout-summary tbody {
  display: none;
}

body.arsin-checkout .checkout-summary tfoot tr {
  display: table-row;
}

body.arsin-checkout .checkout-summary th,
body.arsin-checkout .checkout-summary td {
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: 13px;
  font-weight: 500;
  vertical-align: top;
  text-align: right;
}

body.arsin-checkout .checkout-summary td {
  color: var(--ink);
  text-align: left;
  font-weight: 700;
}

body.arsin-checkout .checkout-summary tr.order-total th,
body.arsin-checkout .checkout-summary tr.order-total td {
  color: var(--ink);
  font-size: 15px;
  font-weight: 800;
  border-bottom: 0;
}

body.arsin-checkout .checkout-summary tr.order-total td {
  color: var(--brand);
  font-size: 18px;
}

body.arsin-checkout .checkout-payment-heading {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 14px 0 8px;
  font-size: 14px;
  font-weight: 800;
  color: var(--ink);
}

body.arsin-checkout .checkout-sidebar .wc-trust {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 12px;
}

body.arsin-checkout .checkout-sidebar .wc-trust__item {
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 8px 6px;
  text-align: center;
  min-width: 0;
}

body.arsin-checkout .checkout-sidebar .wc-trust__item .material-symbols-outlined {
  font-size: 20px;
}

body.arsin-checkout .checkout-sidebar .wc-trust__item b {
  font-size: 10px;
  line-height: 1.35;
}

body.arsin-checkout .checkout-sidebar .wc-trust__text {
  display: none;
}

/* Single hidden shipping rate � plain text, no ghost radio */
body.arsin-checkout .checkout-summary #shipping_method {
  margin: 0;
  padding: 0;
  list-style: none;
}

body.arsin-checkout .checkout-summary #shipping_method li {
  margin: 0;
  padding: 0;
  list-style: none;
}

body.arsin-checkout .checkout-summary #shipping_method input[type="hidden"] {
  display: none;
}

body.arsin-checkout .checkout-summary #shipping_method li:has(input[type="hidden"]) label {
  margin: 0;
  padding: 0;
  color: var(--ink);
  font-size: 13px;
  font-weight: 700;
  cursor: default;
}

body.arsin-checkout .checkout-summary tr.woocommerce-shipping-totals td {
  text-align: left;
}

body.arsin-checkout #payment .woocommerce-privacy-policy-text {
  margin: 0 0 10px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.55;
  font-weight: 500;
}

/* IR-only store: hide country (WC address-i18n may set inline display:block). */
body.arsin-checkout #billing_country_field,
body.arsin-checkout #shipping_country_field,
body.arsin-checkout .asc-hidden-country-field {
  display: none !important;
}

/* Checkout coupon toggle banner (��� ����� ����Ͽ��) � cart page keeps coupon entry. */
body.arsin-checkout .woocommerce-form-coupon-toggle,
body.arsin-checkout form.checkout_coupon {
  display: none !important;
}

/* ASC IR phone OK badge: overlay inside the phone input (classic #billing_phone). */
body.arsin-checkout .woocommerce-input-wrapper.asc-ir-phone-status-host,
body.arsin-checkout #billing_phone_field .woocommerce-input-wrapper {
  position: relative;
  display: block;
}

/* Classic only � do not fight the blocks wrap overlay (sibling + inset-inline-end breaks RTL). */
body.arsin-checkout:not(.arsin-checkout-blocks) #billing_phone_field .asc-ir-phone-ok-badge,
body.arsin-checkout:not(.arsin-checkout-blocks) #billing_phone_field .woocommerce-input-wrapper > .asc-ir-phone-ok-badge {
  position: absolute;
  top: 50%;
  inset-inline-end: 10px;
  z-index: 2;
  transform: translateY(-50%);
  margin: 0;
  box-sizing: border-box;
  width: 20px;
  height: 20px;
  padding: 0;
  border-radius: 50%;
  background: linear-gradient(145deg, #ecfdf5 0%, #d1fae5 100%);
  border: 1px solid rgba(30, 142, 80, 0.35);
  box-shadow: 0 1px 2px rgba(16, 98, 55, 0.12);
  color: #0f7a45;
  align-items: center;
  justify-content: center;
}

body.arsin-checkout:not(.arsin-checkout-blocks) #billing_phone_field .asc-ir-phone-ok-badge:not([hidden]) {
  display: inline-flex !important;
}

body.arsin-checkout:not(.arsin-checkout-blocks) #billing_phone_field:has(.asc-ir-phone-ok-badge:not([hidden])) #billing_phone,
body.arsin-checkout:not(.arsin-checkout-blocks) #billing_phone_field:has(.asc-ir-phone-ok-badge:not([hidden])) input[name="billing_phone"] {
  padding-inline-end: 2.75rem !important;
}

body.arsin-checkout:not(.arsin-checkout-blocks) #billing_phone_field .woocommerce-input-wrapper.asc-ir-phone-invalid #billing_phone,
body.arsin-checkout:not(.arsin-checkout-blocks) #billing_phone_field .woocommerce-input-wrapper.asc-field-invalid #billing_phone,
body.arsin-checkout:not(.arsin-checkout-blocks) #billing_phone_field #billing_phone.asc-field-invalid,
body.arsin-checkout:not(.arsin-checkout-blocks) #billing_phone_field input[name="billing_phone"].asc-field-invalid {
  border-color: #d63638 !important;
  box-shadow: 0 0 0 2px rgb(214 54 56 / 10%) !important;
}

body.arsin-checkout:not(.arsin-checkout-blocks) #billing_phone_field .woocommerce-input-wrapper.asc-ir-phone-invalid #billing_phone:focus,
body.arsin-checkout:not(.arsin-checkout-blocks) #billing_phone_field .woocommerce-input-wrapper.asc-field-invalid #billing_phone:focus,
body.arsin-checkout:not(.arsin-checkout-blocks) #billing_phone_field #billing_phone.asc-field-invalid:focus,
body.arsin-checkout:not(.arsin-checkout-blocks) #billing_phone_field input[name="billing_phone"].asc-field-invalid:focus {
  border-color: #d63638 !important;
  box-shadow: 0 0 0 3px rgb(214 54 56 / 12%) !important;
}

/* Keep payment methods visible in the sticky sidebar (never collapse). */
body.arsin-checkout #payment,
body.arsin-checkout #payment .payment_methods,
body.arsin-checkout #payment .wc_payment_methods {
  display: block;
  visibility: visible;
  opacity: 1;
}

body.arsin-checkout #payment .payment_methods,
body.arsin-checkout #payment .wc_payment_methods {
  display: grid;
}

body.arsin-checkout #payment .payment_methods li .payment_box p {
  margin: 0;
  font-size: 11px;
  line-height: 1.55;
  color: var(--muted);
}

body.arsin-checkout #payment .woocommerce-privacy-policy-text a {
  color: var(--brand);
  font-weight: 700;
}

body.arsin-checkout .checkout-mobile-bar {
  display: none;
}

body.arsin-cart .entry-title,
body.arsin-checkout .entry-title,
body.arsin-checkout-blocks .entry-title,
body.arsin-order-received .entry-title {
  display: none;
}

/* �� Cart shell v0.3.73 UX �� */
.section--cart {
  padding-top: calc(var(--section-y) - 8px);
}

.section--cart .cart-section-head {
  margin-bottom: 12px;
}

.section--cart .cart-section-head .section-head__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
}

.section--cart .cart-section-head h2 {
  font-size: var(--fs-section);
}

.section--cart .cart-section-head .section-head__count {
  flex-shrink: 0;
  margin-inline-start: auto;
  padding: 4px 10px;
  background: var(--soft-2);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.section--cart > .container > .notice {
  margin-bottom: 16px;
}

body.arsin-cart .wc-layout.woocommerce-cart {
  margin-top: 0;
}

/* Prevent browser scroll-anchoring jumps while cart AJAX replaces form/totals. */
body.arsin-cart.arsin-cart-updating,
body.arsin-cart.arsin-cart-updating .wc-layout.woocommerce-cart,
body.arsin-cart.arsin-cart-updating .cart-table-wrap,
body.arsin-cart.arsin-cart-updating .cart-sidebar,
body.arsin-cart.arsin-cart-updating .cart_totals {
  overflow-anchor: none;
}

/* Kill smooth scrolling for the whole document while cart AJAX is in flight. */
html:has(body.arsin-cart-updating),
body.arsin-cart.arsin-cart-updating {
  scroll-behavior: auto !important;
}

/* Routine "Cart updated" notices must not shove `.cart_totals` during AJAX. */
body.arsin-cart.arsin-cart-updating .woocommerce-notices-wrapper,
body.arsin-cart.arsin-cart-updating .cart-main > .woocommerce-notices-wrapper {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
}

/*
 * Stable shells — WC replaceWith swaps form/totals nodes; slots keep grid space.
 * Min-heights stay applied always (JS settles vars to new content on unlock).
 * Gating them only on `.arsin-cart-updating` caused the footer jump on unlock.
 */
body.arsin-cart .cart-form-slot,
body.arsin-cart .cart-totals-slot {
  display: block;
  min-width: 0;
  overflow-anchor: none;
  contain: layout style;
}

body.arsin-cart .cart-form-slot {
  min-height: var(--arsin-cart-form-min-h, 0px);
}

body.arsin-cart .cart-totals-slot {
  min-height: var(--arsin-cart-totals-slot-min-h, var(--arsin-cart-totals-min-h, 0px));
}

body.arsin-cart .cart_totals {
  min-height: var(--arsin-cart-totals-min-h, 0px);
}

body.arsin-cart .cart-sidebar {
  min-height: var(--arsin-cart-sidebar-min-h, 0px);
}

/*
 * Layout-only (not a custom loader): jQuery BlockUI switches `.order-box` from
 * `position:static` (mobile) to `relative` while `.order-box { top: sticky-offset }`
 * remains — the box jumps ~sticky-offset until unblock. Clear top during processing.
 * Keep WC default spinner; do not touch pointer-events / overlay cosmetics.
 */
body.arsin-cart .woocommerce-cart-form.processing,
body.arsin-cart .cart_totals.processing {
  top: auto !important;
  bottom: auto !important;
}

/*
 * Flush cart table with .cart-main / sidebar top.
 * Root cause: empty .woocommerce-notices-wrapper is still a grid child of
 * .cart-main (gap:16px) and carries margin-bottom:14px from main.css.
 */
body.arsin-cart .wc-layout > .cart-main,
.section--cart .wc-layout > .cart-main {
  padding-top: 0;
  margin-top: 0;
}

body.arsin-cart .cart-main > .woocommerce-notices-wrapper:empty,
body.arsin-cart .cart-main > .woocommerce-notices-wrapper:not(:has(*)) {
  display: none;
}

body.arsin-cart .cart-main > .woocommerce-notices-wrapper {
  margin-top: 0;
  margin-bottom: 0;
}

body.arsin-cart .cart-main > .woocommerce-cart-form,
body.arsin-cart .cart-table-wrap,
body.arsin-cart table.cart-table,
body.arsin-cart table.shop_table.cart {
  margin-top: 0;
  padding-top: 0;
}

/*
 * WC `.shop_table` defaults to margin-bottom:24px � inside `.cart-table-wrap`
 * that leaves empty space below td.actions. Hug the table tightly.
 */
body.arsin-cart .cart-table-wrap,
body.arsin-cart .cart-table-wrap > table.cart,
body.arsin-cart .cart-table-wrap > table.shop_table,
body.arsin-cart .cart-table-wrap > table.cart-table {
  margin-bottom: 0;
}

body.arsin-cart .cart-table-wrap {
  box-shadow: var(--shadow-soft);
  min-height: 0;
}

/* Belt-and-suspenders: never show WC shipping totals row on cart */
body.arsin-cart .cart-sidebar tr.woocommerce-shipping-totals {
  display: none !important;
}

body.arsin-cart .cart-table th {
  font-size: 12px;
  letter-spacing: 0;
}

body.arsin-cart .cart-table .actions {
  background: var(--soft);
}

body.arsin-cart .cart-actions-row {
  padding: 4px 0;
}

/* Safety: hide actions strip if only hidden fields remain (e.g. after AJAX). */
body.arsin-cart .cart-actions-row:not(:has(.coupon, .cart-actions-buttons, button, input[type="text"], a)) {
  display: none;
}

/* Thumbnail-only link — product-card__image frame on .cart-product-thumb */
body.arsin-cart .product-thumbnail .cart-product-thumb {
  display: block;
  width: 58px;
  min-width: 0;
  line-height: 0;
  text-decoration: none;
}

/* Qty steppers in cart � reuse .qty-control tokens */
body.arsin-cart .product-quantity .qty-control {
  vertical-align: middle;
}

body.arsin-cart .product-quantity .qty-control .quantity {
  display: contents;
}

body.arsin-cart .product-quantity .qty-control .quantity .screen-reader-text {
  display: none;
}

body.arsin-cart .cart-sidebar .order-box,
body.arsin-cart .cart-sidebar .cart_totals.order-box {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  gap: 10px;
  padding: 14px;
  margin: 0;
}

body.arsin-cart .cart-sidebar .order-box h2 {
  margin: 0;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--line);
  font-size: var(--fs-card, 16px);
}

.cart-shipping-hint {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin: 0;
  padding: 7px 10px;
  background: var(--soft-2);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--ink-soft, var(--ink));
  font-size: var(--fs-caption, 12px);
  font-weight: 600;
  line-height: 1.45;
}

.cart-shipping-hint .material-symbols-outlined,
.cart-shipping-hint .icon {
  flex-shrink: 0;
  margin-top: 1px;
  color: var(--brand);
  font-size: 16px;
}

.cart-sidebar .order-box .summary-list tr.shipping--pending td {
  color: var(--muted);
  font-weight: 600;
}

.cart-shipping-pending {
  font-size: 12px;
}

/* Cart related — unified product cards (~4 visible). */
.cart-related-products {
  margin-top: 20px;
  padding-top: 8px;
  border-top: 1px solid var(--line);
  max-width: 100%;
  min-width: 0;
}

.cart-related-products .section-head {
  margin-bottom: 12px;
}

.cart-related-products .marquee-wrap {
  margin-inline: 0;
}

.cart-related-products .product-marquee {
  width: 100%;
}

.cart-related-products .product-marquee .product-card {
  flex: 0 0 calc((100cqi - (var(--card-gap) * 3)) / 4);
  width: calc((100cqi - (var(--card-gap) * 3)) / 4);
  height: 100%;
  min-width: min(168px, 58vw);
}

@media (max-width: 900px) {
  body.arsin-cart .wc-layout.woocommerce-cart {
    display: grid;
    grid-template-columns: 1fr;
  }

  body.arsin-cart .cart-sidebar .order-box,
  body.arsin-cart .cart-sidebar .cart_totals.order-box {
    position: static;
    top: auto;
  }

  /* Natural DOM order: cart-main → sidebar → related. No display:contents. */
  body.arsin-cart .wc-layout.woocommerce-cart > .cart-main,
  body.arsin-cart .wc-layout.woocommerce-cart > .cart-sidebar,
  body.arsin-cart .wc-layout.woocommerce-cart > .cart-related-products {
    order: unset;
  }
}

.cart-main {
  display: grid;
  gap: 16px;
  min-width: 0;
  padding-top: 0;
}

@media (max-width: 760px) {
  body.arsin-cart .cart-related-products {
    margin-top: 14px;
    padding-top: 14px;
  }

  body.arsin-cart .cart-related-products .section-head {
    margin-bottom: 12px;
  }

  body.arsin-cart .cart-related-products .marquee-wrap {
    overflow: visible;
  }

  body.arsin-cart .cart-related-products .product-marquee {
    overflow: visible;
  }

  body.arsin-cart .cart-related-products .product-marquee__track {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    width: 100%;
    min-width: 0;
  }

  body.arsin-cart.asc-shop-mobile-cols-1 .cart-related-products .product-marquee__track {
    grid-template-columns: 1fr;
  }

  body.arsin-cart.asc-shop-mobile-cols-2 .cart-related-products .product-marquee__track {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.arsin-cart .cart-related-products .product-marquee__track > .product-card:nth-child(n + 5) {
    display: none;
  }

  body.arsin-cart .cart-related-products .product-card {
    width: 100%;
    min-width: 0;
    height: 100%;
    min-height: 0;
    display: flex;
    flex: 0 1 auto;
    flex-direction: column;
    border-radius: var(--radius);
  }

  body.arsin-cart .cart-related-products .product-card .product-card__image {
    min-height: 0;
    aspect-ratio: 1 / 1;
    padding: 8px;
  }

  body.arsin-cart .cart-related-products .product-card .product-card__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  body.arsin-cart .cart-related-products .product-card .product-card__content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 8px;
  }

  body.arsin-cart .cart-related-products .product-card .product-card__title {
    min-height: 0;
    margin: 0 0 6px;
    font-size: 13px;
    line-height: 1.55;
  }

  body.arsin-cart .cart-related-products .product-card .product-card__title a {
    display: -webkit-box;
    overflow: hidden;
    text-overflow: clip;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  body.arsin-cart .cart-related-products .product-card .product-card__image-tags {
    order: 2;
    margin: 0 0 8px;
  }

  body.arsin-cart .cart-related-products .product-card .product-specs {
    display: none;
  }

  body.arsin-cart .cart-related-products .product-card .product-card__footer {
    gap: 8px;
    margin-top: 6px;
    padding-top: 8px;
  }

  body.arsin-cart .cart-related-products .product-card .product-card__price-button {
    direction: ltr;
    justify-content: flex-start;
    gap: 6px;
  }

  body.arsin-cart .cart-related-products .product-card--unavailable .product-card__footer {
    justify-content: flex-end;
    text-align: right;
  }

  body.arsin-cart .cart-related-products .product-card .product-card__sale-timer {
    display: inline-flex;
    flex: 0 0 auto;
    color: var(--muted);
    font-size: 10.5px;
  }

  body.arsin-cart .cart-related-products .product-card .product-card__price-stack {
    max-width: 100%;
    font-size: 12px;
    white-space: normal;
  }

  body.arsin-cart .cart-related-products .product-card .product-card__footer {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  body.arsin-cart .cart-related-products .product-card .product-card__price-button {
    min-height: 38px;
    padding: 0 7px;
    border-radius: 8px;
    font-size: 11.5px;
    font-weight: 900;
  }

  body.arsin-cart .cart-related-products .product-card .product-card__price-button {
    background: var(--brand);
    border-color: var(--brand);
    color: var(--white);
  }

  body.arsin-cart .cart-sidebar .order-box .summary-list.shop_table_responsive {
    display: grid;
    gap: 8px;
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
  }

  body.arsin-cart .cart-sidebar .order-box .summary-list.shop_table_responsive tbody {
    display: grid;
    gap: 8px;
  }

  body.arsin-cart .cart-sidebar .order-box .summary-list.shop_table_responsive tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
    align-items: center;
    gap: 10px;
    min-height: 46px;
    padding: 10px 12px;
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: 10px;
  }

  body.arsin-cart .cart-sidebar .order-box .summary-list.shop_table_responsive th,
  body.arsin-cart .cart-sidebar .order-box .summary-list.shop_table_responsive td,
  body.arsin-cart .cart-sidebar .order-box .summary-list.shop_table_responsive tr.cart-subtotal th,
  body.arsin-cart .cart-sidebar .order-box .summary-list.shop_table_responsive tr.cart-subtotal td,
  body.arsin-cart .cart-sidebar .order-box .summary-list.shop_table_responsive tr.order-total th,
  body.arsin-cart .cart-sidebar .order-box .summary-list.shop_table_responsive tr.order-total td {
    display: block !important;
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
    text-align: start;
  }

  body.arsin-cart .cart-sidebar .order-box .summary-list.shop_table_responsive th {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.6;
  }

  body.arsin-cart .cart-sidebar .order-box .summary-list.shop_table_responsive td {
    color: var(--ink);
    font-size: 12.5px;
    font-weight: 900;
    line-height: 1.6;
    text-align: left;
  }

  body.arsin-cart .cart-sidebar .order-box .summary-list.shop_table_responsive tr.order-total {
    min-height: 56px;
    background: var(--brand-soft);
    border-color: var(--brand-line);
  }

  body.arsin-cart .cart-sidebar .order-box .summary-list.shop_table_responsive tr.order-total th,
  body.arsin-cart .cart-sidebar .order-box .summary-list.shop_table_responsive tr.order-total td {
    color: var(--brand);
  }

  body.arsin-cart .cart-sidebar .order-box .summary-list.shop_table_responsive tr.order-total td {
    font-size: 15px;
  }

  body.arsin-cart .cart-sidebar .order-box .summary-list.shop_table_responsive tr.shipping td {
    text-align: start;
  }

  body.arsin-cart .cart-sidebar .order-box .summary-list.shop_table_responsive #shipping_method {
    gap: 6px;
    margin: 0;
  }
}

@media (max-width: 760px) {
  body.arsin-checkout .checkout-summary tr.woocommerce-shipping-totals,
  body.arsin-checkout #order_review tr.woocommerce-shipping-totals {
    display: grid !important;
    grid-template-columns: 50px minmax(0, 1fr);
    align-items: start;
    gap: 8px;
  }

  body.arsin-checkout .checkout-summary tr.woocommerce-shipping-totals th,
  body.arsin-checkout #order_review tr.woocommerce-shipping-totals th {
    display: block !important;
    width: auto !important;
    min-width: 0;
    padding-inline-end: 0;
    white-space: nowrap;
  }

  body.arsin-checkout .checkout-summary tr.woocommerce-shipping-totals td,
  body.arsin-checkout #order_review tr.woocommerce-shipping-totals td {
    display: block !important;
    width: auto !important;
    min-width: 0;
  }

  body.arsin-checkout #order_review #shipping_method label {
    font-size: 12.5px;
    line-height: 1.55;
  }
}

.cart-sidebar .cart_totals {
  margin: 0;
}

/* Prototype summary-list uses div rows; WC cart totals use table rows � mirror layout. */
.cart-sidebar .order-box .summary-list {
  display: table;
  width: 100%;
  margin: 0;
  border-collapse: collapse;
  border-spacing: 0;
  gap: 0;
}

.cart-sidebar .order-box .summary-list tbody {
  display: table-row-group;
}

.cart-sidebar .order-box .summary-list tr {
  display: table-row;
}

/* Comfortable cell padding � vertical + inline so labels/amounts are not edge-flush. */
body.arsin-cart .cart-sidebar .order-box .summary-list th,
body.arsin-cart .cart-sidebar .order-box .summary-list td,
.cart-sidebar .order-box .summary-list th,
.cart-sidebar .order-box .summary-list td,
body.arsin-cart .cart-sidebar .order-box .summary-list tr.cart-subtotal th,
body.arsin-cart .cart-sidebar .order-box .summary-list tr.cart-subtotal td,
body.arsin-cart .cart-sidebar .order-box .summary-list tr.order-total th,
body.arsin-cart .cart-sidebar .order-box .summary-list tr.order-total td {
  display: table-cell;
  padding: 12px 8px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: var(--fs-meta, 13px);
  font-weight: 500;
  line-height: 1.45;
  vertical-align: middle;
  text-align: right;
}

body.arsin-cart .cart-sidebar .order-box .summary-list th {
  width: 42%;
  padding-inline-end: 12px;
}

body.arsin-cart .cart-sidebar .order-box .summary-list td {
  color: var(--ink);
  text-align: left;
  font-weight: 700;
  padding-inline-start: 8px;
}

.cart-sidebar .order-box .summary-list tr:last-child th,
.cart-sidebar .order-box .summary-list tr:last-child td {
  border-bottom: 0;
}

.cart-sidebar .order-box .summary-list tr.order-total th,
.cart-sidebar .order-box .summary-list tr.order-total td {
  color: var(--ink);
  font-size: 15px;
  font-weight: 800;
}

.cart-sidebar .order-box .summary-list tr.order-total td {
  color: var(--brand);
  font-size: 18px;
}

.cart-sidebar .order-box .summary-list tr.shipping td {
  font-weight: 600;
}

.cart-sidebar .order-box .summary-list #shipping_method {
  margin: 0;
  padding: 0;
  list-style: none;
}

.cart-sidebar .order-box .summary-list #shipping_method li {
  display: grid;
  gap: 4px;
  margin: 0 0 8px;
  padding: 0;
}

.cart-sidebar .order-box .summary-list #shipping_method li:last-child {
  margin-bottom: 0;
}

.cart-sidebar .order-box .summary-list #shipping_method label {
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  cursor: pointer;
}

.cart-sidebar .order-box .summary-list #shipping_method input {
  margin-top: 3px;
  accent-color: var(--brand);
}

.cart-sidebar .order-box .shipping-calculator-form {
  display: grid;
  gap: 8px;
  margin-top: 4px;
}

.cart-sidebar .order-box .shipping-calculator-form p {
  margin: 0;
}

.cart-sidebar .order-box .shipping-calculator-form .form-row {
  margin: 0;
}

.cart-sidebar .order-box .shipping-calculator-form select,
.cart-sidebar .order-box .shipping-calculator-form input.input-text {
  width: 100%;
  min-height: 40px;
  padding: 0 12px;
  border: 1px solid var(--line-2);
  border-radius: var(--radius);
  background: var(--white);
  color: var(--ink);
  font: inherit;
}

.cart-sidebar .order-box .shipping-calculator-form .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 8px 14px;
  border: 1px solid var(--brand);
  border-radius: var(--radius);
  background: var(--brand-soft);
  color: var(--brand);
  font-weight: 700;
}

.cart-sidebar .order-box .shipping-calculator-form .button:hover {
  background: var(--brand);
  color: var(--white);
}

/* cod24-shipping: city_select in calculator + checkout address fields */
.cart-sidebar .order-box .city_select,
body.arsin-checkout .city_select {
  width: 100%;
  min-height: 40px;
  padding: 0 12px;
  border: 1px solid var(--line-2);
  border-radius: var(--radius);
  background: var(--white);
  color: var(--ink);
  font: inherit;
}

/* Checkout order review � shipping methods (cod24 rates + ASC �ӝ�����) */
body.arsin-checkout #order_review .woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: collapse;
}

body.arsin-checkout #order_review .woocommerce-checkout-review-order-table th,
body.arsin-checkout #order_review .woocommerce-checkout-review-order-table td {
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
  vertical-align: top;
  text-align: right;
}

body.arsin-checkout #order_review .woocommerce-checkout-review-order-table td {
  text-align: left;
  font-weight: 700;
  color: var(--ink);
}

body.arsin-checkout #order_review tr.woocommerce-shipping-totals th {
  color: var(--muted);
  font-weight: 600;
}

body.arsin-checkout #order_review #shipping_method {
  margin: 0;
  padding: 0;
  list-style: none;
}

body.arsin-checkout #order_review #shipping_method li {
  display: grid;
  gap: 4px;
  margin: 0 0 8px;
  padding: 0;
}

body.arsin-checkout #order_review #shipping_method li:last-child {
  margin-bottom: 0;
}

body.arsin-checkout #order_review #shipping_method label {
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  cursor: pointer;
}

body.arsin-checkout #order_review #shipping_method input {
  margin-top: 3px;
  accent-color: var(--brand);
}

/* cod24 SHCOD � ������� ����� ����� �� ���ϻ checkbox after billing */
body.arsin-checkout #shipping_on_delivery_field {
  margin: 12px 0 0;
  padding: 12px 14px;
  background: var(--soft-2);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

body.arsin-checkout #shipping_on_delivery_field label {
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0;
  color: var(--ink);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
  cursor: pointer;
}

body.arsin-checkout #shipping_on_delivery_field input {
  margin-top: 3px;
  accent-color: var(--brand);
}

body.arsin-checkout .woocommerce-shipping-fields.shipping-panel--compact .shipping_address {
  display: none;
}

body.arsin-checkout .ship-to-different-address--billing {
  margin-top: 0;
}

body.arsin-checkout #place_order,
body.arsin-checkout #order_review .button.alt,
body.arsin-checkout #payment #place_order,
body.arsin-checkout #payment input.button.alt {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 10px 16px;
  border: 0;
  border-radius: var(--radius);
  background: var(--brand) !important;
  background-color: var(--brand) !important;
  color: var(--white) !important;
  border-color: transparent !important;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
  box-shadow: var(--shadow-brand);
}

body.arsin-checkout #place_order:hover,
body.arsin-checkout #order_review .button.alt:hover,
body.arsin-checkout #payment #place_order:hover,
body.arsin-checkout #payment input.button.alt:hover {
  background: var(--brand-2) !important;
  background-color: var(--brand-2) !important;
  color: var(--white) !important;
}

body.arsin-checkout #payment .payment_methods,
body.arsin-checkout #payment .wc_payment_methods {
  display: grid;
  gap: 8px;
  margin: 12px 0;
  padding: 0;
  list-style: none;
  border: 0;
}

body.arsin-checkout #payment .payment_methods li,
body.arsin-checkout #payment .wc_payment_method {
  margin: 0;
  padding: 0;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

body.arsin-checkout #payment .payment_methods li:has(input:checked),
body.arsin-checkout #payment .wc_payment_method:has(input:checked) {
  border-color: var(--brand-line-strong);
  background: var(--brand-soft);
}

body.arsin-checkout #payment .payment_methods li label,
body.arsin-checkout #payment .wc_payment_method > label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-height: 52px;
  margin: 0;
  padding: 10px 12px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

body.arsin-checkout #payment .payment_methods li input[type="radio"],
body.arsin-checkout #payment .wc_payment_method input[type="radio"] {
  margin-top: 4px;
  accent-color: var(--brand);
  flex-shrink: 0;
}

body.arsin-checkout #payment .payment_box {
  margin: 0;
  padding: 0 12px 12px;
  background: transparent;
  border: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}

body.arsin-checkout #payment .payment_box::before {
  display: none;
}

.cart-actions-stack {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
}

/* Beat WooCommerce `.woocommerce-cart .wc-proceed-to-checkout a.checkout-button` (loads later). */
body.arsin-cart .woocommerce-cart .cart-sidebar .wc-proceed-to-checkout,
body.arsin-cart .cart-sidebar .wc-proceed-to-checkout {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
}

body.arsin-cart .woocommerce-cart .cart-sidebar .wc-proceed-to-checkout::before,
body.arsin-cart .woocommerce-cart .cart-sidebar .wc-proceed-to-checkout::after {
  display: none;
  content: none;
}

body.arsin-cart .woocommerce-cart .cart-sidebar .wc-proceed-to-checkout a.checkout-button,
body.arsin-cart .cart-sidebar .wc-proceed-to-checkout a.checkout-button,
body.arsin-cart .cart-sidebar .cart-actions-stack a.checkout-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 50px;
  margin: 0;
  padding: 12px 16px;
  background: var(--brand);
  color: var(--white);
  border-color: transparent;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  white-space: normal;
  text-align: center;
  box-sizing: border-box;
}

body.arsin-cart .woocommerce-cart .cart-sidebar .wc-proceed-to-checkout a.checkout-button:hover,
body.arsin-cart .cart-sidebar .wc-proceed-to-checkout a.checkout-button:hover,
body.arsin-cart .cart-sidebar .cart-actions-stack a.checkout-button:hover {
  background: var(--brand-2);
  color: var(--white);
}

.cart-collaterals--theme[hidden] {
  display: none !important;
}

/* Cart sidebar: trust inside .order-box (sticky unit with totals + CTA). */
body.arsin-cart .cart-sidebar .order-box .wc-trust,
body.arsin-cart .cart-sidebar .cart_totals .wc-trust {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin: 0;
  padding-top: 10px;
  border-top: 1px solid var(--line);
  width: 100%;
  max-width: 100%;
}

body.arsin-cart .cart-sidebar .order-box .wc-trust__item,
body.arsin-cart .cart-sidebar .cart_totals .wc-trust__item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px;
  align-items: start;
  min-width: 0;
  padding: 8px 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  text-align: start;
}

body.arsin-cart .cart-sidebar .order-box .wc-trust__item .material-symbols-outlined,
body.arsin-cart .cart-sidebar .order-box .wc-trust__item .icon,
body.arsin-cart .cart-sidebar .cart_totals .wc-trust__item .material-symbols-outlined,
body.arsin-cart .cart-sidebar .cart_totals .wc-trust__item .icon {
  font-size: 20px;
  color: var(--brand);
}

body.arsin-cart .cart-sidebar .order-box .wc-trust__item b,
body.arsin-cart .cart-sidebar .cart_totals .wc-trust__item b {
  display: block;
  font-size: 13px;
  line-height: 1.35;
}

body.arsin-cart .cart-sidebar .order-box .wc-trust__text,
body.arsin-cart .cart-sidebar .cart_totals .wc-trust__text {
  display: block;
  color: var(--muted);
  font-size: 12px;
}

body.arsin-checkout .wc-trust--page-footer {
  margin-top: 16px;
}

.empty-state.woocommerce-cart-empty {
  max-width: 640px;
  margin-inline: auto;
}

.empty-state.woocommerce-cart-empty h1 {
  margin: 0 0 8px;
  font-size: var(--fs-page);
  color: var(--ink);
}

.empty-state.woocommerce-cart-empty p {
  margin: 0 0 16px;
}

/* Legacy review-order table fallback (AJAX fragments) */
body.arsin-checkout #order_review .woocommerce-checkout-review-order-table:not(.checkout-summary) {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 12px;
}

body.arsin-checkout #order_review .woocommerce-checkout-review-order-table:not(.checkout-summary) thead {
  display: none;
}

body.arsin-checkout #order_review #shipping_method {
  margin: 0;
  padding: 0;
  list-style: none;
}

body.arsin-checkout #order_review #shipping_method li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0 0 8px;
  padding: 0;
}

body.arsin-checkout #order_review #shipping_method li:last-child {
  margin-bottom: 0;
}

body.arsin-checkout #order_review #shipping_method label {
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  cursor: pointer;
}

body.arsin-checkout #order_review #shipping_method input {
  margin-top: 3px;
  accent-color: var(--brand);
}

body.arsin-checkout #order_review #shipping_method li:only-child label {
  cursor: default;
}

body.arsin-checkout #payment {
  background: transparent;
  border-radius: 0;
}

body.arsin-checkout #payment .place-order {
  margin: 12px 0 0;
  padding: 0;
}

body.arsin-checkout #payment .woocommerce-terms-and-conditions-wrapper {
  margin: 12px 0 0;
}

body.arsin-checkout #payment .woocommerce-privacy-policy-text {
  margin: 0 0 8px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}

/* cod24-shipping: state/city selects in checkout address panels */
body.arsin-checkout .woocommerce-billing-fields .city_select,
body.arsin-checkout .woocommerce-shipping-fields .city_select,
body.arsin-checkout .woocommerce-billing-fields select.state_select,
body.arsin-checkout .woocommerce-shipping-fields select.state_select {
  width: 100%;
  min-height: 40px;
  padding: 0 12px;
  border: 1px solid var(--line-2);
  border-radius: var(--radius);
  background: var(--white);
  color: var(--ink);
  font: inherit;
}

/* Classic checkout: align with cart / account / order-received page chrome. */
body.arsin-checkout .checkout-shell {
  margin-top: 0;
}

body.arsin-checkout .checkout-grid {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 400px);
  gap: 20px;
  align-items: start;
}

body.arsin-checkout .checkout-main {
  gap: 16px;
}

body.arsin-checkout .checkout-panel,
body.arsin-checkout .checkout-sidebar.panel {
  padding: 16px;
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 3px solid var(--brand);
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
}

body.arsin-checkout .checkout-panel__title,
body.arsin-checkout .checkout-sidebar__title,
body.arsin-checkout .checkout-payment-heading {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.45;
}

body.arsin-checkout .checkout-payment-heading {
  margin-top: 14px;
  font-size: 15px;
}

body.arsin-checkout .checkout-panel__title .icon,
body.arsin-checkout .checkout-panel__title .material-symbols-outlined,
body.arsin-checkout .checkout-sidebar__title .icon,
body.arsin-checkout .checkout-sidebar__title .material-symbols-outlined,
body.arsin-checkout .checkout-payment-heading .icon,
body.arsin-checkout .checkout-payment-heading .material-symbols-outlined {
  color: var(--brand);
  font-size: 22px;
  line-height: 1;
}

body.arsin-checkout .checkout-panel__lead {
  margin: -2px 0 14px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.75;
}

body.arsin-checkout .checkout-form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 14px;
}

body.arsin-checkout .checkout-form-grid .form-row,
body.arsin-checkout .woocommerce-additional-fields__field-wrapper .form-row {
  display: grid;
  align-content: start;
  gap: 5px;
  float: none !important;
  clear: none !important;
  width: 100% !important;
  max-width: 100%;
  min-width: 0;
  margin: 0;
}

body.arsin-checkout .checkout-form-grid .form-row-wide,
body.arsin-checkout .checkout-form-grid #billing_address_1_field,
body.arsin-checkout .checkout-form-grid #shipping_address_1_field,
body.arsin-checkout .checkout-form-grid #billing_phone_field,
body.arsin-checkout .woocommerce-additional-fields__field-wrapper .form-row {
  grid-column: 1 / -1;
}

body.arsin-checkout .checkout-form-grid #billing_company_field,
body.arsin-checkout .checkout-form-grid #billing_organization_phone_field,
body.arsin-checkout .checkout-form-grid #billing_state_field,
body.arsin-checkout .checkout-form-grid #billing_city_field,
body.arsin-checkout .checkout-form-grid #billing_postcode_field,
body.arsin-checkout .checkout-form-grid #billing_phone_field,
body.arsin-checkout .checkout-form-grid #shipping_state_field,
body.arsin-checkout .checkout-form-grid #shipping_city_field,
body.arsin-checkout .checkout-form-grid #shipping_postcode_field {
  grid-column: auto;
}

body.arsin-checkout .checkout-form-grid label,
body.arsin-checkout .woocommerce-additional-fields__field-wrapper label,
body.arsin-checkout .checkout-ship-toggle label {
  margin: 0;
  color: #333;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.4;
}

body.arsin-checkout .checkout-form-grid input.input-text,
body.arsin-checkout .checkout-form-grid input[type="text"],
body.arsin-checkout .checkout-form-grid input[type="tel"],
body.arsin-checkout .checkout-form-grid input[type="email"],
body.arsin-checkout .checkout-form-grid select,
body.arsin-checkout .checkout-form-grid textarea,
body.arsin-checkout .woocommerce-additional-fields__field-wrapper textarea,
body.arsin-checkout .woocommerce-additional-fields__field-wrapper input {
  box-sizing: border-box;
  width: 100%;
  min-height: 40px;
  margin: 0;
  padding: 7px 10px;
  border: 1px solid var(--line-2);
  border-radius: var(--radius);
  background: var(--white);
  color: var(--ink);
  font: inherit;
  outline: 0;
  box-shadow: none;
}

body.arsin-checkout .checkout-form-grid textarea,
body.arsin-checkout .woocommerce-additional-fields__field-wrapper textarea {
  min-height: 96px;
  resize: vertical;
}

body.arsin-checkout .checkout-form-grid input:focus,
body.arsin-checkout .checkout-form-grid select:focus,
body.arsin-checkout .checkout-form-grid textarea:focus,
body.arsin-checkout .woocommerce-additional-fields__field-wrapper textarea:focus {
  border-color: #9fc9bc;
  box-shadow: 0 0 0 2px rgb(22 113 95 / 8%);
}

body.arsin-checkout .checkout-form-grid .woocommerce-invalid input,
body.arsin-checkout .checkout-form-grid .woocommerce-invalid select,
body.arsin-checkout .checkout-form-grid .woocommerce-invalid textarea {
  border-color: #d63638;
  box-shadow: 0 0 0 2px rgb(214 54 56 / 8%);
}

body.arsin-checkout .checkout-ship-toggle {
  margin-top: 14px;
  padding: 12px;
  background: var(--soft-2);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

body.arsin-checkout .checkout-ship-toggle input {
  margin-top: 3px;
  accent-color: var(--brand);
}

body.arsin-checkout .checkout-order-notes > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

body.arsin-checkout .checkout-order-notes > summary::after {
  content: "+";
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--soft-2);
  color: var(--brand);
  font-size: 18px;
  font-weight: 800;
  line-height: 1;
}

body.arsin-checkout .checkout-order-notes[open] > summary::after {
  content: "?";
}

body.arsin-checkout .checkout-sidebar.panel {
  display: grid;
  align-content: start;
  gap: 12px;
}

body.arsin-checkout .checkout-sidebar__title {
  margin-bottom: 0;
}

body.arsin-checkout .checkout-order-box {
  gap: 12px;
}

body.arsin-checkout .checkout-items {
  overflow: hidden;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

body.arsin-checkout .checkout-item {
  grid-template-columns: 58px minmax(0, 1fr);
  grid-template-areas:
    "media body"
    "media total";
  gap: 4px 10px;
  padding: 10px;
  border-bottom: 1px solid var(--line);
}

body.arsin-checkout .checkout-item:last-child {
  border-bottom: 0;
}

body.arsin-checkout .checkout-item__media {
  grid-area: media;
  width: 58px;
  height: 58px;
  background: var(--media);
}

body.arsin-checkout .checkout-item__thumb {
  object-fit: contain;
}

body.arsin-checkout .checkout-item__body {
  grid-area: body;
}

body.arsin-checkout .checkout-item__name {
  font-size: 12px;
  line-height: 1.55;
}

body.arsin-checkout .checkout-item__qty,
body.arsin-checkout .checkout-item .variation {
  color: var(--muted);
  font-size: 11px;
}

body.arsin-checkout .checkout-item__total {
  grid-area: total;
  justify-self: start;
  color: var(--brand);
  font-size: 13px;
}

body.arsin-checkout .checkout-summary {
  display: table;
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-collapse: collapse;
}

body.arsin-checkout .checkout-summary tfoot {
  display: table-row-group;
}

body.arsin-checkout .checkout-summary tfoot tr {
  display: table-row;
}

body.arsin-checkout .checkout-summary th,
body.arsin-checkout .checkout-summary td,
body.arsin-checkout #order_review .woocommerce-checkout-review-order-table th,
body.arsin-checkout #order_review .woocommerce-checkout-review-order-table td {
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
  font-size: 13px;
  line-height: 1.55;
}

body.arsin-checkout .checkout-summary tr.order-total th,
body.arsin-checkout .checkout-summary tr.order-total td {
  padding-top: 12px;
  border-bottom: 0;
  color: var(--ink);
  font-size: 15px;
  font-weight: 800;
}

body.arsin-checkout .checkout-summary tr.order-total td {
  color: var(--brand);
  font-size: 18px;
}

body.arsin-checkout #order_review tr.woocommerce-shipping-totals td {
  text-align: right;
}

body.arsin-checkout #order_review #shipping_method {
  display: grid;
  gap: 6px;
  width: 100%;
}

body.arsin-checkout #order_review #shipping_method li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  margin: 0;
  padding: 8px 10px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

body.arsin-checkout #order_review #shipping_method li:has(input:checked) {
  background: var(--brand-soft);
  border-color: var(--brand-line-strong);
}

body.arsin-checkout #order_review #shipping_method input {
  margin-top: 4px;
  accent-color: var(--brand);
}

body.arsin-checkout #order_review #shipping_method label {
  display: grid;
  gap: 2px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.45;
}

body.arsin-checkout .checkout-shipping-method-note {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}

body.arsin-checkout #payment {
  margin: 0;
  padding: 0;
  background: transparent;
}

body.arsin-checkout #payment .payment_methods,
body.arsin-checkout #payment .wc_payment_methods {
  gap: 8px;
  margin: 10px 0 0;
  padding: 0;
  background: transparent;
  border: 0;
}

body.arsin-checkout #payment .payment_methods li,
body.arsin-checkout #payment .wc_payment_method {
  position: relative;
  min-height: 70px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
}

body.arsin-checkout #payment .payment_methods li:has(input:checked),
body.arsin-checkout #payment .wc_payment_method:has(input:checked) {
  background: var(--brand-soft);
  border-color: var(--brand-line-strong);
}

body.arsin-checkout #payment .payment_methods li label,
body.arsin-checkout #payment .wc_payment_method > label {
  align-items: center;
  min-height: 70px;
  padding: 10px 72px 10px 12px;
  font-size: 14px;
}

body.arsin-checkout #payment .payment_methods li input[type="radio"],
body.arsin-checkout #payment .wc_payment_method input[type="radio"] {
  margin-top: 0;
}

body.arsin-checkout #payment .payment_box {
  padding: 0 72px 12px 12px;
}

body.arsin-checkout .asc-cod-host > .asc-cod-payment-icon,
body.arsin-checkout #payment .payment_method_cod::before,
body.arsin-checkout #payment .payment_method_WC_ZPal > label img,
body.arsin-checkout .payment_method_WC_ZPal.asc-zpal-host > #zarinpal,
body.arsin-checkout li.payment_method_WC_ZPal.asc-zpal-host > #zarinpal,
body.arsin-checkout .payment_method_WC_ZPal.asc-zpal-host > .asc-zpal-trust-in-method,
body.arsin-checkout li.payment_method_WC_ZPal.asc-zpal-host > .asc-zpal-trust-in-method {
  position: absolute;
  inset-inline-end: 12px;
  top: 50%;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 48px !important;
  max-width: 48px;
  height: 48px !important;
  margin: 0;
  padding: 4px !important;
  transform: translateY(-50%);
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 0 0 3px rgb(145 1 1 / 4%);
}

/* ZarinPal trust chip: no white plate — logo only. */
body.arsin-checkout .payment_method_WC_ZPal.asc-zpal-host > #zarinpal,
body.arsin-checkout li.payment_method_WC_ZPal.asc-zpal-host > #zarinpal,
body.arsin-checkout .payment_method_WC_ZPal.asc-zpal-host > .asc-zpal-trust-in-method,
body.arsin-checkout li.payment_method_WC_ZPal.asc-zpal-host > .asc-zpal-trust-in-method {
  background: transparent;
  background-color: transparent;
  border: 0;
  box-shadow: none;
}

body.arsin-checkout #payment .payment_method_cod::before {
  content: "payments" !important;
  font-family: "Material Symbols Outlined";
  font-weight: normal;
  font-style: normal;
  font-size: 26px;
  line-height: 1;
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
  color: var(--brand);
  z-index: 1;
}

body.arsin-checkout .asc-cod-host > .asc-cod-payment-icon {
  color: var(--brand);
  font-size: 26px;
  line-height: 1;
}

body.arsin-checkout #payment .payment_method_WC_ZPal > label img {
  object-fit: contain;
  z-index: 1;
}

body.arsin-checkout #payment .payment_method_WC_ZPal > label img[src*="logo.svg"],
body.arsin-checkout #payment .payment_method_WC_ZPal > label img[src*="zarinpal-woocommerce"] {
  display: inline-flex !important;
}

body.arsin-checkout #payment .payment_method_WC_ZPal > label {
  min-height: 70px;
}

body.arsin-checkout #payment .payment_method_WC_ZPal > label img + * {
  margin-inline-start: 0;
}

body.arsin-checkout #payment .payment_method_WC_ZPal > label img,
body.arsin-checkout .payment_method_WC_ZPal.asc-zpal-host > #zarinpal,
body.arsin-checkout li.payment_method_WC_ZPal.asc-zpal-host > #zarinpal,
body.arsin-checkout .payment_method_WC_ZPal.asc-zpal-host > .asc-zpal-trust-in-method,
body.arsin-checkout li.payment_method_WC_ZPal.asc-zpal-host > .asc-zpal-trust-in-method {
  animation: arsin-zpal-attention 3.2s ease-in-out infinite;
}

body.arsin-checkout .payment_method_WC_ZPal.asc-zpal-host > #zarinpal:hover,
body.arsin-checkout li.payment_method_WC_ZPal.asc-zpal-host > #zarinpal:hover,
body.arsin-checkout .payment_method_WC_ZPal.asc-zpal-host > .asc-zpal-trust-in-method:hover,
body.arsin-checkout li.payment_method_WC_ZPal.asc-zpal-host > .asc-zpal-trust-in-method:hover,
body.arsin-checkout #payment .payment_method_WC_ZPal > label img:hover {
  border-color: var(--brand-line-strong);
  box-shadow: 0 0 0 4px rgb(145 1 1 / 8%);
}

@keyframes arsin-zpal-attention {
  0%,
  100% {
    box-shadow: 0 0 0 3px rgb(145 1 1 / 4%);
  }

  50% {
    box-shadow: 0 0 0 5px rgb(145 1 1 / 8%);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.arsin-checkout .payment_method_WC_ZPal.asc-zpal-host > #zarinpal,
  body.arsin-checkout li.payment_method_WC_ZPal.asc-zpal-host > #zarinpal,
  body.arsin-checkout .payment_method_WC_ZPal.asc-zpal-host > .asc-zpal-trust-in-method,
  body.arsin-checkout li.payment_method_WC_ZPal.asc-zpal-host > .asc-zpal-trust-in-method,
  body.arsin-checkout #payment .payment_method_WC_ZPal > label img {
    animation: none;
  }
}

body.arsin-checkout #order_review #payment .payment_methods,
body.arsin-checkout #order_review #payment .wc_payment_methods {
  gap: 6px;
  margin: 10px 0 0;
}

body.arsin-checkout #order_review #payment .payment_methods li,
body.arsin-checkout #order_review #payment .wc_payment_method {
  position: relative;
  min-height: 52px;
  overflow: hidden;
}

body.arsin-checkout #order_review #payment .payment_methods li label,
body.arsin-checkout #order_review #payment .wc_payment_method > label {
  display: flex;
  align-items: center;
  min-height: 52px;
  height: 52px;
  padding: 0 36px 0 62px;
  gap: 8px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 13px;
  line-height: 1.35;
}

body.arsin-checkout #order_review #payment .payment_methods li input[type="radio"],
body.arsin-checkout #order_review #payment .wc_payment_method input[type="radio"] {
  position: absolute;
  top: 50%;
  right: 12px;
  left: auto;
  z-index: 2;
  margin: 0;
  transform: translateY(-50%);
}

body.arsin-checkout #order_review #payment .payment_box {
  display: none !important;
}

body.arsin-checkout #order_review #payment .payment_method_cod::before,
body.arsin-checkout #order_review #payment .asc-cod-host > .asc-cod-payment-icon,
body.arsin-checkout #order_review #payment .payment_method_WC_ZPal > label img,
body.arsin-checkout #order_review #payment .payment_method_WC_ZPal.asc-zpal-host > #zarinpal,
body.arsin-checkout #order_review #payment li.payment_method_WC_ZPal.asc-zpal-host > #zarinpal,
body.arsin-checkout #order_review #payment .payment_method_WC_ZPal.asc-zpal-host > .asc-zpal-trust-in-method,
body.arsin-checkout #order_review #payment li.payment_method_WC_ZPal.asc-zpal-host > .asc-zpal-trust-in-method {
  inset-inline-start: auto !important;
  inset-inline-end: auto !important;
  right: auto !important;
  left: 10px !important;
  width: 40px !important;
  max-width: 40px;
  height: 40px !important;
  padding: 3px !important;
}

body.arsin-checkout #order_review #payment .payment_method_cod::before,
body.arsin-checkout #order_review #payment .asc-cod-host > .asc-cod-payment-icon {
  font-size: 24px;
}

body.arsin-checkout #order_review #payment .payment_method_WC_ZPal > label {
  min-height: 52px;
  height: 52px;
}

body.arsin-checkout #payment .woocommerce-terms-and-conditions-wrapper,
body.arsin-checkout #payment .woocommerce-privacy-policy-text {
  margin-top: 10px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.7;
}

/* Cart / checkout document polish inspired by invoice and warranty pages. */
body.arsin-cart,
body.arsin-checkout,
body.arsin-checkout-blocks {
  --arsin-doc-red: var(--brand, #a40000);
  --arsin-doc-red-2: var(--brand-2, #8d0000);
  --arsin-doc-red-soft: var(--brand-soft, #fff4f4);
  --arsin-doc-ink: var(--ink, #1f2933);
  --arsin-doc-muted: var(--muted, #667085);
  --arsin-doc-line: #d7dde5;
  --arsin-doc-soft: #f7f9fb;
  --arsin-doc-paper: var(--white, #fff);
  --arsin-doc-shadow: 0 18px 42px rgb(15 23 42 / 8%);
}

body.arsin-cart .section--cart,
body.arsin-checkout .section--checkout,
body.arsin-checkout-blocks .section--checkout {
  background:
    linear-gradient(180deg, rgb(164 0 0 / 4%), rgb(255 255 255 / 0) 220px),
    #f3f5f7;
  padding-block: 18px 32px;
}

body.arsin-cart .cart-section-head,
body.arsin-checkout .checkout-section-head,
body.arsin-checkout .checkout-progress,
body.arsin-checkout-blocks .checkout-section-head,
body.arsin-checkout-blocks .checkout-progress,
body.arsin-cart .cart-table-wrap,
body.arsin-cart .cart-sidebar .order-box,
body.arsin-cart .cart-sidebar .cart_totals.order-box,
body.arsin-checkout .checkout-panel,
body.arsin-checkout .checkout-sidebar.panel {
  border: 1px solid rgb(31 41 51 / 14%);
  border-top: 4px solid var(--arsin-doc-red);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgb(164 0 0 / 4.5%), rgb(255 255 255 / 0) 36%),
    var(--arsin-doc-paper);
  box-shadow: var(--arsin-doc-shadow);
}

body.arsin-cart .cart-section-head,
body.arsin-checkout .checkout-section-head,
body.arsin-checkout-blocks .checkout-section-head {
  margin: 0 0 14px;
  padding: 13px 14px;
}

body.arsin-cart .cart-section-head h2,
body.arsin-checkout .checkout-section-head h2,
body.arsin-checkout-blocks .checkout-section-head h2 {
  color: var(--arsin-doc-ink);
  font-size: var(--fs-h2);
  line-height: 1.45;
}

body.arsin-cart .cart-section-head p,
body.arsin-checkout .checkout-section-head p,
body.arsin-checkout-blocks .checkout-section-head p {
  color: var(--arsin-doc-muted);
}

body.arsin-cart .cart-section-head .section-head__count,
body.arsin-checkout .checkout-section-head .section-head__count,
body.arsin-checkout-blocks .checkout-section-head .section-head__count {
  border-color: rgb(164 0 0 / 18%);
  background: var(--arsin-doc-red-soft);
  color: var(--arsin-doc-red);
  font-weight: 800;
}

body.arsin-checkout .checkout-progress,
body.arsin-checkout-blocks .checkout-progress {
  margin: 0 0 16px;
  padding: 10px;
}

body.arsin-checkout .checkout-progress__list,
body.arsin-checkout-blocks .checkout-progress__list {
  gap: 10px;
}

body.arsin-checkout .checkout-progress__step,
body.arsin-checkout-blocks .checkout-progress__step {
  min-height: 56px;
  border-color: var(--arsin-doc-line);
  background: var(--arsin-doc-soft);
}

body.arsin-checkout .checkout-progress__step.is-active,
body.arsin-checkout-blocks .checkout-progress__step.is-active {
  border-color: rgb(164 0 0 / 28%);
  background: var(--arsin-doc-red-soft);
}

body.arsin-checkout .checkout-progress__index,
body.arsin-checkout-blocks .checkout-progress__index {
  border-color: rgb(164 0 0 / 20%);
}

body.arsin-cart .cart-table-wrap {
  overflow: hidden;
}

body.arsin-cart .cart-table-wrap > table.cart,
body.arsin-cart .cart-table-wrap > table.shop_table,
body.arsin-cart .cart-table-wrap > table.cart-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: transparent;
}

body.arsin-cart .cart-table thead th {
  padding: 12px;
  background: var(--arsin-doc-soft);
  border-bottom: 1px solid var(--arsin-doc-line);
  color: var(--arsin-doc-muted);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.45;
  text-align: right;
}

body.arsin-cart .cart-table tbody tr.cart_item td {
  padding: 12px;
  border-bottom: 1px solid var(--arsin-doc-line);
  background: rgb(255 255 255 / 78%);
  vertical-align: middle;
}

body.arsin-cart .cart-table tbody tr.cart_item:hover td {
  background: #fffafa;
}

body.arsin-cart .cart-table .product-name a {
  color: var(--arsin-doc-ink);
  font-weight: 800;
  text-decoration: none;
}

body.arsin-cart .cart-table .product-name a:hover {
  color: var(--arsin-doc-red);
}

body.arsin-cart .cart-table .product-price,
body.arsin-cart .cart-table .product-subtotal {
  color: var(--arsin-doc-ink);
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
}

body.arsin-cart .cart-table .product-subtotal {
  color: var(--arsin-doc-red);
}

body.arsin-cart .product-thumbnail .cart-product-thumb img,
body.arsin-checkout .checkout-item__media {
  border-color: var(--arsin-doc-line);
  background: #fff;
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / 72%);
}

body.arsin-cart .cart-table .remove-btn {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid rgb(164 0 0 / 20%);
  border-radius: 8px;
  background: #fff;
  color: var(--arsin-doc-red);
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
}

body.arsin-cart .cart-table .remove-btn:hover {
  background: var(--arsin-doc-red-soft);
  border-color: rgb(164 0 0 / 34%);
}

body.arsin-cart .cart-table .actions {
  padding: 12px;
  background: var(--arsin-doc-soft);
  border-top: 1px solid var(--arsin-doc-line);
}

body.arsin-cart .cart-actions-row {
  gap: 10px;
  padding: 0;
}

body.arsin-cart .cart-actions-row .coupon input {
  min-height: 42px;
  border-color: var(--arsin-doc-line);
  border-radius: 8px;
  background: #fff;
}

body.arsin-cart .cart-actions-row .coupon input:focus {
  border-color: rgb(164 0 0 / 36%);
  box-shadow: 0 0 0 3px rgb(164 0 0 / 7%);
}

body.arsin-cart .cart-actions-row .mini-btn {
  min-height: 42px;
  border-radius: 8px;
  font-weight: 800;
}

body.arsin-cart .cart-sidebar .order-box h2,
body.arsin-checkout .checkout-panel__title,
body.arsin-checkout .checkout-sidebar__title,
body.arsin-checkout .checkout-payment-heading {
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--arsin-doc-line);
  color: var(--arsin-doc-ink);
}

body.arsin-cart .cart-sidebar .order-box h2 .icon,
body.arsin-cart .cart-sidebar .order-box h2 .material-symbols-outlined,
body.arsin-checkout .checkout-panel__title .icon,
body.arsin-checkout .checkout-panel__title .material-symbols-outlined,
body.arsin-checkout .checkout-sidebar__title .icon,
body.arsin-checkout .checkout-sidebar__title .material-symbols-outlined,
body.arsin-checkout .checkout-payment-heading .icon,
body.arsin-checkout .checkout-payment-heading .material-symbols-outlined {
  color: var(--arsin-doc-red);
}

body.arsin-cart .cart-sidebar .order-box .summary-list,
body.arsin-checkout .checkout-summary {
  overflow: hidden;
  border: 1px solid var(--arsin-doc-line);
  border-radius: 8px;
  background: #fff;
}

body.arsin-cart .cart-sidebar .order-box .summary-list th,
body.arsin-cart .cart-sidebar .order-box .summary-list td,
body.arsin-checkout .checkout-summary th,
body.arsin-checkout .checkout-summary td,
body.arsin-checkout #order_review .woocommerce-checkout-review-order-table th,
body.arsin-checkout #order_review .woocommerce-checkout-review-order-table td {
  padding: 11px 12px;
  border-bottom-color: var(--arsin-doc-line);
}

body.arsin-cart .cart-sidebar .order-box .summary-list tr.order-total,
body.arsin-checkout .checkout-summary tr.order-total {
  background: var(--arsin-doc-red-soft);
}

body.arsin-cart .cart-sidebar .order-box .summary-list tr.order-total th,
body.arsin-cart .cart-sidebar .order-box .summary-list tr.order-total td,
body.arsin-checkout .checkout-summary tr.order-total th,
body.arsin-checkout .checkout-summary tr.order-total td {
  color: var(--arsin-doc-red);
}

body.arsin-cart .cart-shipping-hint,
body.arsin-checkout .checkout-customer-chip,
body.arsin-checkout .checkout-ship-toggle {
  border-color: rgb(164 0 0 / 18%);
  background: var(--arsin-doc-red-soft);
}

body.arsin-cart .cart-sidebar .wc-proceed-to-checkout a.checkout-button,
body.arsin-cart .cart-sidebar .cart-actions-stack a.checkout-button,
body.arsin-checkout #place_order,
body.arsin-checkout #order_review .button.alt,
body.arsin-checkout #payment #place_order,
body.arsin-checkout #payment input.button.alt {
  min-height: 46px;
  border-radius: 8px;
  background: var(--arsin-doc-red) !important;
  box-shadow: 0 8px 18px rgb(164 0 0 / 16%);
  font-weight: 800;
}

body.arsin-cart .cart-sidebar .wc-proceed-to-checkout a.checkout-button:hover,
body.arsin-cart .cart-sidebar .cart-actions-stack a.checkout-button:hover,
body.arsin-checkout #place_order:hover,
body.arsin-checkout #order_review .button.alt:hover,
body.arsin-checkout #payment #place_order:hover,
body.arsin-checkout #payment input.button.alt:hover {
  background: var(--arsin-doc-red-2) !important;
}

body.arsin-checkout .checkout-panel {
  padding: 18px;
}

body.arsin-checkout .checkout-form-grid {
  gap: 13px 14px;
}

body.arsin-checkout .checkout-form-grid input.input-text,
body.arsin-checkout .checkout-form-grid input[type="text"],
body.arsin-checkout .checkout-form-grid input[type="tel"],
body.arsin-checkout .checkout-form-grid input[type="email"],
body.arsin-checkout .checkout-form-grid select,
body.arsin-checkout .checkout-form-grid textarea,
body.arsin-checkout .woocommerce-additional-fields__field-wrapper textarea,
body.arsin-checkout .woocommerce-additional-fields__field-wrapper input,
body.arsin-checkout .woocommerce-billing-fields .city_select,
body.arsin-checkout .woocommerce-shipping-fields .city_select,
body.arsin-checkout .woocommerce-billing-fields select.state_select,
body.arsin-checkout .woocommerce-shipping-fields select.state_select {
  min-height: 42px;
  border-color: var(--arsin-doc-line);
  border-radius: 8px;
  background: #fff;
}

body.arsin-checkout .checkout-form-grid input:focus,
body.arsin-checkout .checkout-form-grid select:focus,
body.arsin-checkout .checkout-form-grid textarea:focus,
body.arsin-checkout .woocommerce-additional-fields__field-wrapper textarea:focus {
  border-color: rgb(164 0 0 / 34%);
  box-shadow: 0 0 0 3px rgb(164 0 0 / 7%);
}

body.arsin-checkout .checkout-items {
  border-color: var(--arsin-doc-line);
  border-radius: 8px;
  background: #fff;
}

body.arsin-checkout .checkout-item {
  min-height: 78px;
  padding: 10px 12px;
}

body.arsin-checkout .checkout-item__name {
  color: var(--arsin-doc-ink);
  font-weight: 800;
}

body.arsin-checkout .checkout-item__total {
  color: var(--arsin-doc-red);
}

body.arsin-checkout #order_review #shipping_method li,
body.arsin-checkout #payment .payment_methods li,
body.arsin-checkout #payment .wc_payment_method {
  border-color: var(--arsin-doc-line);
  border-radius: 8px;
  background: #fff;
}

body.arsin-checkout #order_review #shipping_method li:has(input:checked),
body.arsin-checkout #payment .payment_methods li:has(input:checked),
body.arsin-checkout #payment .wc_payment_method:has(input:checked) {
  border-color: rgb(164 0 0 / 30%);
  background: var(--arsin-doc-red-soft);
}

body.arsin-checkout #order_review #payment .payment_methods li label,
body.arsin-checkout #order_review #payment .wc_payment_method > label {
  height: 52px;
  min-height: 52px;
}

body.arsin-checkout #payment .woocommerce-terms-and-conditions-wrapper,
body.arsin-checkout #payment .woocommerce-privacy-policy-text {
  color: var(--arsin-doc-muted);
}

body.arsin-cart .cart-sidebar .order-box .wc-trust,
body.arsin-cart .cart-sidebar .cart_totals .wc-trust {
  border-top-color: var(--arsin-doc-line);
}

body.arsin-cart .cart-sidebar .order-box .wc-trust__item,
body.arsin-cart .cart-sidebar .cart_totals .wc-trust__item {
  padding: 9px 0;
}

@media (max-width: 760px) {
  body.arsin-cart .section--cart,
  body.arsin-checkout .section--checkout,
  body.arsin-checkout-blocks .section--checkout {
    padding-block: 12px 24px;
  }

  body.arsin-cart .cart-section-head,
  body.arsin-checkout .checkout-section-head,
  body.arsin-checkout-blocks .checkout-section-head,
  body.arsin-checkout .checkout-progress,
  body.arsin-checkout-blocks .checkout-progress,
  body.arsin-checkout .checkout-panel,
  body.arsin-checkout .checkout-sidebar.panel,
  body.arsin-cart .cart-sidebar .order-box,
  body.arsin-cart .cart-sidebar .cart_totals.order-box {
    border-radius: 8px;
  }

  body.arsin-checkout .checkout-progress__list,
  body.arsin-checkout-blocks .checkout-progress__list {
    gap: 6px;
  }

  body.arsin-checkout .checkout-progress__step,
  body.arsin-checkout-blocks .checkout-progress__step {
    min-height: 50px;
    padding: 8px 6px;
  }

  body.arsin-cart .cart-table thead {
    display: none;
  }

  body.arsin-cart .cart-table-wrap,
  body.arsin-cart .cart-table-wrap > table.cart,
  body.arsin-cart .cart-table-wrap > table.shop_table,
  body.arsin-cart .cart-table-wrap > table.cart-table {
    width: 100%;
    min-width: 0;
  }

  body.arsin-cart .cart-table-wrap {
    overflow: hidden;
  }

  body.arsin-cart .cart-table,
  body.arsin-cart .cart-table tbody {
    display: block;
  }

  body.arsin-cart .cart-table tbody tr.cart_item {
    display: grid;
    grid-template-columns: 34px 66px minmax(0, 1fr);
    gap: 0;
    width: 100%;
    min-width: 0;
    padding: 10px;
    border-bottom: 1px solid var(--arsin-doc-line);
    background: #fff;
  }

  body.arsin-cart .cart-table tbody tr.cart_item td {
    display: block;
    width: 100%;
    min-width: 0;
    padding: 4px 6px;
    border-bottom: 0;
    background: transparent;
  }

  body.arsin-cart .cart-table tbody tr.cart_item .product-remove {
    grid-row: 1 / span 3;
    grid-column: 1;
  }

  body.arsin-cart .cart-table tbody tr.cart_item .product-thumbnail {
    grid-row: 1 / span 3;
    grid-column: 2;
  }

  body.arsin-cart .cart-table tbody tr.cart_item .product-name,
  body.arsin-cart .cart-table tbody tr.cart_item .product-price,
  body.arsin-cart .cart-table tbody tr.cart_item .product-quantity,
  body.arsin-cart .cart-table tbody tr.cart_item .product-subtotal {
    grid-column: 3;
  }

  body.arsin-cart .cart-actions-row,
  body.arsin-cart .cart-actions-row .coupon,
  body.arsin-cart .cart-actions-buttons {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }
}


/* ��� Order received / thank-you ��� */

body.arsin-order-received .section--thankyou .section-head {
  display: none;
}

body.arsin-order-received .order-received {
  max-width: none;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  text-align: right;
  float: none !important;
  width: auto !important;
}

body.arsin-order-received .order-received::before,
body.arsin-order-received .order-received::after,
body.arsin-order-received .woocommerce-order-overview::before,
body.arsin-order-received .woocommerce-order-overview::after,
body.arsin-order-received .order_details::before,
body.arsin-order-received .order_details::after {
  content: none !important;
  display: none !important;
}

body.arsin-order-received .order-received__hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px 24px;
  margin: 0 0 18px;
  padding: 22px 22px 20px;
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 4px solid var(--success);
  border-radius: var(--radius);
  text-align: right;
}

body.arsin-order-received .order-received__hero--failed {
  border-top-color: var(--danger, #c0392b);
}

body.arsin-order-received .order-received__hero-copy {
  display: grid;
  justify-items: start;
  gap: 10px;
  min-width: 0;
}

body.arsin-order-received .order-received__hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  align-items: center;
}

body.arsin-order-received .order-received__hero-actions .btn {
  width: auto;
  min-width: 0;
  justify-content: center;
}

body.arsin-order-received .order-received__hero-actions .btn:not(.btn--outline):not(.btn--quiet) {
  background: var(--brand);
  color: var(--white);
  border-color: transparent;
}

body.arsin-order-received .order-received__icon {
  display: inline-grid;
  place-items: center;
  width: 56px;
  height: 56px;
  background: #eef9f5;
  color: var(--success);
  border-radius: 50%;
}

body.arsin-order-received .order-received__icon .icon,
body.arsin-order-received .order-received__icon .material-symbols-outlined {
  font-size: 32px;
  line-height: 1;
  color: inherit;
}

body.arsin-order-received .order-received__icon--error {
  background: #fdeeee;
  color: var(--danger, #c0392b);
}

body.arsin-order-received .order-received__title {
  margin: 0;
  font-size: var(--fs-page);
  font-weight: 800;
  color: var(--ink);
}

body.arsin-order-received .order-received__order-no {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 6px 12px;
  background: var(--soft-2);
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 700;
}

body.arsin-order-received .order-received__order-no-label {
  color: var(--muted);
  font-weight: 600;
}

body.arsin-order-received .order-received__order-no-value {
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
}

body.arsin-order-received .order-received__lead {
  margin: 0;
  max-width: 40em;
  color: var(--muted);
  font-size: var(--fs-ui);
  font-weight: 600;
  line-height: 1.7;
}

body.arsin-order-received .order-overview-grid {
  margin: 0 0 14px;
  padding: 16px;
  text-align: right;
  float: none !important;
  width: auto !important;
  list-style: none;
}

body.arsin-order-received .order-overview-grid__head {
  margin: 0 0 12px;
}

body.arsin-order-received .order-overview-grid__title,
body.arsin-order-received .account-order-stepper__title,
body.arsin-order-received .account-order-actions-panel__title,
body.arsin-order-received .woocommerce-order-details__title,
body.arsin-order-received .order-received-addresses__title,
body.arsin-order-received .order-received-next__title,
body.arsin-order-received .order-received-sales__title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 16px;
  font-weight: 800;
}

body.arsin-order-received .order-overview-grid__list,
body.arsin-order-received .order-overview-grid--thankyou .order-overview-grid__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.arsin-order-received .order-overview-card {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 12px 14px;
  background: var(--soft-2);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  float: none !important;
  width: auto !important;
  border-right: 1px solid var(--line) !important;
  padding-right: 14px !important;
  padding-left: 14px !important;
}

body.arsin-order-received .order-overview-card__label {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
}

body.arsin-order-received .order-overview-card__icon {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--white);
  color: var(--brand);
}

body.arsin-order-received .order-overview-card__icon .icon,
body.arsin-order-received .order-overview-card__icon .material-symbols-outlined {
  font-size: 16px;
}

body.arsin-order-received .order-overview-card__value {
  margin: 0;
  color: var(--ink);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.5;
}

body.arsin-order-received .order-overview-card--total .order-overview-card__value strong,
body.arsin-order-received .order-overview-card--payment .order-overview-card__value strong,
body.arsin-order-received .order-overview-card--shipping .order-overview-card__value strong {
  color: var(--brand);
}

body.arsin-order-received ul.woocommerce-order-overview {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
  float: none !important;
  width: 100% !important;
}

body.arsin-order-received ul.woocommerce-order-overview > li {
  display: grid !important;
  gap: 4px;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  background: var(--soft-2);
  border: 1px solid var(--line) !important;
  border-radius: var(--radius);
  text-align: right;
  color: var(--muted);
  font-size: 12px;
}

body.arsin-order-received .order-received__notice {
  margin: 0 0 14px;
  text-align: right;
  align-items: flex-start;
}

body.arsin-order-received .order-received__notice-body {
  display: grid;
  gap: 10px;
  min-width: 0;
}

body.arsin-order-received .order-received__notice-body p {
  margin: 0;
}

body.arsin-order-received .order-received__notice-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

body.arsin-order-received .order-received-next {
  margin: 0;
  padding: 16px;
}

body.arsin-order-received .order-received-next__head {
  margin: 0 0 12px;
}

body.arsin-order-received .order-received-next__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
  counter-reset: arsin-next;
}

body.arsin-order-received .order-received-next__list li {
  position: relative;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  margin: 0;
  padding: 10px 12px;
  background: var(--soft-2);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--ink);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.6;
  counter-increment: arsin-next;
}

body.arsin-order-received .order-received-next__list li::before {
  content: counter(arsin-next);
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--brand-soft);
  color: var(--brand);
  font-size: 12px;
  font-weight: 800;
}

body.arsin-order-received .order-received-secondary {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
  gap: 14px;
  margin: 0 0 14px;
  align-items: stretch;
}

body.arsin-order-received .order-received-sales {
  display: grid;
  gap: 14px;
  align-content: start;
  margin: 0;
  padding: 16px;
}

body.arsin-order-received .order-received-sales__title,
body.arsin-order-received .order-received-next__title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 16px;
  font-weight: 800;
}

body.arsin-order-received .order-received-sales__text {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.7;
}

body.arsin-order-received .order-received-sales__call {
  justify-self: start;
  width: auto;
}

body.arsin-order-received .account-order-timeline,
body.arsin-order-received .account-order-stepper {
  margin: 0 0 14px;
  padding: 16px;
  text-align: right;
}

body.arsin-order-received .account-order-stepper__head {
  margin: 0 0 14px;
}

body.arsin-order-received .account-order-stepper__lead {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.6;
}

body.arsin-order-received .account-order-stepper__track {
  display: flex;
  flex-direction: row;
  gap: 0;
  margin: 0;
  padding: 8px 0 0;
  list-style: none;
}

body.arsin-order-received .account-order-stepper__step {
  position: relative;
  flex: 1;
  min-width: 0;
  display: grid;
  justify-items: center;
  gap: 8px;
  padding: 0 8px;
  text-align: center;
}

body.arsin-order-received .account-order-stepper__step:not(:last-child)::before {
  content: "";
  position: absolute;
  top: 20px;
  inset-inline-start: calc(50% + 20px);
  width: calc(100% - 40px);
  height: 2px;
  background: var(--line);
  z-index: 0;
}

body.arsin-order-received .account-order-timeline__item--done:not(:last-child)::before {
  background: var(--brand-line-strong);
}

body.arsin-order-received .account-order-stepper__marker,
body.arsin-order-received .account-order-timeline__icon {
  position: relative;
  z-index: 1;
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--soft-2);
  color: var(--muted);
  border: 2px solid var(--line);
}

body.arsin-order-received .account-order-timeline__item--done .account-order-stepper__marker,
body.arsin-order-received .account-order-timeline__item--done .account-order-timeline__icon {
  background: var(--brand-soft);
  color: var(--brand);
  border-color: var(--brand-line-strong);
}

body.arsin-order-received .account-order-timeline__item--current .account-order-stepper__marker,
body.arsin-order-received .account-order-timeline__item--current .account-order-timeline__icon {
  background: var(--brand);
  color: var(--white);
  border-color: var(--brand);
  box-shadow: 0 0 0 4px var(--brand-soft);
}

body.arsin-order-received .account-order-stepper__content,
body.arsin-order-received .account-order-timeline__body {
  display: grid;
  gap: 2px;
  min-width: 0;
}

body.arsin-order-received .account-order-stepper__label,
body.arsin-order-received .account-order-timeline__body strong {
  font-size: 12px;
  color: var(--ink);
}

body.arsin-order-received .account-order-stepper__date,
body.arsin-order-received .account-order-timeline__date {
  font-size: 11px;
  color: var(--muted);
}

body.arsin-order-received .order-received-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  margin: 0 0 16px;
  text-align: right;
}

body.arsin-order-received .order-received-grid--details-only {
  margin-bottom: 0;
}

body.arsin-order-received .order-received-grid .panel,
body.arsin-order-received .order-received-grid .woocommerce-order-details {
  margin: 0;
  padding: 16px;
}

body.arsin-order-received .order-received-addresses__title,
body.arsin-order-received .woocommerce-order-details__title {
  margin: 0 0 12px;
}

body.arsin-order-received .order-received-addresses__sub {
  margin: 14px 0 6px;
  font-size: 13px;
  font-weight: 800;
  color: var(--ink);
}

body.arsin-order-received .order-received-addresses__sub:first-of-type {
  margin-top: 0;
}

body.arsin-order-received .order-received address {
  margin: 0;
  color: var(--muted);
  font-style: normal;
  line-height: 1.8;
  font-size: 13px;
  direction: rtl;
  text-align: right;
  unicode-bidi: plaintext;
}

body.arsin-order-received .order-received-note {
  margin: 14px 0 0;
  padding-top: 12px;
  border-top: 1px dashed var(--line);
  color: var(--muted);
  font-size: 13px;
}

body.arsin-order-received .woocommerce-order-details .summary-list,
body.arsin-order-received .woocommerce-order-details .shop_table {
  width: 100% !important;
  margin: 0;
  border-collapse: collapse;
  table-layout: auto;
  float: none !important;
}

body.arsin-order-received .woocommerce-order-details .summary-list th,
body.arsin-order-received .woocommerce-order-details .summary-list td,
body.arsin-order-received .woocommerce-order-details .shop_table th,
body.arsin-order-received .woocommerce-order-details .shop_table td {
  padding: 10px 8px;
  border-bottom: 1px solid var(--line);
  text-align: right;
  vertical-align: top;
  float: none !important;
  width: auto !important;
  display: table-cell !important;
}

body.arsin-order-received .woocommerce-order-details .summary-list thead th,
body.arsin-order-received .woocommerce-order-details .shop_table thead th {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  background: transparent;
}

body.arsin-order-received .woocommerce-order-details .summary-list .product-name,
body.arsin-order-received .woocommerce-order-details .shop_table .product-name {
  width: 70%;
}

body.arsin-order-received .woocommerce-order-details .summary-list .product-total,
body.arsin-order-received .woocommerce-order-details .shop_table .product-total {
  width: 30%;
  white-space: nowrap;
}

body.arsin-order-received .woocommerce-order-details .summary-list tfoot th,
body.arsin-order-received .woocommerce-order-details .shop_table tfoot th {
  color: var(--muted);
  font-weight: 600;
  width: 40%;
}

body.arsin-order-received .woocommerce-order-details .summary-list tfoot td,
body.arsin-order-received .woocommerce-order-details .shop_table tfoot td {
  font-weight: 700;
  text-align: left;
  white-space: nowrap;
}

body.arsin-order-received .woocommerce-order-details .summary-list tfoot tr,
body.arsin-order-received .woocommerce-order-details .shop_table tfoot tr {
  display: table-row !important;
}

body.arsin-order-received .woocommerce-order-details .summary-list tfoot tr:last-child th,
body.arsin-order-received .woocommerce-order-details .summary-list tfoot tr:last-child td,
body.arsin-order-received .woocommerce-order-details .shop_table tfoot tr:last-child th,
body.arsin-order-received .woocommerce-order-details .shop_table tfoot tr:last-child td {
  border-bottom: 0;
  color: var(--ink);
  font-size: 15px;
  font-weight: 800;
}

body.arsin-order-received .order-received-docs {
  margin: 14px 0 0;
  padding: 16px;
}

body.arsin-order-received .asc-order-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-start;
  margin: 0;
}

body.arsin-order-received .asc-order-actions .btn:not(.btn--outline):not(.btn--quiet),
body.arsin-order-received .asc-order-actions .button:not(.btn--outline):not(.asc-warranty-disabled) {
  background: var(--brand);
  color: var(--white);
  border-color: transparent;
}

body.arsin-order-received .asc-warranty-disabled {
  opacity: 0.6;
  cursor: not-allowed;
  pointer-events: none;
}

body.arsin-order-received .asc-warranty-notice {
  flex: 1 1 100%;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  text-align: right;
}

body.arsin-order-received .wc-trust {
  margin: 16px 0 0;
}

body.arsin-order-received .woocommerce-thankyou-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin: 4px 0 0;
}

body.arsin-order-received .woocommerce-thankyou-actions .btn:not(.btn--outline):not(.btn--quiet),
body.arsin-order-received .woocommerce-thankyou-order-failed-actions .btn:not(.btn--outline) {
  background: var(--brand);
  color: var(--white);
  border-color: transparent;
}

body.arsin-order-received .woocommerce-thankyou-actions .btn:not(.btn--outline):not(.btn--quiet):hover,
body.arsin-order-received .woocommerce-thankyou-order-failed-actions .btn:not(.btn--outline):hover {
  background: var(--brand-2);
  color: var(--white);
}

body.arsin-order-received .woocommerce-thankyou-order-failed-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}

body.arsin-order-received .woocommerce-thankyou-order-received {
  margin: 0 0 16px;
  padding: 12px 14px;
  background: var(--soft-2);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--ink);
  font-weight: 700;
  text-align: right;
}

body.arsin-order-received .woocommerce-thankyou-order-received a {
  color: var(--brand);
  font-weight: 800;
}

body.arsin-order-received .woocommerce-order > .woocommerce-bacs-bank-details,
body.arsin-order-received .woocommerce-order > p.order-again {
  margin-top: 16px;
  text-align: right;
}

/* COD / gateway thankyou dump after CTAs � mute as footnote */
body.arsin-order-received .woocommerce-order > p:not([class]) {
  margin: 12px 0 0;
  padding: 10px 12px;
  background: var(--soft-2);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--muted);
  font-size: 12px;
  text-align: right;
}

body.arsin-order-received .woocommerce-thankyou-actions .btn,
body.arsin-order-received .woocommerce-thankyou-actions .button {
  width: auto;
  min-width: 160px;
  justify-content: center;
}

/* v0.3.147 � cohesive receipt layout */
body.arsin-order-received .order-received {
  display: grid;
  gap: 14px;
}

body.arsin-order-received .order-received-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.42fr);
  gap: 14px;
  align-items: stretch;
}

body.arsin-order-received .order-received__hero {
  min-height: auto;
  margin: 0;
  padding: 18px;
  border-top-width: 3px;
}

body.arsin-order-received .order-received__hero-copy {
  grid-template-columns: 56px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}

body.arsin-order-received .order-received__hero-text {
  display: grid;
  gap: 6px;
  min-width: 0;
}

body.arsin-order-received .order-received__title {
  font-size: 22px;
  line-height: 1.5;
}

body.arsin-order-received .order-received__lead {
  max-width: none;
  font-size: 14px;
}

body.arsin-order-received .order-received__hero-actions {
  align-self: end;
  justify-content: flex-end;
  gap: 8px;
}

body.arsin-order-received .order-received__hero-actions .btn {
  min-height: 38px;
  padding-inline: 12px;
}

body.arsin-order-received .order-received__notice {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  height: 100%;
  margin: 0;
  padding: 16px;
  background: #f1f7fb;
  border-color: #c9ddeb;
  color: var(--info);
}

body.arsin-order-received .order-received__notice > .icon,
body.arsin-order-received .order-received__notice > .material-symbols-outlined {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  background: var(--white);
  border: 1px solid #c9ddeb;
  border-radius: var(--radius);
  color: inherit;
  font-size: 24px;
}

body.arsin-order-received .order-received__notice-body {
  gap: 6px;
}

body.arsin-order-received .order-received__notice-body strong {
  color: var(--ink);
  font-size: 15px;
  font-weight: 800;
}

body.arsin-order-received .order-received__notice-body p {
  color: var(--ink-soft);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.7;
}

body.arsin-order-received .order-received__notice-actions {
  margin-top: 4px;
}

body.arsin-order-received .order-overview-grid {
  margin: 0;
  padding: 16px;
}

body.arsin-order-received .order-overview-grid__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}

body.arsin-order-received .order-overview-grid--thankyou .order-overview-grid__list {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

body.arsin-order-received .order-overview-card {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 8px 10px;
  min-height: 72px;
  padding: 10px 12px !important;
  background: var(--white);
}

body.arsin-order-received .order-overview-card__label {
  grid-column: 2;
  grid-row: 1;
  font-size: 11px;
}

body.arsin-order-received .order-overview-card__icon {
  grid-column: 1;
  grid-row: 1 / span 2;
  width: 34px;
  height: 34px;
  background: var(--brand-soft);
  border: 1px solid var(--brand-line);
}

body.arsin-order-received .order-overview-card__icon .icon,
body.arsin-order-received .order-overview-card__icon .material-symbols-outlined {
  font-size: 20px;
}

body.arsin-order-received .order-overview-card__value {
  grid-column: 2;
  grid-row: 2;
  overflow: hidden;
  font-size: 13px;
  text-overflow: ellipsis;
}

body.arsin-order-received .order-received-secondary {
  margin: 0;
}

body.arsin-order-received .order-received-next,
body.arsin-order-received .order-received-sales,
body.arsin-order-received .account-order-timeline,
body.arsin-order-received .account-order-stepper,
body.arsin-order-received .woocommerce-order-details,
body.arsin-order-received .order-received-docs {
  border-color: var(--line);
}

body.arsin-order-received .order-received-sales {
  grid-template-rows: 1fr auto;
}

body.arsin-order-received .order-received-sales__call {
  justify-self: stretch;
  justify-content: center;
}

body.arsin-order-received .order-received-grid {
  margin: 0;
}

body.arsin-order-received .woocommerce-order-details {
  overflow: hidden;
}

body.arsin-order-received .woocommerce-order-details__title {
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}

body.arsin-order-received .woocommerce-order-details .summary-list,
body.arsin-order-received .woocommerce-order-details .shop_table {
  display: grid;
  gap: 12px;
  border-collapse: separate;
  border-spacing: 0;
}

body.arsin-order-received .woocommerce-order-details .summary-list thead,
body.arsin-order-received .woocommerce-order-details .shop_table thead {
  display: none;
}

body.arsin-order-received .woocommerce-order-details .summary-list tbody,
body.arsin-order-received .woocommerce-order-details .shop_table tbody {
  display: grid;
  gap: 8px;
}

body.arsin-order-received .woocommerce-order-details .summary-list tbody tr,
body.arsin-order-received .woocommerce-order-details .shop_table tbody tr {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(160px, auto);
  gap: 12px;
  align-items: center;
  padding: 12px;
  background: var(--soft-2);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

body.arsin-order-received .woocommerce-order-details .summary-list tbody th,
body.arsin-order-received .woocommerce-order-details .summary-list tbody td,
body.arsin-order-received .woocommerce-order-details .shop_table tbody th,
body.arsin-order-received .woocommerce-order-details .shop_table tbody td {
  display: block !important;
  width: auto !important;
  padding: 0;
  border: 0;
}

body.arsin-order-received .woocommerce-order-details .summary-list tbody .product-name,
body.arsin-order-received .woocommerce-order-details .shop_table tbody .product-name {
  color: var(--ink);
  font-weight: 700;
  line-height: 1.8;
}

body.arsin-order-received .woocommerce-order-details .summary-list tbody .product-total,
body.arsin-order-received .woocommerce-order-details .shop_table tbody .product-total {
  color: var(--brand);
  font-weight: 800;
  text-align: left;
  white-space: nowrap;
}

body.arsin-order-received .woocommerce-order-details .summary-list tfoot,
body.arsin-order-received .woocommerce-order-details .shop_table tfoot {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

body.arsin-order-received .woocommerce-order-details .summary-list tfoot tr,
body.arsin-order-received .woocommerce-order-details .shop_table tfoot tr {
  display: grid !important;
  gap: 4px;
  min-height: 76px;
  padding: 10px 12px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

body.arsin-order-received .woocommerce-order-details .summary-list tfoot th,
body.arsin-order-received .woocommerce-order-details .summary-list tfoot td,
body.arsin-order-received .woocommerce-order-details .shop_table tfoot th,
body.arsin-order-received .woocommerce-order-details .shop_table tfoot td {
  display: block !important;
  width: auto !important;
  padding: 0;
  border: 0;
  text-align: right;
}

body.arsin-order-received .woocommerce-order-details .summary-list tfoot th,
body.arsin-order-received .woocommerce-order-details .shop_table tfoot th {
  color: var(--muted);
  font-size: 12px;
}

body.arsin-order-received .woocommerce-order-details .summary-list tfoot td,
body.arsin-order-received .woocommerce-order-details .shop_table tfoot td {
  color: var(--ink);
  font-size: 14px;
  font-weight: 800;
  white-space: normal;
}

body.arsin-order-received .woocommerce-order-details .summary-list tfoot tr:last-child,
body.arsin-order-received .woocommerce-order-details .shop_table tfoot tr:last-child {
  background: var(--brand-soft);
  border-color: var(--brand-line-strong);
}

body.arsin-order-received .woocommerce-order-details .summary-list tfoot tr:last-child th,
body.arsin-order-received .woocommerce-order-details .summary-list tfoot tr:last-child td,
body.arsin-order-received .woocommerce-order-details .shop_table tfoot tr:last-child th,
body.arsin-order-received .woocommerce-order-details .shop_table tfoot tr:last-child td {
  color: var(--brand);
}

@media (max-width: 960px) {
  .cart-sidebar .cart_totals {
    position: static;
  }

  body.arsin-checkout .checkout-sidebar {
    position: static;
  }

  body.arsin-order-received .order-overview-grid__list,
  body.arsin-order-received .order-overview-grid--thankyou .order-overview-grid__list,
  body.arsin-order-received ul.woocommerce-order-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.arsin-order-received .order-received-top {
    grid-template-columns: 1fr;
  }

  body.arsin-order-received .order-received__hero {
    grid-template-columns: minmax(0, 1fr);
  }

  body.arsin-order-received .order-received__hero-actions {
    justify-content: flex-start;
  }

  body.arsin-order-received .order-received-secondary {
    grid-template-columns: 1fr;
  }

  body.arsin-order-received .order-received-grid {
    grid-template-columns: 1fr;
  }

  body.arsin-order-received .account-order-stepper__track {
    display: grid;
    gap: 0;
    padding-top: 0;
  }

  body.arsin-order-received .account-order-stepper__step {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    align-items: start;
    justify-items: start;
    text-align: right;
    padding: 12px 0;
    border-bottom: 1px dashed var(--line);
  }

  body.arsin-order-received .account-order-stepper__step:last-child {
    border-bottom: 0;
  }

  body.arsin-order-received .account-order-stepper__step::before {
    display: none;
  }

  body.arsin-order-received .account-order-stepper__step:not(:last-child)::after {
    content: "";
    position: absolute;
    inset-inline-end: 19px;
    top: 48px;
    bottom: 0;
    width: 2px;
    background: var(--line);
    z-index: 0;
  }

  body.arsin-order-received .account-order-timeline__item--done:not(:last-child)::after {
    background: var(--brand-line-strong);
  }

  .cart-sidebar .order-box .summary-list.shop_table_responsive tr {
    display: grid;
    gap: 4px;
    padding: 8px 0;
    border-bottom: 1px solid var(--line);
  }

  .cart-sidebar .order-box .summary-list.shop_table_responsive th,
  .cart-sidebar .order-box .summary-list.shop_table_responsive td,
  body.arsin-cart .cart-sidebar .order-box .summary-list.shop_table_responsive tr.cart-subtotal th,
  body.arsin-cart .cart-sidebar .order-box .summary-list.shop_table_responsive tr.cart-subtotal td,
  body.arsin-cart .cart-sidebar .order-box .summary-list.shop_table_responsive tr.order-total th,
  body.arsin-cart .cart-sidebar .order-box .summary-list.shop_table_responsive tr.order-total td {
    display: block;
    width: 100%;
    padding: 6px 8px;
    border: 0;
    text-align: right;
  }

  .cart-sidebar .order-box .summary-list.shop_table_responsive td::before {
    content: none;
  }
}

@media (max-width: 1120px) {
  body.arsin-checkout .checkout-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  body.arsin-checkout .checkout-sidebar {
    position: static;
  }
}

@media (max-width: 760px) {
  body.arsin-checkout .checkout-section-head,
  body.arsin-checkout-blocks .checkout-section-head {
    margin-bottom: 10px;
    padding: 10px 12px;
  }

  body.arsin-checkout .checkout-section-head h2,
  body.arsin-checkout-blocks .checkout-section-head h2 {
    font-size: var(--fs-h2);
  }

  body.arsin-checkout .checkout-section-head .section-head__count,
  body.arsin-checkout-blocks .checkout-section-head .section-head__count {
    padding: 3px 8px;
    font-size: 11px;
  }

  body.arsin-checkout .checkout-progress,
  body.arsin-checkout-blocks .checkout-progress {
    margin-bottom: 12px;
    padding: 6px;
  }

  body.arsin-checkout .checkout-progress__step,
  body.arsin-checkout-blocks .checkout-progress__step {
    min-height: 46px;
    gap: 2px;
    padding: 6px 4px;
    font-size: 10.5px;
  }

  body.arsin-checkout .checkout-progress__index,
  body.arsin-checkout-blocks .checkout-progress__index {
    width: 20px;
    height: 20px;
    font-size: 10px;
  }

  body.arsin-checkout .checkout-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }

  body.arsin-checkout .checkout-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px 10px;
  }

  body.arsin-checkout .checkout-form-grid .form-row,
  body.arsin-checkout .checkout-form-grid .form-row-wide,
  body.arsin-checkout .checkout-form-grid #billing_company_field,
  body.arsin-checkout .checkout-form-grid #billing_organization_phone_field,
  body.arsin-checkout .checkout-form-grid #billing_state_field,
  body.arsin-checkout .checkout-form-grid #billing_city_field,
  body.arsin-checkout .checkout-form-grid #billing_postcode_field,
  body.arsin-checkout .checkout-form-grid #billing_phone_field,
  body.arsin-checkout .checkout-form-grid #shipping_state_field,
  body.arsin-checkout .checkout-form-grid #shipping_city_field,
  body.arsin-checkout .checkout-form-grid #shipping_postcode_field {
    grid-column: 1 / -1;
  }

  body.arsin-checkout .checkout-form-grid #billing_first_name_field,
  body.arsin-checkout .checkout-form-grid #shipping_first_name_field,
  body.arsin-checkout .checkout-form-grid #billing_company_field,
  body.arsin-checkout .checkout-form-grid #billing_postcode_field,
  body.arsin-checkout .checkout-form-grid #billing_state_field,
  body.arsin-checkout .checkout-form-grid #shipping_state_field {
    grid-column: 1;
  }

  body.arsin-checkout .checkout-form-grid #billing_last_name_field,
  body.arsin-checkout .checkout-form-grid #shipping_last_name_field,
  body.arsin-checkout .checkout-form-grid #billing_organization_phone_field,
  body.arsin-checkout .checkout-form-grid #billing_phone_field,
  body.arsin-checkout .checkout-form-grid #billing_city_field,
  body.arsin-checkout .checkout-form-grid #shipping_city_field {
    grid-column: 2;
  }

  body.arsin-checkout .checkout-panel {
    padding: 14px;
  }

  body.arsin-checkout .checkout-panel__title,
  body.arsin-checkout .checkout-sidebar__title {
    margin-bottom: 8px;
    padding-bottom: 8px;
    font-size: 16px;
  }

  body.arsin-checkout .checkout-panel__lead {
    margin-bottom: 11px;
    font-size: 11.5px;
    line-height: 1.65;
  }

  body.arsin-checkout .checkout-sidebar {
    order: 2;
  }

  body.arsin-checkout .checkout-main {
    order: 1;
  }

  body.arsin-checkout #payment .place-order {
    position: sticky;
    bottom: calc(var(--mobile-nav-height, 0px) + 8px);
    z-index: 40;
    margin: 0;
    padding: 10px 0 0;
    background: linear-gradient(180deg, rgb(255 255 255 / 0) 0%, var(--white) 28%);
  }

  body.arsin-checkout #place_order,
  body.arsin-checkout #payment #place_order {
    box-shadow: 0 -4px 20px rgb(0 0 0 / 8%);
  }

  body.arsin-order-received .order-received {
    padding: 0;
  }

  body.arsin-order-received .order-overview-grid__list,
  body.arsin-order-received .order-overview-grid--thankyou .order-overview-grid__list,
  body.arsin-order-received ul.woocommerce-order-overview {
    grid-template-columns: 1fr;
  }

  body.arsin-order-received .order-received__hero-actions {
    flex-direction: column;
    align-items: stretch;
  }

  body.arsin-order-received .order-received__hero-actions .btn,
  body.arsin-order-received .order-received__hero-actions .button {
    width: 100%;
  }

  body.arsin-order-received .woocommerce-thankyou-actions {
    flex-direction: column;
  }

  body.arsin-order-received .woocommerce-thankyou-actions .btn,
  body.arsin-order-received .woocommerce-thankyou-actions .button {
    width: 100%;
    justify-content: center;
  }

  body.arsin-order-received .woocommerce-order-details .summary-list,
  body.arsin-order-received .woocommerce-order-details .shop_table {
    table-layout: auto;
  }

  body.arsin-order-received .woocommerce-order-details .summary-list thead,
  body.arsin-order-received .woocommerce-order-details .shop_table thead {
    display: none;
  }

  body.arsin-order-received .woocommerce-order-details .summary-list tbody tr,
  body.arsin-order-received .woocommerce-order-details .shop_table tbody tr {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 12px;
  }

  body.arsin-order-received .woocommerce-order-details .summary-list tbody th,
  body.arsin-order-received .woocommerce-order-details .summary-list tbody td,
  body.arsin-order-received .woocommerce-order-details .shop_table tbody th,
  body.arsin-order-received .woocommerce-order-details .shop_table tbody td {
    display: block;
    width: 100% !important;
    border: 0;
    padding: 0;
  }

  body.arsin-order-received .woocommerce-order-details .summary-list tfoot tr,
  body.arsin-order-received .woocommerce-order-details .shop_table tfoot tr {
    display: grid !important;
    gap: 4px;
    padding: 10px 12px;
  }

  body.arsin-order-received .woocommerce-order-details .summary-list tfoot th,
  body.arsin-order-received .woocommerce-order-details .summary-list tfoot td,
  body.arsin-order-received .woocommerce-order-details .shop_table tfoot th,
  body.arsin-order-received .woocommerce-order-details .shop_table tfoot td {
    display: block;
    width: auto !important;
    border: 0;
    padding: 0;
  }

  body.arsin-order-received .woocommerce-order-details .summary-list tfoot,
  body.arsin-order-received .woocommerce-order-details .shop_table tfoot {
    grid-template-columns: 1fr;
  }
}

/* Order-pay — gateway retry / pending-order screen. */
body.woocommerce-order-pay .arsin-order-pay {
  max-width: 1120px;
  margin: 0 auto;
  text-align: start;
}

/* Hide generic page-shell placeholder lead if still rendered. */
body.woocommerce-order-pay .section-head > div > p,
body.woocommerce-order-pay .section--page > .container > .section-head p {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* Hide order-pay intro line (also removed from template). */
body.woocommerce-order-pay .arsin-order-pay__head p {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

body.woocommerce-order-pay .arsin-order-pay__head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 20px;
  text-align: start;
}

body.woocommerce-order-pay .arsin-order-pay__icon {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--brand-soft);
  color: var(--brand);
}

body.woocommerce-order-pay .arsin-order-pay__head h1,
body.woocommerce-order-pay .arsin-order-pay__summary h2,
body.woocommerce-order-pay .arsin-order-pay__payment h2 {
  margin: 0;
  text-align: start;
}

body.woocommerce-order-pay .arsin-order-pay__summary h2,
body.woocommerce-order-pay .arsin-order-pay__payment h2 {
  margin-bottom: 12px;
  font-size: 16px;
  font-weight: 800;
}

body.woocommerce-order-pay .arsin-order-pay__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr);
  align-items: start;
  gap: 20px;
}

body.woocommerce-order-pay .arsin-order-pay__summary,
body.woocommerce-order-pay .arsin-order-pay__payment {
  padding: 20px;
  text-align: start;
}

/* Customer definition list — never centered. */
body.woocommerce-order-pay .arsin-order-pay__customer {
  display: grid;
  gap: 10px;
  margin: 16px 0;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--brand-soft);
  text-align: start !important;
}

body.woocommerce-order-pay .arsin-order-pay__customer-row,
body.woocommerce-order-pay .arsin-order-pay__customer > div {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 6px 12px;
  align-items: start;
  justify-items: stretch;
  width: 100%;
  text-align: start !important;
}

body.woocommerce-order-pay .arsin-order-pay__customer dt {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.6;
  white-space: nowrap;
  text-align: start !important;
}

body.woocommerce-order-pay .arsin-order-pay__customer dd {
  margin: 0 !important;
  color: var(--ink);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.65;
  overflow-wrap: anywhere;
  word-break: break-word;
  text-align: start !important;
}

body.woocommerce-order-pay .arsin-order-pay__customer dd a {
  color: inherit;
  text-decoration: none;
}

body.woocommerce-order-pay .arsin-order-pay__table {
  width: 100%;
  border-collapse: collapse;
  text-align: start;
}

body.woocommerce-order-pay .arsin-order-pay__table th,
body.woocommerce-order-pay .arsin-order-pay__table td {
  padding: 10px 8px;
  border-bottom: 1px solid var(--line);
  vertical-align: top;
  text-align: start;
}

body.woocommerce-order-pay .arsin-order-pay__table .product-name {
  font-weight: 700;
  line-height: 1.55;
}

body.woocommerce-order-pay .arsin-order-pay__table .product-total,
body.woocommerce-order-pay .arsin-order-pay__table .product-subtotal,
body.woocommerce-order-pay .arsin-order-pay__table .product-quantity {
  text-align: left;
  white-space: nowrap;
}

body.woocommerce-order-pay .arsin-order-pay__table tfoot th {
  color: var(--muted);
  font-weight: 600;
  text-align: start;
}

body.woocommerce-order-pay .arsin-order-pay__table tfoot td {
  color: var(--ink);
  font-weight: 700;
}

/* Final total: same tone as sibling tfoot rows (no brand-red shout). */
body.woocommerce-order-pay .arsin-order-pay__table tfoot tr:last-child th,
body.woocommerce-order-pay .arsin-order-pay__table tfoot tr:last-child td {
  border-bottom: 0;
}

body.woocommerce-order-pay .arsin-order-pay__table tfoot tr:last-child th {
  color: var(--muted);
  font-weight: 600;
}

body.woocommerce-order-pay .arsin-order-pay__table tfoot tr:last-child td {
  color: var(--ink);
  font-weight: 800;
}

body.woocommerce-order-pay #payment {
  background: transparent;
}

body.woocommerce-order-pay #payment .payment_methods {
  display: grid;
  gap: 8px;
  margin: 16px 0;
  padding: 0;
  list-style: none;
}

body.woocommerce-order-pay #payment .payment_methods li {
  position: relative;
  margin: 0;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
}

body.woocommerce-order-pay #payment .payment_methods li:has(input:checked) {
  border-color: var(--brand-line-strong);
  background: var(--brand-soft);
}

body.woocommerce-order-pay #payment .payment_methods label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 12px 68px 12px 12px;
  min-height: 56px;
  cursor: pointer;
  line-height: 1.55;
  overflow-wrap: anywhere;
  text-align: start;
}

/* Relocated ZarinPal trust chip — square, aligned with label (kill footer min-height). */
body.woocommerce-order-pay #payment li.asc-zpal-host > #zarinpal,
body.woocommerce-order-pay #payment li.asc-zpal-host > .asc-zpal-trust-in-method,
body.woocommerce-order-pay #payment #zarinpal.asc-zpal-trust-in-method,
body.woocommerce-order-pay #payment .asc-zpal-trust-in-method.footer-badge {
  position: absolute !important;
  inset-inline-end: 12px !important;
  inset-inline-start: auto !important;
  top: 50% !important;
  right: auto;
  left: auto;
  z-index: 2;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  flex: 0 0 48px !important;
  width: 48px !important;
  max-width: 48px !important;
  height: 48px !important;
  min-height: 0 !important;
  max-height: 48px !important;
  margin: 0 !important;
  padding: 4px !important;
  transform: translateY(-50%) !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: var(--radius) !important;
  box-shadow: none !important;
  line-height: 0 !important;
  font-size: 0 !important;
  overflow: hidden !important;
}

body.woocommerce-order-pay #payment li.asc-zpal-host > #zarinpal a,
body.woocommerce-order-pay #payment li.asc-zpal-host > .asc-zpal-trust-in-method a,
body.woocommerce-order-pay #payment #zarinpal.asc-zpal-trust-in-method a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  line-height: 0 !important;
}

body.woocommerce-order-pay #payment li.asc-zpal-host > #zarinpal img,
body.woocommerce-order-pay #payment li.asc-zpal-host > .asc-zpal-trust-in-method img,
body.woocommerce-order-pay #payment #zarinpal.asc-zpal-trust-in-method img {
  display: block !important;
  width: auto !important;
  max-width: 38px !important;
  height: auto !important;
  max-height: 38px !important;
  object-fit: contain !important;
  border: 0 !important;
}

body.woocommerce-order-pay #payment .payment_box {
  margin: 0;
  padding: 0 12px 12px;
  background: transparent;
  color: var(--muted);
}

body.woocommerce-order-pay #payment .payment_box::before {
  display: none;
}

/* Hide redundant ZarinPal gateway blurb on order-pay. */
body.woocommerce-order-pay #payment .payment_box.payment_method_WC_ZPal,
body.woocommerce-order-pay #payment li.payment_method_WC_ZPal .payment_box {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Hide privacy/terms acceptance copy on order-pay (no space). */
body.woocommerce-order-pay .arsin-order-pay .woocommerce-terms-and-conditions-wrapper,
body.woocommerce-order-pay .arsin-order-pay .woocommerce-privacy-policy-text,
body.woocommerce-order-pay #payment .woocommerce-privacy-policy-text,
body.woocommerce-order-pay #payment .woocommerce-terms-and-conditions-wrapper {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

body.woocommerce-order-pay #payment .form-row {
  margin: 0;
  padding: 0;
}

body.woocommerce-order-pay #payment #place_order {
  width: 100%;
  min-height: 48px;
  margin-top: 4px;
  border: 0;
  border-radius: var(--radius);
  background: var(--brand);
  color: var(--white);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

@media (max-width: 760px) {
  body.woocommerce-order-pay .arsin-order-pay__head {
    gap: 12px;
    margin-bottom: 14px;
  }

  body.woocommerce-order-pay .arsin-order-pay__icon {
    width: 42px;
    height: 42px;
  }

  body.woocommerce-order-pay .arsin-order-pay__head h1 {
    font-size: 18px;
  }

  body.woocommerce-order-pay .arsin-order-pay__grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  body.woocommerce-order-pay .arsin-order-pay__summary,
  body.woocommerce-order-pay .arsin-order-pay__payment {
    padding: 14px;
  }

  body.woocommerce-order-pay .arsin-order-pay__summary h2,
  body.woocommerce-order-pay .arsin-order-pay__payment h2 {
    margin-bottom: 10px;
    font-size: 15px;
  }

  /* Label + value on one row (buyer, phone, address). */
  body.woocommerce-order-pay .arsin-order-pay__customer {
    gap: 10px;
    margin: 12px 0 14px;
    padding: 12px;
  }

  body.woocommerce-order-pay .arsin-order-pay__customer-row,
  body.woocommerce-order-pay .arsin-order-pay__customer > div {
    grid-template-columns: max-content minmax(0, 1fr) !important;
    gap: 6px 10px !important;
    align-items: start !important;
    justify-items: stretch !important;
  }

  body.woocommerce-order-pay .arsin-order-pay__customer dt,
  body.woocommerce-order-pay .arsin-order-pay__customer dd {
    width: auto;
    max-width: none;
    text-align: start !important;
  }

  body.woocommerce-order-pay .arsin-order-pay__customer dt {
    font-size: 12px;
  }

  body.woocommerce-order-pay .arsin-order-pay__customer dd {
    font-size: 13px;
    line-height: 1.65;
  }

  body.woocommerce-order-pay .arsin-order-pay__table,
  body.woocommerce-order-pay .arsin-order-pay__table tbody,
  body.woocommerce-order-pay .arsin-order-pay__table tfoot {
    display: block;
    width: 100%;
  }

  body.woocommerce-order-pay .arsin-order-pay__table thead {
    display: none;
  }

  /* Product: title full width; qty start + price end on second line. */
  body.woocommerce-order-pay .arsin-order-pay__table tbody tr {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "name name"
      "qty price";
    column-gap: 12px;
    row-gap: 8px;
    align-items: baseline;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 14px 12px;
    border-bottom: 1px solid var(--line);
    background: transparent;
  }

  body.woocommerce-order-pay .arsin-order-pay__table tbody td {
    display: block !important;
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
    text-align: start !important;
  }

  body.woocommerce-order-pay .arsin-order-pay__table tbody td.product-name {
    grid-area: name;
    font-size: 13.5px;
    font-weight: 700;
    line-height: 1.55;
    white-space: normal;
  }

  body.woocommerce-order-pay .arsin-order-pay__table tbody td.product-quantity {
    grid-area: qty;
    color: var(--muted);
    font-size: 12.5px;
    font-weight: 700;
    white-space: nowrap;
  }

  body.woocommerce-order-pay .arsin-order-pay__table tbody td.product-subtotal {
    grid-area: price;
    color: var(--ink);
    font-size: 13.5px;
    font-weight: 800;
    text-align: left !important;
    white-space: nowrap;
  }

  /* Totals: full-width row dividers + horizontal inset on mobile. */
  body.woocommerce-order-pay .arsin-order-pay__table tfoot tr {
    display: flex !important;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 12px 12px;
    border-bottom: 1px solid var(--line);
    background: transparent;
  }

  body.woocommerce-order-pay .arsin-order-pay__table tfoot tr:last-child {
    border-bottom: 0;
    margin-top: 0;
    padding: 12px 12px;
  }

  body.woocommerce-order-pay .arsin-order-pay__table tfoot th,
  body.woocommerce-order-pay .arsin-order-pay__table tfoot td {
    display: block !important;
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  body.woocommerce-order-pay .arsin-order-pay__table tfoot th {
    flex: 1 1 auto;
    min-width: 0;
    color: var(--muted);
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1.55;
    text-align: start !important;
    overflow-wrap: anywhere;
  }

  body.woocommerce-order-pay .arsin-order-pay__table tfoot td {
    flex: 0 0 auto;
    color: var(--ink);
    font-size: 13px;
    font-weight: 800;
    text-align: left !important;
    white-space: nowrap;
  }

  body.woocommerce-order-pay .arsin-order-pay__table tfoot tr:last-child th {
    color: var(--muted);
    font-size: 12.5px;
    font-weight: 600;
  }

  body.woocommerce-order-pay .arsin-order-pay__table tfoot tr:last-child td {
    color: var(--ink);
    font-size: 13px;
    font-weight: 800;
  }

  body.woocommerce-order-pay #payment .payment_methods {
    margin: 12px 0 14px;
  }

  body.woocommerce-order-pay #payment .payment_methods label {
    min-height: 52px;
    padding: 12px 62px 12px 12px;
    font-size: 13px;
  }

  body.woocommerce-order-pay #payment li.asc-zpal-host > #zarinpal,
  body.woocommerce-order-pay #payment li.asc-zpal-host > .asc-zpal-trust-in-method,
  body.woocommerce-order-pay #payment #zarinpal.asc-zpal-trust-in-method {
    width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    max-height: 44px !important;
    min-height: 0 !important;
  }

  body.woocommerce-order-pay #payment #place_order {
    min-height: 48px;
    font-size: 15px;
  }
}

/* Relocated ZarinPal trust badge: never use footer chip min-heights / white plate. */
#zarinpal.footer-badge.asc-zpal-trust-in-method,
#zarinpal.asc-zpal-trust-in-method.footer-badge,
.asc-zpal-host > #zarinpal.footer-badge,
.asc-zpal-host > .asc-zpal-trust-in-method.footer-badge {
  min-height: 0 !important;
  max-height: 48px !important;
  height: 48px !important;
  width: 48px !important;
  max-width: 48px !important;
  padding: 4px !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

@media (max-width: 360px) {
  body.arsin-checkout .checkout-form-grid #billing_first_name_field,
  body.arsin-checkout .checkout-form-grid #billing_last_name_field,
  body.arsin-checkout .checkout-form-grid #shipping_first_name_field,
  body.arsin-checkout .checkout-form-grid #shipping_last_name_field,
  body.arsin-checkout .checkout-form-grid #billing_company_field,
  body.arsin-checkout .checkout-form-grid #billing_organization_phone_field,
  body.arsin-checkout .checkout-form-grid #billing_state_field,
  body.arsin-checkout .checkout-form-grid #billing_city_field,
  body.arsin-checkout .checkout-form-grid #billing_postcode_field,
  body.arsin-checkout .checkout-form-grid #billing_phone_field {
    grid-column: 1 / -1;
  }
}

/* Cart mobile: form column → totals → related (DOM order; no display:contents). */
@media (max-width: 900px) {
  body.arsin-cart .wc-layout.woocommerce-cart {
    display: grid;
    grid-template-columns: 1fr;
  }

  body.arsin-cart .wc-layout.woocommerce-cart > .cart-main {
    display: grid;
    gap: inherit;
  }
}

@media (max-width: 760px) {
  body.arsin-cart .cart-related-products {
    margin-top: 14px;
    padding-top: 14px;
  }

  body.arsin-cart .cart-related-products .marquee-wrap,
  body.arsin-cart .cart-related-products .product-marquee {
    overflow: visible;
  }

  body.arsin-cart .cart-related-products .product-marquee__track {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    width: 100%;
    min-width: 0;
  }

  body.arsin-cart.asc-shop-mobile-cols-1 .cart-related-products .product-marquee__track {
    grid-template-columns: 1fr;
  }

  body.arsin-cart.asc-shop-mobile-cols-2 .cart-related-products .product-marquee__track {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.arsin-cart .cart-related-products .product-marquee__track > .product-card:nth-child(n + 5) {
    display: none;
  }

  body.arsin-cart .cart-related-products .product-card {
    display: flex;
    flex: 0 1 auto;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    height: 100%;
    min-height: 0;
  }

  body.arsin-cart .cart-related-products .product-card .product-card__image {
    min-height: 0;
    aspect-ratio: 1 / 1;
    padding: 8px;
  }

  body.arsin-cart .cart-related-products .product-card .product-card__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  body.arsin-cart .cart-related-products .product-card .product-card__content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 8px;
  }

  body.arsin-cart .cart-related-products .product-card .product-card__title {
    min-height: 0;
    margin: 0 0 6px;
    font-size: 13px;
    line-height: 1.55;
  }

  body.arsin-cart .cart-related-products .product-card .product-card__title a {
    display: -webkit-box;
    overflow: hidden;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  body.arsin-cart .cart-related-products .product-card .product-specs {
    display: none;
  }

  body.arsin-cart .cart-related-products .product-card .product-card__footer {
    gap: 8px;
    margin-top: 6px;
    padding-top: 8px;
  }

  body.arsin-cart .cart-related-products .product-card .product-card__footer {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  body.arsin-cart .cart-related-products .product-card .product-card__price-button {
    min-height: 38px;
    padding: 0 7px;
    border-radius: 8px;
    font-size: 11.5px;
    font-weight: 900;
  }

  body.arsin-cart .cart-related-products .product-card .product-card__price-button {
    background: var(--brand);
    border-color: var(--brand);
    color: var(--white);
  }
}

/* Cart demo parity — item / actions / totals match product-card-demo cart-demo. */
body.arsin-cart .section--cart {
  padding-block: var(--space-5) calc(var(--space-6) * 2);
  background: var(--page);
}

body.arsin-cart .cart-section-head {
  margin: 0 0 12px;
  padding: 16px 14px;
  overflow: hidden;
  border: 1px solid #e2e7ec;
  border-radius: var(--radius);
  background: linear-gradient(180deg, #fff 0%, #fbfcfd 100%);
  box-shadow: 0 8px 22px rgba(17, 24, 39, 0.05);
}

body.arsin-cart .cart-section-head .section-head__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
}

body.arsin-cart .cart-section-head h1 {
  margin: 0;
  color: #151515;
  font-size: var(--type-2xl);
  font-weight: 700;
  line-height: 1.45;
}

body.arsin-cart .cart-section-head .section-head__count {
  display: inline-flex;
  min-height: 32px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  border: 1px solid #ecc3c6;
  border-radius: 999px;
  background: #fff4f5;
  color: var(--brand);
  font-size: var(--type-xs);
  font-weight: 700;
  white-space: nowrap;
}

body.arsin-cart .cart-section-head__aside {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

body.arsin-cart .cart-section-head__continue {
  min-height: 32px;
  padding: 0 10px;
  font-size: var(--type-xs);
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

body.arsin-cart .cart-section-head__continue-arrow {
  display: inline-block;
  line-height: 1;
}

body.arsin-cart .section--cart > .container > .notice {
  margin: 0 0 12px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-inline-start: 3px solid var(--brand);
  border-radius: var(--radius);
  background: var(--white);
  box-shadow: none;
}

body.arsin-cart .wc-layout.woocommerce-cart {
  gap: 12px;
}

/* Related products are a direct layout child (after sidebar). */
body.arsin-cart .wc-layout.woocommerce-cart > .cart-related-products {
  grid-column: 1 / -1;
  min-width: 0;
}

body.arsin-cart .cart-main {
  gap: 12px;
}

body.arsin-cart .woocommerce-cart-form {
  display: grid;
  gap: 12px;
}

body.arsin-cart .cart-table-wrap {
  overflow: hidden;
  border: 1px solid #d8d8d8;
  border-radius: var(--radius);
  background: #fff;
  box-shadow: none;
  min-height: 0;
}

body.arsin-cart .cart-table-wrap > table.cart,
body.arsin-cart .cart-table-wrap > table.shop_table,
body.arsin-cart .cart-table-wrap > table.cart-table {
  width: 100%;
  margin: 0;
  border-collapse: separate;
  border-spacing: 0;
  background: transparent;
}

body.arsin-cart .cart-table thead {
  display: none;
}

body.arsin-cart .cart-table,
body.arsin-cart .cart-table tbody {
  display: block;
  width: 100%;
}

body.arsin-cart .cart-table tbody tr.cart_item {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 58px;
  column-gap: 10px;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #d8d8d8;
  background: #fff;
  direction: ltr;
  transition: background-color var(--ease);
}

body.arsin-cart .cart-table tbody tr.cart_item:last-of-type {
  border-bottom: 0;
}

body.arsin-cart .cart-table tbody tr.cart_item td {
  display: block;
  width: auto;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  vertical-align: middle;
  text-align: start;
}

body.arsin-cart .cart-table tbody tr.cart_item td::before {
  content: none !important;
}

body.arsin-cart .cart-table tbody tr.cart_item .product-remove {
  grid-column: 1;
  grid-row: 1;
  padding: 12px 0 12px 12px;
}

body.arsin-cart .cart-table tbody tr.cart_item .product-name {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  padding: 12px 0;
  color: #111;
  direction: rtl;
  font-size: var(--type-base);
  font-weight: 700;
  line-height: 1.7;
  text-align: right;
}

body.arsin-cart .cart-table tbody tr.cart_item .product-thumbnail {
  grid-column: 3;
  grid-row: 1;
  padding: 12px 12px 12px 0;
}

body.arsin-cart .cart-table tbody tr.cart_item .product-meta {
  grid-column: 1 / -1;
  grid-row: 2;
  padding: 0;
  border-top: 1px solid #e8edf2;
}

body.arsin-cart .cart-item-meta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  margin: 0;
  padding: 10px 12px;
  direction: rtl;
}

body.arsin-cart .cart-item-meta .product-quantity,
body.arsin-cart .cart-item-meta .product-subtotal {
  display: flex !important;
  grid-column: auto !important;
  grid-template-columns: none !important;
  align-items: center;
  gap: 8px;
  width: auto;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.arsin-cart .cart-item-meta .product-subtotal {
  justify-content: flex-end;
  white-space: nowrap;
}

body.arsin-cart .cart-item-title {
  color: inherit;
  font-weight: 700;
  text-decoration: none;
}

body.arsin-cart .cart-item-title:hover {
  color: var(--brand);
}

body.arsin-cart .cart-item-price {
  display: inline-flex;
  align-items: baseline;
  gap: 3px;
  margin-inline-start: 6px;
  color: var(--brand);
  font-size: var(--type-sm);
  font-weight: 700;
  white-space: nowrap;
}

body.arsin-cart .cart-item-price .product-card__price-stack--cart {
  display: inline-flex;
  flex-direction: row;
  align-items: baseline;
  gap: 6px;
  line-height: 1.2;
}

body.arsin-cart .cart-item-price .product-card__price-stack--cart del {
  color: #8a8a8a;
  font-size: var(--type-xs);
  font-weight: 500;
  text-decoration: line-through;
}

body.arsin-cart .cart-item-price .product-card__price-stack--cart del bdi::after {
  display: none;
}

body.arsin-cart .cart-item-price .product-card__price-stack--cart ins {
  color: var(--brand);
  font-size: var(--type-sm);
  font-weight: 700;
  text-decoration: none;
  background: transparent;
}

body.arsin-cart .cart-item-price.arsin-price--toman-icon ins bdi,
body.arsin-cart .cart-item-line-total.arsin-price--toman-icon bdi,
body.arsin-cart .cart_totals.arsin-price--toman-icon .amount bdi {
  font-size: var(--type-sm);
  font-weight: 700;
  padding-left: 18px;
}

body.arsin-cart .cart_totals.arsin-price--toman-icon tr.order-total .amount bdi {
  font-size: var(--type-base);
  font-weight: 800;
}

body.arsin-cart .cart-item-price .woocommerce-Price-currencySymbol,
body.arsin-cart .cart-item-price .amount + .woocommerce-Price-currencySymbol,
body.arsin-cart .cart-item-line-total .woocommerce-Price-currencySymbol,
body.arsin-cart .cart_totals .woocommerce-Price-currencySymbol {
  display: none !important;
}

body.arsin-cart .cart-cell-label {
  color: #69737d;
  font-size: var(--type-sm);
  font-weight: 500;
  white-space: nowrap;
}

body.arsin-cart .cart-cell-value {
  min-width: 0;
}

body.arsin-cart .cart-item-meta .cart-cell-label {
  display: inline;
}

body.arsin-cart .cart-item-line-total,
body.arsin-cart .cart-item-line-total .amount {
  color: var(--brand) !important;
  font-size: var(--type-base);
  font-weight: 700;
}

body.arsin-cart .product-thumbnail .cart-product-thumb,
body.arsin-cart .product-thumbnail .cart-product-thumb img {
  display: block;
  width: 58px;
  height: 58px;
}

body.arsin-cart .product-thumbnail .cart-product-thumb img {
  object-fit: contain;
  padding: 5px;
  border: 1px solid #dcdcdc;
  border-radius: 4px;
  background: #f5f3f4;
  mix-blend-mode: multiply;
}

body.arsin-cart .cart-table .remove-btn {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--brand-line-strong, rgb(174 17 28 / 28%));
  border-radius: var(--radius);
  background: var(--white);
  color: var(--brand);
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
}

body.arsin-cart .cart-table .remove-btn:hover {
  background: var(--brand-soft);
}

body.arsin-cart .product-quantity .qty-control {
  display: grid;
  width: 108px;
  height: 40px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  overflow: hidden;
  border: 1px solid #d1d8df;
  border-radius: var(--radius);
  background: #fff;
  direction: ltr;
}

body.arsin-cart .product-quantity .qty-control .quantity {
  display: contents;
}

body.arsin-cart .product-quantity .qty-control .quantity .screen-reader-text {
  display: none;
}

body.arsin-cart .product-quantity .qty-control button,
body.arsin-cart .product-quantity .qty-control .qty-control__btn,
body.arsin-cart .product-quantity .qty-control input.qty {
  display: inline-flex;
  width: 100%;
  min-width: 0;
  height: 100%;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border: 0;
  border-inline-start: 1px solid #d1d8df;
  border-radius: 0;
  background: #fff;
  color: #243142;
  font: inherit;
  font-size: var(--type-base);
  font-weight: 700;
  line-height: 1;
  appearance: none;
  -webkit-appearance: none;
}

body.arsin-cart .product-quantity .qty-control > :first-child {
  border-inline-start: 0;
}

body.arsin-cart .product-quantity .qty-control .qty-control__btn--minus {
  color: #8d98a3;
}

body.arsin-cart .cart-actions-row {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 10px;
  border: 1px solid #e2e7ec;
  border-radius: var(--radius);
  background: linear-gradient(180deg, #fff 0%, #fbfcfd 100%);
  box-shadow: 0 8px 22px rgba(17, 24, 39, 0.05);
}

body.arsin-cart .cart-actions-row .coupon {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
}

body.arsin-cart .cart-actions-row .coupon input {
  width: 100%;
  min-height: var(--control-height);
  padding: 0 var(--space-3);
  border: 1px solid #d5dbe1;
  border-radius: var(--radius);
  background: #fff;
  color: #243142;
  font: inherit;
  font-size: var(--type-base);
  text-align: right;
}

body.arsin-cart .cart-actions-row .coupon .mini-btn,
body.arsin-cart .cart-actions-buttons .mini-btn,
body.arsin-cart .cart-actions-buttons .cart-continue-button {
  display: inline-flex;
  min-height: var(--control-height);
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 0;
  padding: 0 12px;
  border-radius: var(--radius);
  font-size: var(--type-sm);
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

body.arsin-cart .cart-actions-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

body.arsin-cart .cart-actions-buttons .cart-update-button,
body.arsin-cart .cart-actions-buttons .cart-continue-button {
  flex: 1 1 calc(50% - 4px);
}

body.arsin-cart .cart-sidebar .order-box,
body.arsin-cart .cart-sidebar .cart_totals.order-box {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0 12px 12px;
  overflow: hidden;
  border: 1px solid #e2e7ec;
  border-radius: var(--radius);
  background: linear-gradient(180deg, #fff 0%, #fbfcfd 100%);
  box-shadow: 0 8px 22px rgba(17, 24, 39, 0.05);
}

body.arsin-cart .cart-totals-head,
body.arsin-cart .cart-sidebar .order-box h2 {
  display: flex;
  align-items: center;
  min-height: 64px;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #e1e1e1;
  color: #151515;
  font-size: var(--type-2xl);
  font-weight: 700;
}

body.arsin-cart .cart-sidebar .order-box .summary-list {
  display: table;
  width: 100%;
  margin: 14px 0 10px;
  overflow: hidden;
  border: 1px solid #e4e9ef;
  border-radius: var(--radius);
  background: #fff;
}

body.arsin-cart .cart-sidebar .order-box .summary-list th,
body.arsin-cart .cart-sidebar .order-box .summary-list td {
  padding: 12px;
  border-bottom: 1px solid #e8edf2;
  color: #69737d;
  font-size: var(--type-sm);
  font-weight: 500;
  vertical-align: middle;
}

body.arsin-cart .cart-sidebar .order-box .summary-list td {
  color: #111;
  text-align: left;
  font-size: var(--type-base);
  font-weight: 700;
  white-space: nowrap;
}

body.arsin-cart .cart-sidebar .order-box .summary-list tr:last-child th,
body.arsin-cart .cart-sidebar .order-box .summary-list tr:last-child td {
  border-bottom: 0;
}

body.arsin-cart .cart-sidebar .order-box .summary-list tr.order-total {
  background: #fff7f7;
}

body.arsin-cart .cart-sidebar .order-box .summary-list tr.order-total th,
body.arsin-cart .cart-sidebar .order-box .summary-list tr.order-total td {
  color: var(--brand);
  font-weight: 700;
}

body.arsin-cart .cart-sidebar .order-box .summary-list tr.order-total td {
  font-size: var(--type-lg);
}

body.arsin-cart .cart-shipping-hint {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  margin: 10px 0;
  padding: 10px 12px;
  border: 1px solid #e1e1e1;
  border-radius: var(--radius);
  background: #fff;
  color: #334155;
  font-size: var(--type-base);
  font-weight: 500;
  line-height: 1.8;
}

body.arsin-cart .cart-shipping-hint .icon,
body.arsin-cart .cart-shipping-hint .material-symbols-outlined {
  flex: 0 0 auto;
  color: var(--brand);
  font-size: 20px;
}

body.arsin-cart .cart-sidebar .wc-proceed-to-checkout {
  margin: 0;
  padding: 0;
}

body.arsin-cart .cart-sidebar .wc-proceed-to-checkout a.checkout-button {
  display: inline-flex;
  width: 100%;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 12px 16px;
  border: 0;
  border-radius: var(--radius);
  background: var(--brand) !important;
  box-shadow: none;
  color: #fff !important;
  font-size: var(--type-base);
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
}

body.arsin-cart .cart-sidebar .order-box .wc-trust,
body.arsin-cart .cart-sidebar .cart_totals .wc-trust {
  display: grid;
  gap: 18px;
  margin-top: 24px;
  padding-top: 0;
  border-top: 0;
}

body.arsin-cart .cart-sidebar .order-box .wc-trust__item,
body.arsin-cart .cart-sidebar .cart_totals .wc-trust__item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 0;
  background: transparent;
  border: 0;
}

body.arsin-cart .cart-sidebar .order-box .wc-trust__item .icon,
body.arsin-cart .cart-sidebar .order-box .wc-trust__item .material-symbols-outlined {
  flex: 0 0 auto;
  color: var(--brand);
  font-size: 20px;
}

body.arsin-cart .cart-sidebar .order-box .wc-trust__item b {
  display: block;
  margin-bottom: 6px;
  color: #20242a;
  font-size: var(--type-base);
  font-weight: 700;
}

body.arsin-cart .cart-sidebar .order-box .wc-trust__text {
  color: #69737d;
  font-size: var(--type-sm);
  font-weight: 500;
  line-height: 1.8;
}

body.arsin-cart .cart-related-products {
  margin-top: 8px;
  padding-top: var(--space-5);
  border-top: 1px solid var(--line);
}

body.arsin-cart .empty-state.woocommerce-cart-empty {
  display: grid;
  justify-items: center;
  gap: var(--space-3);
  max-width: 680px;
  margin-inline: auto;
  padding: calc(var(--space-6) * 2) var(--space-5);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--white);
  box-shadow: var(--shadow-soft);
  text-align: center;
}

body.arsin-cart .empty-state__icon {
  display: inline-grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--brand-soft);
  color: var(--brand);
}

body.arsin-cart .empty-state__icon .icon,
body.arsin-cart .empty-state__icon .material-symbols-outlined {
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  overflow: hidden;
  font-size: 30px;
  line-height: 1;
}

@media (max-width: 760px) {
  body.arsin-cart .section--cart {
    padding-block: 12px 24px;
  }

  body.arsin-cart .section--cart > .container > .notice {
    display: flex;
  }

  body.arsin-cart .cart-section-head__notice {
    display: none;
  }

  body.arsin-cart .cart-section-head .section-head__row {
    flex-wrap: wrap;
    align-items: flex-start;
  }

  body.arsin-cart .cart-section-head h1 {
    flex: 1 1 100%;
  }

  body.arsin-cart .cart-section-head__aside {
    flex: 1 1 100%;
    justify-content: space-between;
  }

  body.arsin-cart .cart-related-products .marquee-wrap,
  body.arsin-cart .cart-related-products .product-marquee {
    overflow: hidden;
  }

  body.arsin-cart .cart-related-products .product-marquee__track {
    display: flex;
    grid-template-columns: none;
    gap: var(--card-gap);
    width: max-content;
    min-width: max-content;
    animation: product-marquee-scroll var(--product-marquee-duration, 36s) linear infinite;
  }

  body.arsin-cart .cart-related-products .product-marquee__track > .product-card:nth-child(n + 5) {
    display: flex;
  }

  body.arsin-cart .cart-related-products .product-card {
    flex: 0 0 min(72vw, 250px);
    width: min(72vw, 250px);
    min-width: min(72vw, 250px);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.arsin-cart .cart-table tbody tr.cart_item,
  body.arsin-cart .cart-table .remove-btn {
    transition: none;
  }
}
/* Cart demo parity — item / actions / totals match product-card-demo cart-demo. */
body.arsin-cart .section--cart {
  padding-block: var(--space-5) calc(var(--space-6) * 2);
  background: var(--page);
}

body.arsin-cart .cart-section-head {
  margin: 0 0 12px;
  padding: 16px 14px;
  overflow: hidden;
  border: 1px solid #e2e7ec;
  border-radius: var(--radius);
  background: linear-gradient(180deg, #fff 0%, #fbfcfd 100%);
  box-shadow: 0 8px 22px rgba(17, 24, 39, 0.05);
}

body.arsin-cart .cart-section-head .section-head__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
}

body.arsin-cart .cart-section-head h1 {
  margin: 0;
  color: #151515;
  font-size: var(--type-2xl);
  font-weight: 700;
  line-height: 1.45;
}

body.arsin-cart .cart-section-head .section-head__count {
  display: inline-flex;
  min-height: 32px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  border: 1px solid #ecc3c6;
  border-radius: 999px;
  background: #fff4f5;
  color: var(--brand);
  font-size: var(--type-xs);
  font-weight: 700;
  white-space: nowrap;
}

body.arsin-cart .cart-section-head__aside {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

body.arsin-cart .cart-section-head__continue {
  min-height: 32px;
  padding: 0 10px;
  font-size: var(--type-xs);
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

body.arsin-cart .cart-section-head__continue-arrow {
  display: inline-block;
  line-height: 1;
}

body.arsin-cart .section--cart > .container > .notice {
  margin: 0 0 12px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-inline-start: 3px solid var(--brand);
  border-radius: var(--radius);
  background: var(--white);
  box-shadow: none;
}

body.arsin-cart .wc-layout.woocommerce-cart {
  gap: 12px;
}

/* Related products are a direct layout child (after sidebar). */
body.arsin-cart .wc-layout.woocommerce-cart > .cart-related-products {
  grid-column: 1 / -1;
  min-width: 0;
}

body.arsin-cart .cart-main {
  gap: 12px;
}

body.arsin-cart .woocommerce-cart-form {
  display: grid;
  gap: 12px;
}

body.arsin-cart .cart-table-wrap {
  overflow: hidden;
  border: 1px solid #d8d8d8;
  border-radius: var(--radius);
  background: #fff;
  box-shadow: none;
  min-height: 0;
}

body.arsin-cart .cart-table-wrap > table.cart,
body.arsin-cart .cart-table-wrap > table.shop_table,
body.arsin-cart .cart-table-wrap > table.cart-table {
  width: 100%;
  margin: 0;
  border-collapse: separate;
  border-spacing: 0;
  background: transparent;
}

body.arsin-cart .cart-table thead {
  display: none;
}

body.arsin-cart .cart-table,
body.arsin-cart .cart-table tbody {
  display: block;
  width: 100%;
}

body.arsin-cart .cart-table tbody tr.cart_item {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 58px;
  column-gap: 10px;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #d8d8d8;
  background: #fff;
  direction: ltr;
  transition: background-color var(--ease);
}

body.arsin-cart .cart-table tbody tr.cart_item:last-of-type {
  border-bottom: 0;
}

body.arsin-cart .cart-table tbody tr.cart_item td {
  display: block;
  width: auto;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  vertical-align: middle;
  text-align: start;
}

body.arsin-cart .cart-table tbody tr.cart_item td::before {
  content: none !important;
}

body.arsin-cart .cart-table tbody tr.cart_item .product-remove {
  grid-column: 1;
  grid-row: 1;
  padding: 12px 0 12px 12px;
}

body.arsin-cart .cart-table tbody tr.cart_item .product-name {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  padding: 12px 0;
  color: #111;
  direction: rtl;
  font-size: var(--type-base);
  font-weight: 700;
  line-height: 1.7;
  text-align: right;
}

body.arsin-cart .cart-table tbody tr.cart_item .product-thumbnail {
  grid-column: 3;
  grid-row: 1;
  padding: 12px 12px 12px 0;
}

body.arsin-cart .cart-table tbody tr.cart_item .product-meta {
  grid-column: 1 / -1;
  grid-row: 2;
  padding: 0;
  border-top: 1px solid #e8edf2;
}

body.arsin-cart .cart-item-meta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  margin: 0;
  padding: 10px 12px;
  direction: rtl;
}

body.arsin-cart .cart-item-meta .product-quantity,
body.arsin-cart .cart-item-meta .product-subtotal {
  display: flex !important;
  grid-column: auto !important;
  grid-template-columns: none !important;
  align-items: center;
  gap: 8px;
  width: auto;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.arsin-cart .cart-item-meta .product-subtotal {
  justify-content: flex-end;
  white-space: nowrap;
}

body.arsin-cart .cart-item-title {
  color: inherit;
  font-weight: 700;
  text-decoration: none;
}

body.arsin-cart .cart-item-title:hover {
  color: var(--brand);
}

body.arsin-cart .cart-item-price {
  display: inline-flex;
  align-items: baseline;
  gap: 3px;
  margin-inline-start: 6px;
  color: var(--brand);
  font-size: var(--type-sm);
  font-weight: 700;
  white-space: nowrap;
}

body.arsin-cart .cart-item-price .product-card__price-stack--cart {
  display: inline-flex;
  flex-direction: row;
  align-items: baseline;
  gap: 6px;
  line-height: 1.2;
}

body.arsin-cart .cart-item-price .product-card__price-stack--cart del {
  color: #8a8a8a;
  font-size: var(--type-xs);
  font-weight: 500;
  text-decoration: line-through;
}

body.arsin-cart .cart-item-price .product-card__price-stack--cart del bdi::after {
  display: none;
}

body.arsin-cart .cart-item-price .product-card__price-stack--cart ins {
  color: var(--brand);
  font-size: var(--type-sm);
  font-weight: 700;
  text-decoration: none;
  background: transparent;
}

body.arsin-cart .cart-item-price.arsin-price--toman-icon ins bdi,
body.arsin-cart .cart-item-line-total.arsin-price--toman-icon bdi,
body.arsin-cart .cart_totals.arsin-price--toman-icon .amount bdi {
  font-size: var(--type-sm);
  font-weight: 700;
  padding-left: 18px;
}

body.arsin-cart .cart_totals.arsin-price--toman-icon tr.order-total .amount bdi {
  font-size: var(--type-base);
  font-weight: 800;
}

body.arsin-cart .cart-item-price .woocommerce-Price-currencySymbol,
body.arsin-cart .cart-item-price .amount + .woocommerce-Price-currencySymbol,
body.arsin-cart .cart-item-line-total .woocommerce-Price-currencySymbol,
body.arsin-cart .cart_totals .woocommerce-Price-currencySymbol {
  display: none !important;
}

body.arsin-cart .cart-cell-label {
  color: #69737d;
  font-size: var(--type-sm);
  font-weight: 500;
  white-space: nowrap;
}

body.arsin-cart .cart-cell-value {
  min-width: 0;
}

body.arsin-cart .cart-item-meta .cart-cell-label {
  display: inline;
}

body.arsin-cart .cart-item-line-total,
body.arsin-cart .cart-item-line-total .amount {
  color: var(--brand) !important;
  font-size: var(--type-base);
  font-weight: 700;
}

body.arsin-cart .product-thumbnail .cart-product-thumb,
body.arsin-cart .product-thumbnail .cart-product-thumb img {
  display: block;
  width: 58px;
  height: 58px;
}

body.arsin-cart .product-thumbnail .cart-product-thumb img {
  object-fit: contain;
  padding: 5px;
  border: 1px solid #dcdcdc;
  border-radius: 4px;
  background: #f5f3f4;
  mix-blend-mode: multiply;
}

body.arsin-cart .cart-table .remove-btn {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--brand-line-strong, rgb(174 17 28 / 28%));
  border-radius: var(--radius);
  background: var(--white);
  color: var(--brand);
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
}

body.arsin-cart .cart-table .remove-btn:hover {
  background: var(--brand-soft);
}

body.arsin-cart .product-quantity .qty-control {
  display: grid;
  width: 108px;
  height: 40px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  overflow: hidden;
  border: 1px solid #d1d8df;
  border-radius: var(--radius);
  background: #fff;
  direction: ltr;
}

body.arsin-cart .product-quantity .qty-control .quantity {
  display: contents;
}

body.arsin-cart .product-quantity .qty-control .quantity .screen-reader-text {
  display: none;
}

body.arsin-cart .product-quantity .qty-control button,
body.arsin-cart .product-quantity .qty-control .qty-control__btn,
body.arsin-cart .product-quantity .qty-control input.qty {
  display: inline-flex;
  width: 100%;
  min-width: 0;
  height: 100%;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border: 0;
  border-inline-start: 1px solid #d1d8df;
  border-radius: 0;
  background: #fff;
  color: #243142;
  font: inherit;
  font-size: var(--type-base);
  font-weight: 700;
  line-height: 1;
  appearance: none;
  -webkit-appearance: none;
}

body.arsin-cart .product-quantity .qty-control > :first-child {
  border-inline-start: 0;
}

body.arsin-cart .product-quantity .qty-control .qty-control__btn--minus {
  color: #8d98a3;
}

body.arsin-cart .cart-actions-row {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 10px;
  border: 1px solid #e2e7ec;
  border-radius: var(--radius);
  background: linear-gradient(180deg, #fff 0%, #fbfcfd 100%);
  box-shadow: 0 8px 22px rgba(17, 24, 39, 0.05);
}

body.arsin-cart .cart-actions-row .coupon {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
}

body.arsin-cart .cart-actions-row .coupon input {
  width: 100%;
  min-height: var(--control-height);
  padding: 0 var(--space-3);
  border: 1px solid #d5dbe1;
  border-radius: var(--radius);
  background: #fff;
  color: #243142;
  font: inherit;
  font-size: var(--type-base);
  text-align: right;
}

body.arsin-cart .cart-actions-row .coupon .mini-btn,
body.arsin-cart .cart-actions-buttons .mini-btn,
body.arsin-cart .cart-actions-buttons .cart-continue-button {
  display: inline-flex;
  min-height: var(--control-height);
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 0;
  padding: 0 12px;
  border-radius: var(--radius);
  font-size: var(--type-sm);
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

body.arsin-cart .cart-actions-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

body.arsin-cart .cart-actions-buttons .cart-update-button,
body.arsin-cart .cart-actions-buttons .cart-continue-button {
  flex: 1 1 calc(50% - 4px);
}

body.arsin-cart .cart-sidebar .order-box,
body.arsin-cart .cart-sidebar .cart_totals.order-box {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0 12px 12px;
  overflow: hidden;
  border: 1px solid #e2e7ec;
  border-radius: var(--radius);
  background: linear-gradient(180deg, #fff 0%, #fbfcfd 100%);
  box-shadow: 0 8px 22px rgba(17, 24, 39, 0.05);
}

body.arsin-cart .cart-totals-head,
body.arsin-cart .cart-sidebar .order-box h2 {
  display: flex;
  align-items: center;
  min-height: 64px;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #e1e1e1;
  color: #151515;
  font-size: var(--type-2xl);
  font-weight: 700;
}

body.arsin-cart .cart-sidebar .order-box .summary-list {
  display: table;
  width: 100%;
  margin: 14px 0 10px;
  overflow: hidden;
  border: 1px solid #e4e9ef;
  border-radius: var(--radius);
  background: #fff;
}

body.arsin-cart .cart-sidebar .order-box .summary-list th,
body.arsin-cart .cart-sidebar .order-box .summary-list td {
  padding: 12px;
  border-bottom: 1px solid #e8edf2;
  color: #69737d;
  font-size: var(--type-sm);
  font-weight: 500;
  vertical-align: middle;
}

body.arsin-cart .cart-sidebar .order-box .summary-list td {
  color: #111;
  text-align: left;
  font-size: var(--type-base);
  font-weight: 700;
  white-space: nowrap;
}

body.arsin-cart .cart-sidebar .order-box .summary-list tr:last-child th,
body.arsin-cart .cart-sidebar .order-box .summary-list tr:last-child td {
  border-bottom: 0;
}

body.arsin-cart .cart-sidebar .order-box .summary-list tr.order-total {
  background: #fff7f7;
}

body.arsin-cart .cart-sidebar .order-box .summary-list tr.order-total th,
body.arsin-cart .cart-sidebar .order-box .summary-list tr.order-total td {
  color: var(--brand);
  font-weight: 700;
}

body.arsin-cart .cart-sidebar .order-box .summary-list tr.order-total td {
  font-size: var(--type-lg);
}

body.arsin-cart .cart-shipping-hint {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  margin: 10px 0;
  padding: 10px 12px;
  border: 1px solid #e1e1e1;
  border-radius: var(--radius);
  background: #fff;
  color: #334155;
  font-size: var(--type-base);
  font-weight: 500;
  line-height: 1.8;
}

body.arsin-cart .cart-shipping-hint .icon,
body.arsin-cart .cart-shipping-hint .material-symbols-outlined {
  flex: 0 0 auto;
  color: var(--brand);
  font-size: 20px;
}

body.arsin-cart .cart-sidebar .wc-proceed-to-checkout {
  margin: 0;
  padding: 0;
}

body.arsin-cart .cart-sidebar .wc-proceed-to-checkout a.checkout-button {
  display: inline-flex;
  width: 100%;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 12px 16px;
  border: 0;
  border-radius: var(--radius);
  background: var(--brand) !important;
  box-shadow: none;
  color: #fff !important;
  font-size: var(--type-base);
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
}

body.arsin-cart .cart-sidebar .order-box .wc-trust,
body.arsin-cart .cart-sidebar .cart_totals .wc-trust {
  display: grid;
  gap: 18px;
  margin-top: 24px;
  padding-top: 0;
  border-top: 0;
}

body.arsin-cart .cart-sidebar .order-box .wc-trust__item,
body.arsin-cart .cart-sidebar .cart_totals .wc-trust__item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 0;
  background: transparent;
  border: 0;
}

body.arsin-cart .cart-sidebar .order-box .wc-trust__item .icon,
body.arsin-cart .cart-sidebar .order-box .wc-trust__item .material-symbols-outlined {
  flex: 0 0 auto;
  color: var(--brand);
  font-size: 20px;
}

body.arsin-cart .cart-sidebar .order-box .wc-trust__item b {
  display: block;
  margin-bottom: 6px;
  color: #20242a;
  font-size: var(--type-base);
  font-weight: 700;
}

body.arsin-cart .cart-sidebar .order-box .wc-trust__text {
  color: #69737d;
  font-size: var(--type-sm);
  font-weight: 500;
  line-height: 1.8;
}

body.arsin-cart .cart-related-products {
  margin-top: 8px;
  padding-top: var(--space-5);
  border-top: 1px solid var(--line);
}

body.arsin-cart .empty-state.woocommerce-cart-empty {
  display: grid;
  justify-items: center;
  gap: var(--space-3);
  max-width: 680px;
  margin-inline: auto;
  padding: calc(var(--space-6) * 2) var(--space-5);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--white);
  box-shadow: var(--shadow-soft);
  text-align: center;
}

body.arsin-cart .empty-state__icon {
  display: inline-grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--brand-soft);
  color: var(--brand);
}

body.arsin-cart .empty-state__icon .icon,
body.arsin-cart .empty-state__icon .material-symbols-outlined {
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  overflow: hidden;
  font-size: 30px;
  line-height: 1;
}

@media (max-width: 760px) {
  body.arsin-cart .section--cart {
    padding-block: 12px 24px;
  }

  body.arsin-cart .section--cart > .container > .notice {
    display: flex;
  }

  body.arsin-cart .cart-section-head__notice {
    display: none;
  }

  body.arsin-cart .cart-section-head .section-head__row {
    flex-wrap: wrap;
    align-items: flex-start;
  }

  body.arsin-cart .cart-section-head h1 {
    flex: 1 1 100%;
  }

  body.arsin-cart .cart-section-head__aside {
    flex: 1 1 100%;
    justify-content: space-between;
  }

  body.arsin-cart .cart-related-products .marquee-wrap,
  body.arsin-cart .cart-related-products .product-marquee {
    overflow: hidden;
  }

  body.arsin-cart .cart-related-products .product-marquee__track {
    display: flex;
    grid-template-columns: none;
    gap: var(--card-gap);
    width: max-content;
    min-width: max-content;
    animation: product-marquee-scroll var(--product-marquee-duration, 36s) linear infinite;
  }

  body.arsin-cart .cart-related-products .product-marquee__track > .product-card:nth-child(n + 5) {
    display: flex;
  }

  body.arsin-cart .cart-related-products .product-card {
    flex: 0 0 min(72vw, 250px);
    width: min(72vw, 250px);
    min-width: min(72vw, 250px);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.arsin-cart .cart-table tbody tr.cart_item,
  body.arsin-cart .cart-table .remove-btn {
    transition: none;
  }
}

/* Neutralize legacy main.css cart mobile absolute/grid item rules. */
body.arsin-cart .cart-table tbody tr.cart_item .product-name {
  grid-column: 1 !important;
  padding-inline-end: 0 !important;
}

body.arsin-cart .cart-table tbody tr.cart_item .product-thumbnail {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

body.arsin-cart .cart-table tbody tr.cart_item .product-remove {
  position: static !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  width: auto !important;
  grid-column: unset !important;
  grid-row: unset !important;
  padding: 0 !important;
  z-index: auto;
}

body.arsin-cart .cart-actions-buttons {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px;
}

body.arsin-cart .cart-actions-buttons .cart-update-button,
body.arsin-cart .cart-actions-buttons .cart-continue-button {
  flex: 1 1 calc(50% - 4px) !important;
  width: auto !important;
}

/* Cart item polish — name/details stack + remove at title end. */
body.arsin-cart .cart-table tbody tr.cart_item {
  grid-template-columns: minmax(0, 1fr) 58px;
  column-gap: 10px;
  align-items: start;
  padding: 14px 16px 12px 12px;
}

body.arsin-cart .cart-table tbody tr.cart_item .product-name {
  grid-column: 1;
  grid-row: 1;
  padding: 0;
  direction: rtl;
  text-align: right;
}

body.arsin-cart .cart-table tbody tr.cart_item .product-thumbnail {
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  padding: 0;
}

body.arsin-cart .cart-item-thumb-wrap {
  position: relative;
  width: 58px;
  flex-shrink: 0;
  padding-left: 8px;
}

body.arsin-cart .cart-item-title-block {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  direction: rtl;
  text-align: right;
}

body.arsin-cart .cart-item-title-block .cart-item-title {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  text-align: right;
  font-size: var(--type-lg);
  line-height: 1.55;
  font-weight: 700;
}

body.arsin-cart .cart-item-title-block .product-remove {
  flex: 0 0 auto;
  align-self: flex-start;
  margin: 0;
  padding: 0;
}

body.arsin-cart .cart-item-title-block .product-remove .remove-btn {
  width: 22px !important;
  height: 22px !important;
  border: 1px solid #dcdcdc !important;
  border-radius: 4px !important;
  background: #fff !important;
  color: #8a8a8a !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
}

body.arsin-cart .cart-item-title-block .product-remove .remove-btn:hover,
body.arsin-cart .cart-item-title-block .product-remove .remove-btn:focus-visible {
  border-color: #c4c4c4 !important;
  background: #f5f5f5 !important;
  color: #69737d !important;
}

/* Cart thumb — reuse product-card image frame (multiply on var(--media)). */
body.arsin-cart .product-thumbnail .cart-product-thumb.product-card__image {
  flex-shrink: 0;
  width: 58px !important;
  height: 58px !important;
  aspect-ratio: auto;
  border: 1px solid #dcdcdc;
  border-radius: 4px;
}

body.arsin-cart .product-thumbnail .cart-product-thumb.product-card__image img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 5px;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-sizing: border-box;
  object-fit: contain;
  object-position: center;
  mix-blend-mode: multiply;
}

body.arsin-cart .cart-table tbody tr.cart_item .product-meta {
  grid-column: 1 / -1;
  grid-row: 2;
}

body.arsin-cart .cart-item-name-stack {
  display: grid;
  gap: 6px;
  min-width: 0;
}

body.arsin-cart .cart-item-details-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 4px 10px;
  direction: rtl;
  text-align: right;
}

body.arsin-cart .cart-item-details-row .cart-item-price {
  flex: 0 0 auto;
  margin: 0;
}

body.arsin-cart .cart-item-vars {
  display: block;
  flex: 1 1 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  color: #69737d;
  font-size: var(--type-xs);
  font-weight: 500;
  line-height: 1.55;
  white-space: normal;
}

body.arsin-cart .cart-item-vars__item {
  display: inline;
  min-width: 0;
  padding-inline-start: 0;
  color: inherit;
  font: inherit;
  line-height: inherit;
  white-space: normal;
}

body.arsin-cart .cart-item-vars__item + .cart-item-vars__item::before {
  content: " | ";
  color: #b0b8c0;
  font-weight: 400;
}

body.arsin-cart .cart-item-vars__label {
  color: #8a8a8a;
}

body.arsin-cart .cart-item-vars__value {
  color: #69737d;
}

body.arsin-cart .cart-item-meta {
  padding: 8px 12px 10px;
}

/* Cart sidebar — no wc-trust (checkout/PDP only). */
body.arsin-cart .cart-sidebar .order-box .wc-trust,
body.arsin-cart .cart-sidebar .cart_totals .wc-trust {
  display: none !important;
}

/* Cart related — standard product marquee + shop loop cards. */
body.arsin-cart .cart-related-products {
  margin-top: 12px;
  padding-top: 14px;
  border-top: 1px solid #e1e1e1;
  max-width: 100%;
  min-width: 0;
}

body.arsin-cart .cart-related-products__head {
  margin: 0 0 12px;
}

body.arsin-cart .cart-related-products__head h2 {
  margin: 0;
  color: var(--ink);
  font-size: var(--fs-h2);
  font-weight: 700;
  line-height: 1.45;
  text-align: right;
}

body.arsin-cart .cart-related-products .marquee-wrap {
  margin-inline: 0;
}

body.arsin-cart .cart-related-products .product-marquee {
  width: 100%;
}

body.arsin-cart .cart-related-products .marquee-wrap,
body.arsin-cart .cart-related-products .product-marquee {
  overflow: hidden;
}

body.arsin-cart .cart-related-products .product-marquee__track {
  display: flex !important;
  grid-template-columns: none !important;
  gap: var(--card-gap);
  width: max-content !important;
  min-width: max-content !important;
  padding-block: 12px;
  animation: product-marquee-scroll var(--product-marquee-duration, 36s) linear infinite !important;
  transform: none;
  overflow: visible;
}

body.arsin-cart .cart-related-products .product-marquee__track > .product-card,
body.arsin-cart .cart-related-products .product-marquee__track > div[aria-hidden="true"] {
  flex: 0 0 calc((100cqi - (var(--card-gap) * 3.2)) / 4.2) !important;
  width: calc((100cqi - (var(--card-gap) * 3.2)) / 4.2) !important;
  min-width: min(178px, calc(100vw - 24px)) !important;
  max-width: none !important;
  height: auto;
  min-height: 0;
  list-style: none;
  margin: 0;
  padding: 0;
}

body.arsin-cart .cart-related-products .product-marquee__track > div[aria-hidden="true"] .product-card {
  width: 100%;
  height: 100%;
}

body.arsin-cart .cart-related-products .product-marquee__track > .product-card:nth-child(n + 5),
body.arsin-cart .cart-related-products .product-marquee__track > div[aria-hidden="true"] {
  display: flex !important;
}

/* Archive/shop card parity — override legacy cart-related compact rules. */
body.arsin-cart .cart-related-products .product-marquee .product-card {
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
}

body.arsin-cart .cart-related-products .product-marquee .product-card .product-card__image {
  min-height: unset !important;
  aspect-ratio: 1 / 1 !important;
  padding: 0 !important;
}

body.arsin-cart .cart-related-products .product-marquee .product-card .product-card__image img {
  width: 100% !important;
  height: 100% !important;
  padding: 24px 10px 8px !important;
  object-fit: contain !important;
}

body.arsin-cart .cart-related-products .product-marquee .product-card .product-card__content {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  padding: 9px 8px 8px !important;
}

body.arsin-cart .cart-related-products .product-marquee .product-card .product-card__title {
  min-height: unset !important;
  margin: 0 !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
}

body.arsin-cart .cart-related-products .product-marquee .product-card .product-card__image-tags {
  order: unset !important;
  margin: 0 !important;
}

body.arsin-cart .cart-related-products .product-marquee .product-card .product-specs {
  display: none !important;
}

body.arsin-cart .cart-related-products .product-marquee .product-card .product-card__footer {
  display: block !important;
  grid-template-columns: unset !important;
  gap: unset !important;
  margin-top: 12px !important;
  padding-top: 0 !important;
}

body.arsin-cart .cart-related-products .product-marquee .product-card .product-card__price-button {
  display: flex !important;
  direction: rtl !important;
  align-items: center !important;
  justify-content: center !important;
  gap: unset !important;
  min-height: unset !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-size: var(--pc-text-xs) !important;
  font-weight: inherit !important;
  background: transparent !important;
  border-color: transparent !important;
  color: var(--brand) !important;
}

body.arsin-cart .cart-related-products .product-marquee .product-card--unavailable .product-card__footer {
  justify-content: unset !important;
  text-align: unset !important;
}

body.arsin-cart .cart-related-products .product-marquee .product-card .product-card__sale-timer {
  display: inline-flex !important;
  flex: unset !important;
  color: var(--brand) !important;
  font-size: var(--pc-text-2xs) !important;
}

body.arsin-cart .cart-related-products .product-marquee .product-card .product-card__price-stack {
  max-width: none !important;
  font-size: inherit !important;
  white-space: nowrap !important;
}

@media (max-width: 760px) {
  body.arsin-cart .cart-related-products .marquee-wrap,
  body.arsin-cart .cart-related-products .product-marquee {
    overflow: hidden !important;
  }

  body.arsin-cart .cart-related-products .product-marquee__track {
    display: flex !important;
    grid-template-columns: none !important;
    width: max-content !important;
    min-width: max-content !important;
    animation: product-marquee-scroll var(--product-marquee-duration, 36s) linear infinite !important;
  }

  body.arsin-cart .cart-related-products .product-marquee__track > .product-card,
  body.arsin-cart .cart-related-products .product-marquee__track > div[aria-hidden="true"] {
    flex: 0 0 min(178px, calc(100vw - 24px)) !important;
    width: min(178px, calc(100vw - 24px)) !important;
    min-width: min(178px, calc(100vw - 24px)) !important;
  }

  body.arsin-cart .cart-related-products .product-marquee__track > div[aria-hidden="true"] {
    display: flex !important;
  }

  body.arsin-cart .cart-related-products .product-marquee__track > .product-card:nth-child(n + 5) {
    display: flex !important;
  }

  body.arsin-cart .section--cart {
    padding-bottom: calc(var(--arsin-handheld-footer-height, 56px) + env(safe-area-inset-bottom, 0px) + 16px);
  }

  body.arsin-checkout .section--checkout,
  body.arsin-checkout-blocks .section--checkout {
    padding-bottom: calc(var(--arsin-handheld-footer-height, 56px) + env(safe-area-inset-bottom, 0px) + 16px);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.arsin-cart .cart-related-products .product-marquee__track {
    animation: none !important;
    overflow-x: auto;
    width: auto !important;
    max-width: 100%;
    scroll-snap-type: x proximity;
  }

  body.arsin-cart .cart-related-products .product-marquee {
    mask-image: none;
    -webkit-mask-image: none;
  }

  body.arsin-cart .cart-related-products .product-marquee__track > .product-card {
    scroll-snap-align: start;
  }
}

/* Cart head — plain content row (no panel chrome). */
body.arsin-cart .cart-section-head {
  margin: 0 0 12px !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body.arsin-cart .cart-section-head__row,
body.arsin-cart .cart-section-head .section-head__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  flex-wrap: nowrap;
}

body.arsin-cart .cart-section-head h1 {
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
  color: var(--ink);
  font-size: var(--type-2xl);
  font-weight: 700;
  line-height: 1.45;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.arsin-cart .cart-section-head__aside {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: nowrap;
}

body.arsin-cart .cart-section-head .section-head__count {
  display: inline-flex;
  min-height: 32px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  border: 1px solid #dcdcdc !important;
  border-radius: 999px;
  background: #fff !important;
  color: #69737d !important;
  font-size: var(--type-xs);
  font-weight: 600;
  white-space: nowrap;
}

body.arsin-cart .cart-section-head__continue.mini-btn,
body.arsin-cart .cart-section-head__continue {
  min-height: 32px;
  padding: 0 10px;
  border: 1px solid #dcdcdc !important;
  border-radius: var(--radius);
  background: #fff !important;
  color: #69737d !important;
  font-size: var(--type-xs);
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}

body.arsin-cart .cart-section-head__continue:hover,
body.arsin-cart .cart-section-head__continue:focus-visible {
  border-color: #c4c4c4 !important;
  background: #f5f5f5 !important;
  color: #4b5563 !important;
}

@media (max-width: 760px) {
  body.arsin-cart .cart-section-head__row,
  body.arsin-cart .cart-section-head .section-head__row {
    flex-wrap: nowrap !important;
    align-items: center !important;
  }

  body.arsin-cart .cart-section-head h1 {
    flex: 1 1 auto !important;
    min-width: 0;
  }

  body.arsin-cart .cart-section-head__aside {
    flex: 0 0 auto !important;
    justify-content: flex-end;
  }
}

/* Cart item row — gray dividers, panel wrap, full-row hover. */
body.arsin-cart .cart-table-wrap {
  overflow: hidden;
  border: 1px solid #e2e7ec !important;
  border-radius: var(--radius) !important;
  background: linear-gradient(180deg, #fff 0%, #fbfcfd 100%) !important;
  box-shadow: 0 8px 22px rgba(17, 24, 39, 0.05) !important;
}

/* The wrapper owns the cart panel chrome; avoid WooCommerce's second border. */
body.arsin-cart .woocommerce .cart-table-wrap > table.shop_table {
  border: 0 !important;
  border-radius: 0 !important;
}

body.arsin-cart .cart-table tbody tr.cart_item {
  border-bottom: 1px solid #e2e7ec !important;
  gap: 0;
}

body.arsin-cart .cart-table tbody tr.cart_item:last-of-type {
  border-bottom: none !important;
}

body.arsin-cart .cart-table tbody tr.cart_item + tr.cart_item {
  margin-top: 0;
}

body.arsin-cart .cart-table tbody tr.cart_item .product-meta {
  border-top: none !important;
}

body.arsin-cart .cart-table tbody tr.cart_item:hover {
  background: #fafafa !important;
}

body.arsin-cart .cart-table tbody tr.cart_item:hover td,
body.arsin-cart .cart-table tbody tr.cart_item td {
  background: transparent !important;
}

body.arsin-cart .cart-table tbody tr.cart_item:hover .cart-product-thumb.product-card__image,
body.arsin-cart .cart-table tbody tr.cart_item:hover .cart-item-meta {
  background: transparent;
}

body.arsin-cart .cart-item-price .product-card__price-stack--cart {
  flex-direction: row;
  direction: rtl;
}

/* Cart row prices — unit price slightly smaller than line total. */
body.arsin-cart .cart-item-price,
body.arsin-cart .cart-item-price .product-card__price-stack--cart ins,
body.arsin-cart .cart-item-price.arsin-price--toman-icon ins bdi,
body.arsin-cart .cart-item-price.arsin-price--toman-icon > bdi {
  font-size: var(--type-base) !important;
  font-weight: 700;
  line-height: 1.55;
}

body.arsin-cart .cart-item-line-total,
body.arsin-cart .cart-item-line-total .amount,
body.arsin-cart .cart-item-line-total.arsin-price--toman-icon bdi {
  font-size: var(--type-lg) !important;
  font-weight: 800;
  line-height: 1.55;
}

/* Keep the order total at the primary single-product price scale. */
body.arsin-cart .cart_totals.arsin-price--toman-icon tr.order-total td,
body.arsin-cart .cart_totals.arsin-price--toman-icon tr.order-total .amount,
body.arsin-cart .cart_totals.arsin-price--toman-icon tr.order-total .amount bdi {
  font-size: var(--type-2xl) !important;
  font-weight: 800;
  line-height: 1.2;
}

body.arsin-cart .cart-sidebar .order-box .summary-list tr.order-total th {
  font-size: var(--type-lg) !important;
  font-weight: 800;
}

/* The cart override must not keep animating while touch/pointer panning. */
body.arsin-cart .cart-related-products .marquee-wrap.is-panning .product-marquee__track {
  animation: none !important;
}

/* ==========================================================================
   Checkout Canon — cart/PDP/archive visual parity
   ========================================================================== */
body.arsin-checkout .section--checkout {
  padding-block: 18px 32px;
  background:
    linear-gradient(180deg, rgb(174 17 28 / 3%), transparent 220px),
    var(--page);
}

body.arsin-checkout .section--checkout > .container {
  min-width: 0;
}

/* Plain page heading, matching the final cart heading contract. */
body.arsin-checkout .checkout-section-head {
  margin: 0 0 12px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

body.arsin-checkout .checkout-section-head__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
}

body.arsin-checkout .checkout-section-head__copy {
  min-width: 0;
}

body.arsin-checkout .checkout-section-head h1 {
  margin: 0;
  color: var(--ink);
  font-size: var(--type-2xl);
  font-weight: 800;
  line-height: 1.45;
}

body.arsin-checkout .checkout-section-head p {
  margin: 2px 0 0;
  color: var(--muted);
  font-size: var(--type-sm);
  font-weight: 400;
  line-height: 1.65;
}

body.arsin-checkout .checkout-section-head__aside {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
}

body.arsin-checkout .checkout-section-head .section-head__count,
body.arsin-checkout .checkout-section-head__cart {
  min-height: 34px;
  border: 1px solid #e2e7ec !important;
  border-radius: var(--radius-sm);
  background: #fff !important;
  color: #69737d !important;
  box-shadow: none !important;
  font-size: var(--type-xs);
  font-weight: 700;
}

body.arsin-checkout .checkout-section-head .section-head__count {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  white-space: nowrap;
}

body.arsin-checkout .checkout-section-head__cart {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 10px;
  text-decoration: none;
}

body.arsin-checkout .checkout-section-head__cart:hover {
  border-color: #ccd3da !important;
  color: var(--ink) !important;
}

/* Compact progress: informative, not a separate heavy card. */
body.arsin-checkout .checkout-progress {
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

body.arsin-checkout .checkout-progress__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.arsin-checkout .checkout-progress__step {
  position: relative;
  display: flex;
  min-height: 38px !important;
  flex-direction: row !important;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 7px 10px !important;
  border: 1px solid #e2e7ec !important;
  border-radius: var(--radius-sm) !important;
  background: #fff !important;
  color: var(--muted);
  font-size: var(--type-xs);
  font-weight: 700;
}

body.arsin-checkout .checkout-progress__step.is-active {
  border-color: rgb(174 17 28 / 22%) !important;
  background: #fff8f8 !important;
  color: var(--brand);
}

body.arsin-checkout .checkout-progress__index {
  display: inline-grid;
  width: 22px !important;
  height: 22px !important;
  flex: 0 0 22px;
  place-items: center;
  border: 1px solid currentColor !important;
  border-radius: 50%;
  background: #fff !important;
  color: inherit;
  font-size: 11px !important;
  line-height: 1;
}

body.arsin-checkout .section--checkout > .container > .notice {
  margin: 0 0 14px;
  border: 1px solid #e2e7ec;
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow-soft);
}

/* Main checkout layout. */
body.arsin-checkout .checkout-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 370px) !important;
  align-items: start;
  gap: 16px !important;
  min-width: 0;
  margin: 0 !important;
}

body.arsin-checkout .checkout-main {
  display: grid;
  gap: 12px;
  min-width: 0;
}

body.arsin-checkout .checkout-panel,
body.arsin-checkout .checkout-sidebar.panel {
  margin: 0;
  padding: 16px !important;
  border: 1px solid #e2e7ec !important;
  border-top: 1px solid #e2e7ec !important;
  border-radius: var(--radius) !important;
  background:
    linear-gradient(135deg, rgb(174 17 28 / 2.5%), transparent 38%),
    #fff !important;
  box-shadow: 0 8px 24px rgb(15 23 42 / 5%) !important;
}

body.arsin-checkout .checkout-panel__title,
body.arsin-checkout .checkout-sidebar__title,
body.arsin-checkout .checkout-payment-heading {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--ink);
  font-size: var(--type-h2) !important;
  font-weight: 800;
  line-height: 1.55;
}

body.arsin-checkout .checkout-panel__title .icon,
body.arsin-checkout .checkout-sidebar__title .icon,
body.arsin-checkout .checkout-payment-heading .icon {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  color: var(--brand);
  font-size: 22px;
}

body.arsin-checkout .checkout-panel__lead {
  margin: 4px 0 14px !important;
  color: var(--muted);
  font-size: var(--type-sm) !important;
  font-weight: 400;
  line-height: 1.7;
}

/* Fields reuse the same control chrome as cart/PDP. */
body.arsin-checkout .checkout-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

body.arsin-checkout .checkout-form-grid .form-row {
  min-width: 0;
  margin: 0;
}

body.arsin-checkout .checkout-form-grid .form-row-wide,
body.arsin-checkout .checkout-form-grid #billing_address_1_field,
body.arsin-checkout .checkout-form-grid #billing_address_2_field,
body.arsin-checkout .checkout-form-grid #shipping_address_1_field,
body.arsin-checkout .checkout-form-grid #shipping_address_2_field {
  grid-column: 1 / -1;
}

body.arsin-checkout .checkout-form-grid label,
body.arsin-checkout .woocommerce-additional-fields label {
  display: inline-block;
  margin: 0 0 5px;
  color: var(--ink-2);
  font-size: var(--type-sm);
  font-weight: 700;
  line-height: 1.5;
}

body.arsin-checkout .checkout-form-grid input.input-text,
body.arsin-checkout .checkout-form-grid input[type="text"],
body.arsin-checkout .checkout-form-grid input[type="tel"],
body.arsin-checkout .checkout-form-grid input[type="email"],
body.arsin-checkout .checkout-form-grid select,
body.arsin-checkout .checkout-form-grid textarea,
body.arsin-checkout .woocommerce-additional-fields textarea,
body.arsin-checkout .select2-container .select2-selection--single {
  width: 100%;
  min-height: var(--control-height);
  border: 1px solid #d7dde3 !important;
  border-radius: var(--radius-sm) !important;
  background: #fff !important;
  color: var(--ink);
  box-shadow: none !important;
  font-size: var(--type-md);
  font-weight: 500;
  transition: border-color var(--ease), box-shadow var(--ease);
}

body.arsin-checkout .checkout-form-grid textarea,
body.arsin-checkout .woocommerce-additional-fields textarea {
  min-height: 96px;
  padding: 10px 12px;
  resize: vertical;
}

body.arsin-checkout .checkout-form-grid input:focus,
body.arsin-checkout .checkout-form-grid select:focus,
body.arsin-checkout .checkout-form-grid textarea:focus,
body.arsin-checkout .woocommerce-additional-fields textarea:focus,
body.arsin-checkout .select2-container--open .select2-selection--single {
  border-color: rgb(174 17 28 / 42%) !important;
  outline: 0;
  box-shadow: var(--focus-ring) !important;
}

body.arsin-checkout .checkout-form-grid .woocommerce-invalid input,
body.arsin-checkout .checkout-form-grid input[aria-invalid="true"] {
  border-color: #c62828 !important;
  background: #fffafa !important;
}

body.arsin-checkout .checkout-ship-toggle {
  margin: 14px 0 0;
  padding: 12px 0 0;
  border-top: 1px solid #e2e7ec;
  background: transparent !important;
}

body.arsin-checkout .checkout-ship-toggle .checkbox-row {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: var(--ink);
  font-size: var(--type-md);
  font-weight: 700;
}

body.arsin-checkout .checkout-order-notes > summary {
  cursor: pointer;
  list-style: none;
}

body.arsin-checkout .checkout-order-notes > summary::-webkit-details-marker {
  display: none;
}

body.arsin-checkout .checkout-order-notes__body {
  margin-top: 12px;
}

/* Sidebar: cart-like order panel with product-card media treatment. */
body.arsin-checkout .checkout-sidebar {
  position: sticky !important;
  top: calc(var(--sticky-offset, 94px) + 8px);
  align-self: start;
  min-width: 0;
}

body.arsin-checkout .checkout-sidebar__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0 0 12px;
  padding: 0 0 10px;
  border-bottom: 1px solid #e2e7ec;
}

body.arsin-checkout .checkout-sidebar__edit {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: var(--type-xs);
  font-weight: 700;
  text-decoration: none;
}

body.arsin-checkout .checkout-sidebar__edit:hover {
  color: var(--brand);
}

body.arsin-checkout .checkout-order-box {
  display: grid;
  gap: 10px;
}

body.arsin-checkout .checkout-items {
  display: grid;
  gap: 0;
  overflow: hidden;
  margin: 0;
  border: 1px solid #e2e7ec !important;
  border-radius: var(--radius);
  background: #fff !important;
}

body.arsin-checkout .checkout-item {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-height: 82px !important;
  padding: 11px !important;
  border: 0 !important;
  border-bottom: 1px solid #e2e7ec !important;
  background: transparent;
  font-size: var(--type-sm);
}

body.arsin-checkout .checkout-item:last-child {
  border-bottom: 0 !important;
}

body.arsin-checkout .checkout-item__media.product-card__image {
  display: block;
  width: 58px !important;
  height: 58px !important;
  min-height: 58px;
  overflow: hidden;
  padding: 5px;
  border: 1px solid #dcdcdc !important;
  border-radius: var(--radius-sm) !important;
  background: var(--media) !important;
}

body.arsin-checkout .checkout-item__thumb {
  width: 100%;
  height: 100%;
  padding: 0 !important;
  object-fit: contain !important;
  mix-blend-mode: multiply;
}

body.arsin-checkout .checkout-item__body {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 3px 8px;
}

body.arsin-checkout .checkout-item__name {
  display: block;
  width: 100%;
  color: var(--ink) !important;
  font-size: var(--type-md);
  font-weight: 700 !important;
  line-height: 1.6;
  text-decoration: none;
}

body.arsin-checkout .checkout-item__name:hover {
  color: var(--brand) !important;
}

body.arsin-checkout .checkout-item__qty,
body.arsin-checkout .checkout-item .variation {
  margin: 0;
  color: var(--muted);
  font-size: var(--type-xs);
  font-weight: 500;
  line-height: 1.55;
}

body.arsin-checkout .checkout-item .variation {
  display: flex;
  flex-wrap: wrap;
  gap: 3px 8px;
}

body.arsin-checkout .checkout-item .variation dt,
body.arsin-checkout .checkout-item .variation dd {
  margin: 0;
}

body.arsin-checkout .checkout-item__total {
  color: var(--brand) !important;
  font-size: var(--type-md) !important;
  font-weight: 800;
  line-height: 1.4;
  white-space: nowrap;
}

body.arsin-checkout .checkout-item__total .woocommerce-Price-currencySymbol,
body.arsin-checkout .checkout-summary .woocommerce-Price-currencySymbol {
  display: none !important;
}

body.arsin-checkout .checkout-summary {
  width: 100%;
  overflow: hidden;
  margin: 0;
  padding: 0 !important;
  border: 1px solid #e2e7ec !important;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: var(--radius) !important;
  background: #fff !important;
}

body.arsin-checkout .checkout-summary th,
body.arsin-checkout .checkout-summary td {
  padding: 9px 11px !important;
  border: 0 !important;
  border-bottom: 1px solid #edf0f3 !important;
  color: var(--muted);
  font-size: var(--type-sm);
  font-weight: 500;
  text-align: right;
  vertical-align: middle;
}

body.arsin-checkout .checkout-summary td {
  color: var(--ink);
  font-weight: 700;
  text-align: left;
}

body.arsin-checkout .checkout-summary tr:last-child th,
body.arsin-checkout .checkout-summary tr:last-child td {
  border-bottom: 0 !important;
}

body.arsin-checkout .checkout-summary tr.order-total {
  background: #fff7f7 !important;
}

body.arsin-checkout .checkout-summary tr.order-total th {
  color: var(--brand) !important;
  font-size: var(--type-lg) !important;
  font-weight: 800;
}

body.arsin-checkout .checkout-summary tr.order-total td,
body.arsin-checkout .checkout-summary tr.order-total .amount,
body.arsin-checkout .checkout-summary tr.order-total bdi {
  color: var(--brand) !important;
  font-size: var(--type-xl) !important;
  font-weight: 800;
  line-height: 1.25;
}

/* Payment stays inside the same order panel, separated by hierarchy only. */
body.arsin-checkout .checkout-payment-heading {
  margin: 14px 0 8px !important;
  padding-top: 12px !important;
  border-top: 1px solid #e2e7ec !important;
  font-size: var(--type-md) !important;
}

body.arsin-checkout .checkout-sidebar .wc-trust {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px !important;
  margin: 0 0 9px !important;
}

body.arsin-checkout .checkout-sidebar .wc-trust__item {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  padding: 7px 4px !important;
  border: 1px solid #e2e7ec;
  border-radius: var(--radius-sm);
  background: #fff;
  text-align: center;
}

body.arsin-checkout .checkout-sidebar .wc-trust__item .icon {
  width: 20px;
  height: 20px;
  color: var(--brand);
  font-size: 20px;
}

body.arsin-checkout .checkout-sidebar .wc-trust__item b {
  overflow: hidden;
  width: 100%;
  color: var(--ink-2);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.arsin-checkout .checkout-sidebar .wc-trust__text {
  display: none;
}

body.arsin-checkout #payment {
  margin: 0;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.arsin-checkout #payment .payment_methods,
body.arsin-checkout #payment .wc_payment_methods {
  display: grid !important;
  gap: 7px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  list-style: none;
}

body.arsin-checkout #payment .payment_methods li,
body.arsin-checkout #payment .wc_payment_method {
  overflow: hidden;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #e2e7ec !important;
  border-radius: var(--radius-sm) !important;
  background: #fff !important;
}

body.arsin-checkout #payment .payment_methods li:has(input:checked),
body.arsin-checkout #payment .wc_payment_method:has(input:checked) {
  border-color: rgb(174 17 28 / 28%) !important;
  background: #fff8f8 !important;
}

body.arsin-checkout #payment .payment_methods li > label,
body.arsin-checkout #payment .wc_payment_method > label {
  display: flex !important;
  min-height: 46px !important;
  height: auto !important;
  align-items: center;
  gap: 8px;
  margin: 0 !important;
  padding: 9px 10px !important;
  color: var(--ink) !important;
  font-size: var(--type-sm);
  font-weight: 700;
  cursor: pointer;
}

body.arsin-checkout #payment .payment_box {
  margin: 0 !important;
  padding: 9px 10px !important;
  border: 0 !important;
  border-top: 1px solid #edf0f3 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: var(--muted);
}

body.arsin-checkout #payment .payment_box::before {
  display: none !important;
}

body.arsin-checkout #payment .form-row.place-order {
  position: static;
  margin: 10px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.arsin-checkout #payment .woocommerce-privacy-policy-text,
body.arsin-checkout #payment .woocommerce-terms-and-conditions-wrapper {
  margin: 0 0 8px;
  color: var(--muted);
  font-size: var(--type-xs);
  font-weight: 400;
  line-height: 1.65;
}

body.arsin-checkout #place_order,
body.arsin-checkout #payment #place_order {
  width: 100%;
  min-height: 50px;
  margin: 0 !important;
  border: 0 !important;
  border-radius: var(--radius) !important;
  background: var(--brand) !important;
  box-shadow: none !important;
  color: #fff !important;
  font-size: var(--type-md);
  font-weight: 800;
}

body.arsin-checkout #place_order:hover,
body.arsin-checkout #payment #place_order:hover {
  background: var(--brand-2) !important;
}

body.arsin-checkout #place_order:focus-visible {
  outline: 3px solid rgb(174 17 28 / 18%);
  outline-offset: 2px;
}

@media (max-width: 1120px) {
  body.arsin-checkout .checkout-grid {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 340px) !important;
  }
}

@media (max-width: 900px) {
  body.arsin-checkout .checkout-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.arsin-checkout .checkout-sidebar {
    position: static !important;
  }
}

@media (max-width: 760px) {
  body.arsin-checkout .section--checkout {
    padding-block: 12px calc(var(--arsin-handheld-footer-height, 56px) + env(safe-area-inset-bottom, 0px) + 16px);
  }

  body.arsin-checkout .checkout-section-head__row {
    align-items: flex-start;
  }

  body.arsin-checkout .checkout-section-head h1 {
    font-size: var(--type-xl);
  }

  body.arsin-checkout .checkout-section-head p {
    display: none;
  }

  body.arsin-checkout .checkout-section-head .section-head__count {
    display: none;
  }

  body.arsin-checkout .checkout-progress__step {
    min-height: 40px !important;
    padding: 6px 4px !important;
    font-size: var(--type-xs) !important;
  }

  body.arsin-checkout .checkout-progress__index {
    width: 20px !important;
    height: 20px !important;
    flex-basis: 20px;
  }

  body.arsin-checkout .checkout-grid {
    gap: 12px !important;
  }

  body.arsin-checkout .checkout-panel,
  body.arsin-checkout .checkout-sidebar.panel {
    padding: 13px !important;
  }

  body.arsin-checkout .checkout-form-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  body.arsin-checkout .checkout-form-grid .form-row,
  body.arsin-checkout .checkout-form-grid #billing_first_name_field,
  body.arsin-checkout .checkout-form-grid #billing_last_name_field,
  body.arsin-checkout .checkout-form-grid #billing_state_field,
  body.arsin-checkout .checkout-form-grid #billing_city_field,
  body.arsin-checkout .checkout-form-grid #billing_phone_field,
  body.arsin-checkout .checkout-form-grid #shipping_first_name_field,
  body.arsin-checkout .checkout-form-grid #shipping_last_name_field,
  body.arsin-checkout .checkout-form-grid #shipping_state_field,
  body.arsin-checkout .checkout-form-grid #shipping_city_field {
    grid-column: 1 / -1 !important;
  }

  body.arsin-checkout .checkout-form-grid label,
  body.arsin-checkout .woocommerce-additional-fields label {
    font-size: var(--type-sm);
  }

  body.arsin-checkout .checkout-form-grid input.input-text,
  body.arsin-checkout .checkout-form-grid input[type="text"],
  body.arsin-checkout .checkout-form-grid input[type="tel"],
  body.arsin-checkout .checkout-form-grid input[type="email"],
  body.arsin-checkout .checkout-form-grid select,
  body.arsin-checkout .select2-container .select2-selection--single {
    min-height: 46px;
    font-size: var(--type-md);
  }

  body.arsin-checkout .checkout-item {
    grid-template-columns: 54px minmax(0, 1fr) !important;
    align-items: start;
    min-height: 0 !important;
  }

  body.arsin-checkout .checkout-item__media.product-card__image {
    width: 54px !important;
    height: 54px !important;
    min-height: 54px;
  }

  body.arsin-checkout .checkout-item__total {
    grid-column: 2;
    justify-self: start;
  }

  body.arsin-checkout #payment .place-order {
    position: sticky !important;
    bottom: calc(var(--arsin-handheld-footer-height, 56px) + env(safe-area-inset-bottom, 0px) + 8px);
    z-index: 40;
    padding-top: 9px !important;
    background: linear-gradient(180deg, transparent, #fff 28%) !important;
  }
}

/* ==========================================================================
   Checkout Blocks mobile canon — explicit semantic order, non-sticky submit
   Order: page head → billing (including notes) → shipping → payment → summary → submit.
   ========================================================================== */
@media (max-width: 900px) {
  body.arsin-checkout-blocks .wc-block-checkout__sidebar,
  body.arsin-checkout-blocks .wc-block-checkout__sidebar.is-sticky,
  body.arsin-checkout-blocks .wc-block-checkout__sidebar > .wp-block-woocommerce-checkout-order-summary-block {
    position: static !important;
    inset: auto !important;
    top: auto !important;
    order: 0;
  }
}

@media (max-width: 760px) {
  body.arsin-checkout-blocks .section--checkout-blocks {
    padding-block: 12px calc(var(--arsin-handheld-footer-height, 56px) + env(safe-area-inset-bottom, 0px) + 20px);
  }

  body.arsin-checkout-blocks .checkout-page-header.entry-header {
    display: flex !important;
    min-height: 40px;
    align-items: center;
    margin-bottom: 12px !important;
  }

  body.arsin-checkout-blocks .checkout-page-title.wp-block-post-title {
    color: var(--ink) !important;
    font-size: var(--type-xl) !important;
    font-weight: 800 !important;
    line-height: 1.4 !important;
  }

  body.arsin-checkout-blocks .checkout-page-header__cart {
    min-height: 32px;
    border-color: var(--line) !important;
    border-radius: var(--radius) !important;
    color: var(--muted) !important;
    font-size: var(--type-xs) !important;
    font-weight: 700 !important;
  }

  /*
   * Flatten only layout boxes. Form semantics remain intact while its children
   * become orderable items in the outer checkout grid.
   */
  body.arsin-checkout-blocks .wc-block-components-sidebar-layout.wc-block-checkout {
    display: flex !important;
    flex-direction: column;
    gap: 12px !important;
  }

  body.arsin-checkout-blocks .wc-block-checkout__main,
  body.arsin-checkout-blocks .wc-block-checkout__form {
    display: contents !important;
  }

  body.arsin-checkout-blocks #billing-fields {
    order: 10;
    margin-bottom: -12px !important;
    border-bottom: 0 !important;
    border-radius: var(--radius) var(--radius) 0 0 !important;
  }

  body.arsin-checkout-blocks .wp-block-woocommerce-checkout-shipping-method-block,
  body.arsin-checkout-blocks .wp-block-woocommerce-checkout-pickup-options-block {
    order: 15;
  }

  body.arsin-checkout-blocks #shipping-option {
    order: 20;
  }

  body.arsin-checkout-blocks #payment-method {
    order: 30;
  }

  body.arsin-checkout-blocks #order-notes {
    order: 11;
    margin: 0 !important;
    padding-top: 0 !important;
    border-top: 0 !important;
    border-radius: 0 0 var(--radius) var(--radius) !important;
    box-shadow: 0 1px 0 rgb(0 0 0 / 4%) !important;
  }

  body.arsin-checkout-blocks .wc-block-checkout__sidebar,
  body.arsin-checkout-blocks .wc-block-checkout__sidebar.is-sticky {
    order: 50;
    position: static !important;
    top: auto !important;
  }

  body.arsin-checkout-blocks .wc-block-checkout__actions,
  body.arsin-checkout-blocks .wc-block-checkout__actions.is-style-with-price {
    order: 60;
    position: static !important;
    inset: auto !important;
    bottom: auto !important;
    z-index: auto !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    pointer-events: auto !important;
  }

  body.arsin-checkout-blocks .wc-block-components-checkout-step {
    margin: 0 !important;
    padding: 14px !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--radius) !important;
    background: var(--white) !important;
    box-shadow: 0 1px 0 rgb(0 0 0 / 4%) !important;
  }

  body.arsin-checkout-blocks .wc-block-components-checkout-step__heading-container {
    margin-bottom: 12px !important;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--line);
  }

  body.arsin-checkout-blocks .wc-block-components-checkout-step__title,
  body.arsin-checkout-blocks .wc-block-components-title {
    color: var(--ink) !important;
    font-size: var(--type-lg) !important;
    font-weight: 800 !important;
    line-height: 1.5 !important;
  }

  body.arsin-checkout-blocks .wc-block-components-checkout-step__description,
  body.arsin-checkout-blocks .wc-block-components-shipping-rates-control__no-shipping-address-message {
    color: var(--muted) !important;
    font-size: var(--type-xs) !important;
    font-weight: 400 !important;
    line-height: 1.7 !important;
  }

  body.arsin-checkout-blocks .wc-block-checkout__sidebar > .wp-block-woocommerce-checkout-order-summary-block {
    position: static !important;
    top: auto !important;
    margin: 0 !important;
    padding: 14px !important;
    border: 1px solid var(--line) !important;
    border-top: 3px solid var(--brand) !important;
    border-radius: var(--radius) !important;
    background: var(--white) !important;
    box-shadow: none !important;
  }

  body.arsin-checkout-blocks .wc-block-checkout__actions .wc-block-components-checkout-place-order-button {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    min-height: 50px !important;
    margin: 0 !important;
    border-radius: var(--radius) !important;
    background: var(--brand) !important;
    color: var(--white) !important;
    box-shadow: var(--shadow-brand) !important;
    font-size: var(--fs-btn) !important;
    font-weight: 700 !important;
    pointer-events: auto !important;
  }
}

/* Final mobile type/surface cascade — must remain after mobile ordering rules. */
@media (max-width: 760px) {
  body.arsin-checkout-blocks .checkout-page-title.wp-block-post-title {
    color: var(--ink-2) !important;
    font-size: var(--fs-page) !important;
    font-weight: 800 !important;
  }

  body.arsin-checkout-blocks .wc-block-components-checkout-step {
    color: var(--ink);
    border-color: var(--line) !important;
    background: var(--white) !important;
    box-shadow: var(--shadow-soft) !important;
  }

  body.arsin-checkout-blocks #billing-fields {
    border-radius: var(--radius) var(--radius) 0 0 !important;
    box-shadow: var(--shadow-soft) !important;
  }

  body.arsin-checkout-blocks #order-notes {
    border-radius: 0 0 var(--radius) var(--radius) !important;
    box-shadow: var(--shadow-soft) !important;
  }

  body.arsin-checkout-blocks .wc-block-components-checkout-step__title,
  body.arsin-checkout-blocks .wc-block-components-title {
    color: var(--ink-2) !important;
    font-size: var(--fs-h2) !important;
    font-weight: 800 !important;
  }

  body.arsin-checkout-blocks .wc-block-components-checkout-step__description,
  body.arsin-checkout-blocks .wc-block-components-shipping-rates-control__no-shipping-address-message {
    color: var(--muted) !important;
    font-size: var(--checkout-caption) !important;
    font-weight: 400 !important;
  }

  body.arsin-checkout-blocks .wc-block-checkout__sidebar > .wp-block-woocommerce-checkout-order-summary-block {
    box-shadow: none !important;
  }

  body.arsin-checkout-blocks .wc-block-checkout__actions .wc-block-components-checkout-place-order-button {
    font-size: var(--checkout-body) !important;
    font-weight: 700 !important;
  }

  body.arsin-checkout-blocks .section--checkout-blocks .wc-block-components-text-input label,
  body.arsin-checkout-blocks .section--checkout-blocks .wc-block-components-textarea label,
  body.arsin-checkout-blocks .section--checkout-blocks .wc-block-components-combobox label,
  body.arsin-checkout-blocks .section--checkout-blocks .wc-blocks-components-select__label,
  body.arsin-checkout-blocks .section--checkout-blocks .asc-organization-phone-field label {
    color: var(--ink) !important;
    font-size: var(--checkout-caption) !important;
    font-weight: 700 !important;
  }
}

/* ==========================================================================
   Checkout ↔ Cart Canon parity
   Payment choices, order prices, total and primary CTA follow cart-demo.
   ========================================================================== */
body.arsin-checkout-blocks #payment-method .wc-block-components-radio-control {
  display: grid;
  gap: var(--space-3);
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}

body.arsin-checkout-blocks #payment-method .wc-block-components-radio-control::before,
body.arsin-checkout-blocks #payment-method .wc-block-components-radio-control::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.arsin-checkout-blocks #shipping-option .wc-block-components-radio-control,
body.arsin-checkout-blocks .wc-block-components-shipping-rates-control__package > .wc-block-components-radio-control {
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}

body.arsin-checkout-blocks #shipping-option .wc-block-components-radio-control::before,
body.arsin-checkout-blocks #shipping-option .wc-block-components-radio-control::after,
body.arsin-checkout-blocks .wc-block-components-shipping-rates-control__package > .wc-block-components-radio-control::before,
body.arsin-checkout-blocks .wc-block-components-shipping-rates-control__package > .wc-block-components-radio-control::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.arsin-checkout-blocks #payment-method .wc-block-components-radio-control-accordion-option,
body.arsin-checkout-blocks #payment-method .asc-cod-host,
body.arsin-checkout-blocks #payment-method .asc-zpal-host {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 48px !important;
  align-items: center;
  column-gap: 10px;
  width: 100% !important;
  min-height: 74px !important;
  max-height: 74px !important;
  height: 74px !important;
  margin: 0 !important;
  padding: var(--space-3) !important;
  overflow: hidden;
  border: 1px solid #d8d8d8 !important;
  border-radius: var(--radius) !important;
  background: var(--white) !important;
  box-shadow: none !important;
  overflow-anchor: none;
}

body.arsin-checkout-blocks #payment-method .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
body.arsin-checkout-blocks #payment-method .wc-block-components-radio-control-accordion-option:has(input:checked) {
  border-color: var(--brand-line) !important;
  background: var(--brand-soft) !important;
}

body.arsin-checkout-blocks #payment-method .wc-block-components-radio-control-accordion-option > .wc-block-components-radio-control__option {
  min-height: 48px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.arsin-checkout-blocks #payment-method .wc-block-components-payment-method-label {
  color: var(--ink) !important;
  font-size: var(--type-sm) !important;
  font-weight: 700 !important;
}

body.arsin-checkout-blocks #payment-method .asc-zpal-host > #zarinpal,
body.arsin-checkout-blocks #payment-method .asc-zpal-host > .asc-zpal-trust-in-method {
  display: inline-flex !important;
  width: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  align-self: center !important;
  margin: 0 !important;
  padding: var(--space-1) !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: var(--radius) !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  animation: none !important;
}

body.arsin-checkout-blocks #payment-method .asc-cod-host > .asc-cod-payment-icon {
  width: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  border-color: var(--line) !important;
  border-radius: var(--radius) !important;
  background: var(--white) !important;
}

body.arsin-checkout-blocks .wc-block-checkout__sidebar > .wp-block-woocommerce-checkout-order-summary-block {
  padding: 0 var(--space-3) var(--space-3) !important;
  overflow: hidden;
  border: 1px solid #e2e7ec !important;
  border-radius: var(--radius) !important;
  background: linear-gradient(180deg, var(--white) 0%, #fbfcfd 100%) !important;
  box-shadow: 0 8px 22px rgb(17 24 39 / 5%) !important;
}

body.arsin-checkout-blocks .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title {
  min-height: 64px;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid #e1e1e1 !important;
}

body.arsin-checkout-blocks .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title-text,
body.arsin-checkout-blocks .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title .wc-block-components-title {
  color: #151515 !important;
  font-size: var(--type-2xl) !important;
  font-weight: 700 !important;
}

body.arsin-checkout-blocks .wc-block-components-order-summary-item {
  border-color: #d8d8d8 !important;
  background: var(--white) !important;
}

body.arsin-checkout-blocks .wc-block-components-order-summary-item__individual-prices {
  display: inline-flex !important;
  align-items: baseline;
  gap: var(--space-2);
  color: var(--brand) !important;
  font-size: var(--type-lg) !important;
  font-weight: 800 !important;
  line-height: 1.55 !important;
}

body.arsin-checkout-blocks .wc-block-components-order-summary-item__individual-price,
body.arsin-checkout-blocks .wc-block-components-order-summary-item__individual-prices > ins {
  color: var(--brand) !important;
  font-size: var(--type-lg) !important;
  font-weight: 800 !important;
  line-height: 1.55 !important;
  text-decoration: none !important;
}

body.arsin-checkout-blocks .wc-block-components-order-summary-item__individual-prices > del,
body.arsin-checkout-blocks .wc-block-components-order-summary-item__regular-individual-price {
  color: #8a8a8a !important;
  font-size: var(--type-xs) !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  text-decoration: line-through !important;
}

body.arsin-checkout-blocks .wc-block-components-order-summary-item__total-price,
body.arsin-checkout-blocks .wc-block-components-order-summary-item__total-price .price,
body.arsin-checkout-blocks .wc-block-components-order-summary-item__total-price .wc-block-formatted-money-amount {
  color: var(--brand) !important;
  font-size: var(--type-lg) !important;
  font-weight: 800 !important;
  line-height: 1.55 !important;
}

body.arsin-checkout-blocks .wc-block-components-totals-item.wc-block-components-totals-footer-item {
  min-height: 56px !important;
  margin-top: var(--space-2) !important;
  padding: 10px var(--space-3) !important;
  border: 1px solid var(--brand-line) !important;
  border-radius: var(--radius) !important;
  background: var(--brand-soft) !important;
}

body.arsin-checkout-blocks .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  color: var(--brand) !important;
  font-size: var(--type-lg) !important;
  font-weight: 800 !important;
}

body.arsin-checkout-blocks .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.arsin-checkout-blocks .wc-block-components-totals-footer-item .wc-block-formatted-money-amount {
  color: var(--brand) !important;
  font-size: var(--type-2xl) !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
}

body.arsin-checkout-blocks .wc-block-checkout__actions,
body.arsin-checkout-blocks .wc-block-checkout__actions.is-style-with-price {
  position: static !important;
  inset: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

body.arsin-checkout-blocks .wc-block-checkout__actions .wc-block-components-checkout-place-order-button,
body.arsin-checkout-blocks .wc-block-components-checkout-place-order-button.contained {
  min-height: 50px !important;
  padding: 12px var(--space-4) !important;
  border: 0 !important;
  border-radius: var(--radius) !important;
  background: var(--brand) !important;
  color: var(--white) !important;
  font-size: var(--type-sm) !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  box-shadow: none !important;
}

body.arsin-checkout-blocks .wc-block-checkout__actions .wc-block-components-button.wc-block-components-checkout-place-order-button.wc-block-components-checkout-place-order-button--full-width.contained {
  min-height: 52px !important;
  height: 52px !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: var(--radius) !important;
  background: var(--brand) !important;
  color: var(--white) !important;
  font-family: var(--font-sans) !important;
  font-size: var(--fs-btn) !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  transition:
    background-color var(--ease),
    box-shadow var(--ease),
    transform var(--ease);
}

body.arsin-checkout-blocks .wc-block-checkout__actions .wc-block-components-checkout-place-order-button .wc-block-components-button__text,
body.arsin-checkout-blocks .wc-block-checkout__actions .wc-block-components-checkout-place-order-button__text {
  display: inline-flex !important;
  width: auto !important;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  white-space: nowrap !important;
}

body.arsin-checkout-blocks .wc-block-checkout__actions .wc-block-components-checkout-place-order-button__separator {
  display: block;
  width: 4px;
  height: 4px;
  flex: 0 0 4px;
  overflow: hidden;
  border-radius: 50%;
  background: rgb(255 255 255 / 55%);
  font-size: 0 !important;
}

body.arsin-checkout-blocks .wc-block-checkout__actions .wc-block-components-checkout-place-order-button__separator::after {
  content: none !important;
}

body.arsin-checkout-blocks .wc-block-checkout__actions .wc-block-components-checkout-place-order-button__price {
  color: inherit !important;
  font-size: var(--type-sm) !important;
  font-weight: 700 !important;
  line-height: inherit !important;
  white-space: nowrap !important;
}

body.arsin-checkout-blocks .wc-block-checkout__actions .wc-block-components-checkout-place-order-button:hover {
  background: var(--brand-2) !important;
}

body.arsin-checkout-blocks .wc-block-checkout__actions .wc-block-components-checkout-place-order-button:focus-visible {
  outline: 0 !important;
  box-shadow: var(--focus-ring) !important;
}

body.arsin-checkout-blocks .wc-block-checkout__actions .wc-block-components-checkout-place-order-button:active {
  transform: translateY(1px);
}

body.arsin-checkout-blocks .wc-block-checkout__actions .wc-block-components-checkout-place-order-button:disabled {
  cursor: not-allowed;
  opacity: .55;
  transform: none;
}

/* Billing field matrix requested for checkout:
 * name | family, company | organization phone, state | city,
 * full address, mobile | postcode.
 */
body.arsin-checkout-blocks #billing.wc-block-components-address-form {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--space-3) !important;
  align-items: start !important;
}

body.arsin-checkout-blocks #billing.wc-block-components-address-form > * {
  align-self: start !important;
}

body.arsin-checkout-blocks #billing > .wc-block-components-address-form__first_name {
  grid-column: span 1 !important;
  order: 10;
}

body.arsin-checkout-blocks #billing > .wc-block-components-address-form__last_name {
  grid-column: span 1 !important;
  order: 11;
}

body.arsin-checkout-blocks #billing > .wc-block-components-address-form__company {
  grid-column: span 1 !important;
  order: 20;
}

body.arsin-checkout-blocks #billing > .asc-organization-phone-field {
  display: grid;
  grid-column: span 1 !important;
  order: 21;
  align-self: start;
  gap: 5px;
  min-width: 0;
  margin: 0;
}

body.arsin-checkout-blocks #billing > .wc-block-components-address-form__state {
  grid-column: span 1 !important;
  order: 30;
}

body.arsin-checkout-blocks #billing > .wc-block-components-address-form__city {
  grid-column: span 1 !important;
  order: 31;
}

body.arsin-checkout-blocks #billing > .wc-block-components-address-form__address_1,
body.arsin-checkout-blocks #billing > .wc-block-components-address-form__address-1 {
  grid-column: 1 / -1 !important;
  order: 40;
}

body.arsin-checkout-blocks #billing > .wc-block-components-address-form__phone {
  grid-column: span 1 !important;
  order: 50;
}

body.arsin-checkout-blocks #billing > .wc-block-components-address-form__postcode {
  grid-column: span 1 !important;
  order: 51;
}

body.arsin-checkout-blocks #billing > .asc-organization-phone-field > label {
  color: var(--ink) !important;
  font-size: var(--checkout-caption) !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}

body.arsin-checkout-blocks #billing > .asc-organization-phone-field > input {
  width: 100%;
  min-height: var(--control-height) !important;
  padding: 8px var(--space-3) !important;
  border: 1px solid var(--line-2) !important;
  border-radius: var(--radius) !important;
  background: var(--white) !important;
  color: var(--ink) !important;
  font-family: inherit !important;
  font-size: var(--checkout-meta) !important;
  direction: ltr;
  text-align: left;
}

body.arsin-checkout-blocks #billing > .wc-block-components-address-form__first_name label::after,
body.arsin-checkout-blocks #billing > .wc-block-components-address-form__last_name label::after,
body.arsin-checkout-blocks #billing > .wc-block-components-address-form__state label::after,
body.arsin-checkout-blocks #billing > .wc-block-components-address-form__city label::after,
body.arsin-checkout-blocks #billing > .wc-block-components-address-form__address_1 label::after,
body.arsin-checkout-blocks #billing > .wc-block-components-address-form__address-1 label::after,
body.arsin-checkout-blocks #billing > .wc-block-components-address-form__phone > label::after {
  content: " *";
  color: var(--brand);
}

body.arsin-checkout-blocks #billing > .wc-block-components-text-input {
  display: grid !important;
  align-content: start;
  gap: 5px !important;
}

body.arsin-checkout-blocks #billing > .wc-block-components-text-input > label {
  position: static !important;
  inset: auto !important;
  order: -1;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  color: var(--ink) !important;
  font-size: var(--checkout-caption) !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  pointer-events: auto;
}

body.arsin-checkout-blocks #billing > .wc-block-components-text-input > input {
  width: 100% !important;
  margin: 0 !important;
  padding: 8px var(--space-3) !important;
}

body.arsin-checkout-blocks #billing > .wc-block-components-address-form__phone > .asc-ir-phone-input-wrap > input {
  padding-inline-end: 44px !important;
}

/* Empty Woo Blocks placeholders must not consume flex gaps after form flattening. */
body.arsin-checkout-blocks .wc-block-checkout__form > :empty {
  display: none !important;
}

@media (max-width: 760px) {
  body.arsin-checkout-blocks .wc-block-components-sidebar-layout.wc-block-checkout {
    gap: var(--space-3) !important;
  }

  body.arsin-checkout-blocks #billing-fields,
  body.arsin-checkout-blocks #order-notes,
  body.arsin-checkout-blocks #shipping-option,
  body.arsin-checkout-blocks #payment-method,
  body.arsin-checkout-blocks .wc-block-checkout__sidebar,
  body.arsin-checkout-blocks .wc-block-checkout__actions {
    margin-inline: 0 !important;
  }
}

/* Order-summary typography hierarchy. */
body.arsin-checkout-blocks .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title-text,
body.arsin-checkout-blocks .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title .wc-block-components-title {
  color: var(--ink-2) !important;
  font-size: var(--fs-h2) !important;
  font-weight: 800 !important;
  line-height: 1.5 !important;
}

body.arsin-checkout-blocks .wc-block-checkout__sidebar .wc-block-components-order-summary-item__total-price,
body.arsin-checkout-blocks .wc-block-checkout__sidebar .wc-block-components-order-summary-item__total-price .price,
body.arsin-checkout-blocks .wc-block-checkout__sidebar .wc-block-components-order-summary-item__total-price .wc-block-components-product-price__value {
  color: var(--brand) !important;
  font-size: calc(var(--type-xl) - 2px) !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
  font-variant-numeric: tabular-nums;
}

body.arsin-checkout-blocks .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-subtotal-block .wc-block-components-totals-item__value,
body.arsin-checkout-blocks .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-subtotal-block .wc-block-formatted-money-amount,
body.arsin-checkout-blocks .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-shipping-block .wc-block-components-totals-item__value,
body.arsin-checkout-blocks .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-shipping-block .wc-block-formatted-money-amount {
  color: var(--ink) !important;
  font-size: calc(var(--type-xl) - 2px) !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
  font-variant-numeric: tabular-nums;
}

body.arsin-checkout-blocks .wc-block-checkout__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.arsin-checkout-blocks .wc-block-checkout__sidebar .wc-block-components-totals-footer-item .wc-block-formatted-money-amount,
body.arsin-checkout-blocks .wc-block-checkout__sidebar .wc-block-components-totals-footer-item-tax-value {
  font-size: calc(var(--type-xl) - 2px) !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
  font-variant-numeric: tabular-nums;
}

body.arsin-checkout-blocks #shipping-option .wc-block-components-radio-control__label-group {
  flex-flow: row nowrap !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: var(--space-2) !important;
  min-width: 0;
}

body.arsin-checkout-blocks #shipping-option .wc-block-components-radio-control__label,
body.arsin-checkout-blocks #shipping-option .wc-block-components-radio-control__secondary-label {
  flex: 0 0 auto !important;
  width: auto !important;
  white-space: nowrap;
}

body.arsin-checkout-blocks .wc-block-checkout__sidebar .wc-block-components-order-summary-item__individual-prices {
  flex-direction: row-reverse !important;
}

/* Woo Blocks injects raw nested SCSS as <style> inside the place-order button. */
body.arsin-checkout-blocks .wc-block-components-checkout-place-order-button style,
body.arsin-checkout-blocks .wc-block-components-checkout-place-order-button__text > style {
  display: none !important;
}

/* Compact checkout copy uses the shared small-type token. */
body.arsin-checkout-blocks #order-notes textarea.wc-block-components-textarea,
body.arsin-checkout-blocks .wc-block-checkout__sidebar .wc-block-components-product-name,
body.arsin-checkout-blocks .wc-block-checkout__sidebar .wc-block-components-order-summary-item__individual-price,
body.arsin-checkout-blocks .wc-block-checkout__sidebar .wc-block-components-order-summary-item__regular-individual-price,
body.arsin-checkout-blocks .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-coupon-form-block .wc-block-components-panel__button,
body.arsin-checkout-blocks .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-subtotal-block .wc-block-components-totals-item__label,
body.arsin-checkout-blocks .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-shipping-block .wc-block-components-totals-item__label,
body.arsin-checkout-blocks .wc-block-checkout__sidebar .wc-block-components-totals-shipping__via {
  font-size: var(--type-sm) !important;
  line-height: 1.5 !important;
}

body.arsin-checkout-blocks .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title-price,
body.arsin-checkout-blocks .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title-icon {
  display: none !important;
}

/* Shipping totals: label | via | value on one row (sidebar + mobile actions copy). */
body.arsin-checkout-blocks .wc-block-components-totals-shipping,
body.arsin-checkout-blocks .wc-block-components-totals-shipping > .wc-block-components-totals-item {
  margin-inline: 0 !important;
  padding-inline: 0 !important;
}

body.arsin-checkout-blocks .wc-block-components-totals-shipping .wc-block-components-totals-item__description,
body.arsin-checkout-blocks .wc-block-components-totals-shipping .wc-block-components-totals-shipping__via {
  margin: 0 !important;
  padding: 0 !important;
  padding-inline: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.arsin-checkout-blocks .wc-block-components-totals-shipping > .wc-block-components-totals-item {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: baseline !important;
  gap: 0 var(--space-2) !important;
}

body.arsin-checkout-blocks .wc-block-components-totals-shipping .wc-block-components-totals-item__label {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
}

body.arsin-checkout-blocks .wc-block-components-totals-shipping .wc-block-components-totals-item__description {
  display: block !important;
  flex: 0 0 auto !important;
  grid-column: 2;
  grid-row: 1;
  width: auto !important;
}

body.arsin-checkout-blocks .wc-block-components-totals-shipping .wc-block-components-totals-item__value {
  grid-column: 3;
  grid-row: 1;
  width: auto !important;
  margin: 0 !important;
}

body.arsin-checkout-blocks .wc-block-components-totals-shipping__via {
  white-space: nowrap;
}

body.arsin-checkout-blocks #billing-fields .wc-block-components-address-card,
body.arsin-checkout-blocks #billing-fields .wc-block-components-address-card address,
body.arsin-checkout-blocks #billing-fields .wc-block-components-address-card__address-section,
body.arsin-checkout-blocks #billing-fields .wc-block-components-address-card__edit {
  font-size: var(--type-sm) !important;
  line-height: 1.5 !important;
}

body.arsin-checkout-blocks #billing-fields .wc-block-components-address-card address {
  display: grid;
  gap: 4px;
  min-width: 0;
}

body.arsin-checkout-blocks #billing-fields .wc-block-components-address-card__address-section {
  display: block;
  white-space: normal;
}

body.arsin-checkout-blocks #payment-method .asc-zpal-host > #zarinpal,
body.arsin-checkout-blocks #payment-method .asc-zpal-host > .asc-zpal-trust-in-method,
body.arsin-checkout-blocks #payment-method .asc-cod-host > .asc-cod-payment-icon {
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  animation: none !important;
}

body.arsin-checkout-blocks #payment-method .asc-zpal-host > #zarinpal:hover,
body.arsin-checkout-blocks #payment-method .asc-zpal-host > .asc-zpal-trust-in-method:hover,
body.arsin-checkout-blocks #payment-method .asc-zpal-host > #zarinpal:focus-within,
body.arsin-checkout-blocks #payment-method .asc-zpal-host > .asc-zpal-trust-in-method:focus-within {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

body.arsin-checkout-blocks .wc-block-checkout__actions .wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button.wc-block-components-checkout-place-order-button--full-width.contained {
  font-size: var(--type-xl) !important;
}

/* Desktop sidebar proxy CTA — beat `.contained { font-size: type-sm }` (higher specificity). */
body.arsin-checkout-blocks .asc-checkout-sidebar-actions .asc-checkout-sidebar-place-order.wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button.wc-block-components-checkout-place-order-button--full-width.contained,
body.arsin-checkout-blocks button.asc-checkout-sidebar-place-order.wc-block-components-checkout-place-order-button.contained {
  font-size: var(--type-xl) !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  color: var(--white) !important;
}

body.arsin-checkout-blocks .asc-checkout-sidebar-place-order .wc-block-components-button__text,
body.arsin-checkout-blocks .asc-checkout-sidebar-place-order .wc-block-components-checkout-place-order-button__text,
body.arsin-checkout-blocks .asc-checkout-sidebar-place-order .wc-block-components-checkout-place-order-button__price,
body.arsin-checkout-blocks .asc-checkout-sidebar-place-order .wc-block-formatted-money-amount,
body.arsin-checkout-blocks .asc-checkout-sidebar-place-order .wc-block-components-formatted-money-amount {
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
}

body.arsin-checkout-blocks .asc-checkout-sidebar-place-order .arsin-toman-svg > bdi::after {
  filter: brightness(0) invert(1) !important;
  opacity: 1 !important;
}

body.arsin-checkout-blocks .wc-block-checkout__actions .wc-block-components-checkout-place-order-button .wc-block-components-button__text,
body.arsin-checkout-blocks .wc-block-checkout__actions .wc-block-components-checkout-place-order-button__text,
body.arsin-checkout-blocks .wc-block-checkout__actions .wc-block-components-checkout-place-order-button__price,
body.arsin-checkout-blocks .wc-block-checkout__actions .wc-block-components-checkout-place-order-button .wc-block-formatted-money-amount {
  font-size: inherit !important;
  line-height: inherit !important;
}

body.arsin-checkout-blocks .wc-block-checkout__actions .wc-block-components-checkout-place-order-button .arsin-toman-svg > bdi::after {
  filter: brightness(0) invert(1);
  opacity: 1;
}

body.arsin-checkout-blocks .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-shipping-block .wc-block-components-totals-item__value,
body.arsin-checkout-blocks .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-shipping-block .wc-block-formatted-money-amount {
  font-size: var(--type-sm) !important;
  line-height: 1.5 !important;
}

/* Empty cart — unified storefront empty state. */
body.arsin-cart .section--cart > .container > .woocommerce {
  width: 100%;
}

body.arsin-cart .empty-state.woocommerce-cart-empty {
  display: grid !important;
  box-sizing: border-box;
  justify-items: center;
  gap: 0 !important;
  width: 100%;
  max-width: 720px;
  margin: 0 auto !important;
  padding: 48px 40px 32px !important;
  overflow: hidden;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius-lg) !important;
  background:
    radial-gradient(circle at 50% 0%, var(--brand-soft) 0, transparent 42%),
    var(--white) !important;
  box-shadow: var(--shadow-soft) !important;
  text-align: center;
}

body.arsin-cart .empty-state.woocommerce-cart-empty .empty-state__icon {
  display: inline-grid;
  place-items: center;
  width: 72px;
  height: 72px;
  margin-bottom: var(--space-3);
  border: 1px solid var(--brand-line);
  border-radius: 50%;
  background: var(--brand-soft);
  color: var(--brand);
}

body.arsin-cart .empty-state.woocommerce-cart-empty .empty-state__icon .icon,
body.arsin-cart .empty-state.woocommerce-cart-empty .empty-state__icon .material-symbols-outlined {
  width: auto;
  height: auto;
  overflow: visible;
  color: inherit;
  font-size: 34px;
  line-height: 1;
}

body.arsin-cart .empty-state__eyebrow {
  display: inline-flex;
  min-height: 26px;
  align-items: center;
  margin-bottom: var(--space-2);
  padding: 3px 10px;
  border-radius: 999px;
  background: var(--brand-soft);
  color: var(--brand);
  font-size: var(--type-xs);
  font-weight: 800;
  line-height: 1.4;
}

body.arsin-cart .empty-state.woocommerce-cart-empty h1 {
  max-width: 100%;
  margin: 0 !important;
  color: var(--ink-2);
  font-size: var(--type-xl) !important;
  font-weight: 800;
  line-height: 1.5;
}

body.arsin-cart .empty-state__description {
  max-width: 540px;
  margin: var(--space-2) 0 0 !important;
  color: var(--muted);
  font-size: var(--type-md);
  font-weight: 500;
  line-height: 1.8;
}

body.arsin-cart .empty-state__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
  width: min(100%, 440px);
  margin-top: var(--space-5);
}

body.arsin-cart .empty-state__actions .btn {
  width: 100%;
  min-height: 48px;
  gap: var(--space-2);
  padding: 10px var(--space-4);
  border-radius: var(--radius);
  font-size: var(--fs-btn);
  font-weight: 800;
}

body.arsin-cart .empty-state__actions .btn .icon,
body.arsin-cart .empty-state__actions .btn .material-symbols-outlined {
  font-size: 20px;
}

body.arsin-cart .empty-state.woocommerce-cart-empty > .wc-trust {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)) !important;
  gap: var(--space-2) !important;
  width: 100%;
  max-width: 600px;
  margin: var(--space-5) 0 0 !important;
  padding-top: var(--space-4);
  border-top: 1px solid var(--line);
}

body.arsin-cart .empty-state.woocommerce-cart-empty > .wc-trust .wc-trust__item {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  padding: 10px 6px;
  border: 0;
  border-radius: var(--radius);
  background: var(--surface-soft, #fafbfc);
  text-align: center;
}

body.arsin-cart .empty-state.woocommerce-cart-empty > .wc-trust .icon,
body.arsin-cart .empty-state.woocommerce-cart-empty > .wc-trust .material-symbols-outlined {
  color: var(--brand);
  font-size: 22px;
}

body.arsin-cart .empty-state.woocommerce-cart-empty > .wc-trust b {
  color: var(--ink-2);
  font-size: var(--type-xs);
  font-weight: 700;
  line-height: 1.5;
}

body.arsin-cart .empty-state.woocommerce-cart-empty > .wc-trust .wc-trust__text {
  display: none;
}

@media (max-width: 560px) {
  body.arsin-cart .empty-state.woocommerce-cart-empty {
    padding: 32px 16px 20px !important;
    border-radius: var(--radius) !important;
  }

  body.arsin-cart .empty-state.woocommerce-cart-empty .empty-state__icon {
    width: 64px;
    height: 64px;
  }

  body.arsin-cart .empty-state__description {
    font-size: var(--type-sm);
    line-height: 1.75;
  }

  body.arsin-cart .empty-state__actions {
    grid-template-columns: 1fr;
    gap: var(--space-2);
    margin-top: var(--space-4);
  }

  body.arsin-cart .empty-state.woocommerce-cart-empty > .wc-trust {
    margin-top: var(--space-4) !important;
    padding-top: var(--space-3);
  }
}

/* Order received hero — cart / checkout document-canon alignment. */
body.arsin-order-received .order-received__hero:not(.order-received__hero--failed) {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(210px, 0.42fr);
  align-items: stretch;
  gap: var(--space-4, 16px);
  min-width: 0;
  margin: 0;
  padding: var(--space-4, 16px);
  overflow: hidden;
  border: 1px solid rgb(31 41 51 / 14%);
  border-top: 4px solid var(--brand);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgb(174 17 28 / 4.5%), rgb(255 255 255 / 0) 38%),
    var(--white);
  box-shadow: var(--shadow-soft);
}

body.arsin-order-received .order-received__hero:not(.order-received__hero--failed) .order-received__hero-copy {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  align-items: center;
  align-content: center;
  justify-items: stretch;
  gap: var(--space-3, 12px);
  min-width: 0;
}

body.arsin-order-received .order-received__hero:not(.order-received__hero--failed) .order-received__icon {
  display: inline-grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border: 1px solid rgb(35 134 88 / 22%);
  border-radius: var(--radius);
  background: #eef9f5;
  color: var(--success);
}

body.arsin-order-received .order-received__hero:not(.order-received__hero--failed) .order-received__icon .icon,
body.arsin-order-received .order-received__hero:not(.order-received__hero--failed) .order-received__icon .material-symbols-outlined {
  font-size: var(--type-2xl);
}

body.arsin-order-received .order-received__hero-text {
  display: grid;
  gap: var(--space-1, 4px);
  min-width: 0;
}

body.arsin-order-received .order-received__status {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  gap: var(--space-1, 4px);
  margin: 0;
  color: var(--success);
  font-size: var(--type-xs);
  font-weight: 700;
  line-height: 1.5;
}

body.arsin-order-received .order-received__status .icon,
body.arsin-order-received .order-received__status .material-symbols-outlined {
  width: 18px;
  height: 18px;
  color: inherit;
  font-size: 18px;
  line-height: 1;
}

body.arsin-order-received .order-received__hero:not(.order-received__hero--failed) .order-received__title {
  margin: 0;
  color: var(--ink);
  font-size: var(--type-xl);
  font-weight: 800;
  line-height: 1.45;
}

body.arsin-order-received .order-received__hero:not(.order-received__hero--failed) .order-received__lead {
  max-width: 46em;
  margin: 0;
  color: var(--muted);
  font-size: var(--type-sm);
  font-weight: 400;
  line-height: 1.7;
}

body.arsin-order-received .order-received__hero-side {
  display: grid;
  align-content: space-between;
  gap: var(--space-3, 12px);
  min-width: 0;
  padding-inline-start: var(--space-4, 16px);
  border-inline-start: 1px dashed var(--line);
}

body.arsin-order-received .order-received__order-no {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: var(--space-2, 8px);
  width: 100%;
  margin: 0;
  padding: var(--space-2, 8px);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--soft-2);
  color: var(--ink);
}

body.arsin-order-received .order-received__order-no-icon {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: var(--radius-sm);
  background: var(--white);
  color: var(--brand);
}

body.arsin-order-received .order-received__order-no-icon .icon,
body.arsin-order-received .order-received__order-no-icon .material-symbols-outlined {
  color: inherit;
  font-size: 20px;
}

body.arsin-order-received .order-received__order-no-copy {
  display: grid;
  gap: 1px;
  min-width: 0;
}

body.arsin-order-received .order-received__order-no-label {
  color: var(--muted);
  font-size: var(--type-xs);
  font-weight: 400;
  line-height: 1.5;
}

body.arsin-order-received .order-received__order-no-value {
  color: var(--ink);
  font-size: var(--type-base);
  font-weight: 800;
  line-height: 1.4;
}

body.arsin-order-received .order-received__hero:not(.order-received__hero--failed) .order-received__hero-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2, 8px);
  align-self: auto;
}

body.arsin-order-received .order-received__hero:not(.order-received__hero--failed) .order-received__hero-actions .btn,
body.arsin-order-received .order-received__hero:not(.order-received__hero--failed) .order-received__hero-actions .button {
  width: 100%;
  min-width: 0;
  min-height: var(--control-height, 44px);
  margin: 0;
  padding-inline: var(--space-2, 8px);
  justify-content: center;
  gap: var(--space-1, 4px);
  font-size: var(--type-xs);
  white-space: nowrap;
}

body.arsin-order-received .order-received__hero:not(.order-received__hero--failed) .order-received__hero-actions > :only-child {
  grid-column: 1 / -1;
}

body.arsin-order-received .order-received__hero-actions .icon,
body.arsin-order-received .order-received__hero-actions .material-symbols-outlined {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  font-size: 18px;
}

@media (max-width: 960px) {
  body.arsin-order-received .order-received__hero:not(.order-received__hero--failed) {
    grid-template-columns: minmax(0, 1fr);
  }

  body.arsin-order-received .order-received__hero-side {
    padding-block-start: var(--space-3, 12px);
    padding-inline-start: 0;
    border-block-start: 1px dashed var(--line);
    border-inline-start: 0;
  }
}

@media (max-width: 760px) {
  body.arsin-order-received .order-received__hero:not(.order-received__hero--failed) {
    gap: var(--space-3, 12px);
    padding: var(--space-3, 12px);
  }

  body.arsin-order-received .order-received__hero:not(.order-received__hero--failed) .order-received__hero-copy {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: var(--space-2, 8px);
  }

  body.arsin-order-received .order-received__hero:not(.order-received__hero--failed) .order-received__icon {
    width: 44px;
    height: 44px;
  }

  body.arsin-order-received .order-received__hero:not(.order-received__hero--failed) .order-received__title {
    font-size: var(--type-lg);
  }

  body.arsin-order-received .order-received__hero:not(.order-received__hero--failed) .order-received__lead {
    grid-column: 1 / -1;
    font-size: var(--type-sm);
  }

  body.arsin-order-received .order-received__hero-side {
    gap: var(--space-2, 8px);
    padding-block-start: var(--space-3, 12px);
  }

  body.arsin-order-received .order-received__hero:not(.order-received__hero--failed) .order-received__hero-actions {
    flex-direction: initial;
    align-items: initial;
  }
}

/* Order confirmation refinement: quiet panel headers + centered success title. */
body.arsin-order-received .order-received__hero:not(.order-received__hero--failed),
body.arsin-order-received .order-overview-grid,
body.arsin-order-received .order-received-next,
body.arsin-order-received .order-received-sales,
body.arsin-order-received .account-order-timeline,
body.arsin-order-received .account-order-stepper,
body.arsin-order-received .woocommerce-order-details,
body.arsin-order-received .order-received-docs {
  border-top-width: 1px;
  border-top-color: var(--line);
}

body.arsin-order-received .order-received__hero:not(.order-received__hero--failed) .order-received__hero-copy {
  display: block;
}

body.arsin-order-received .order-received__hero-text {
  display: grid;
  gap: var(--space-3, 12px);
  width: 100%;
}

body.arsin-order-received .order-received__status {
  justify-self: center;
  justify-content: center;
  gap: var(--space-2, 8px);
  width: 100%;
  color: var(--success);
  font-size: var(--type-xl);
  font-weight: 800;
  line-height: 1.45;
  text-align: center;
}

body.arsin-order-received .order-received__status .icon,
body.arsin-order-received .order-received__status .material-symbols-outlined {
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  font-size: 28px;
}

body.arsin-order-received .order-received__lead {
  display: grid;
  gap: var(--space-2, 8px);
  max-width: none;
  color: var(--ink-soft);
  font-size: var(--type-sm);
  font-weight: 400;
  line-height: 1.8;
  text-align: right;
}

body.arsin-order-received .order-received__lead p {
  margin: 0;
  color: inherit;
  font: inherit;
  line-height: inherit;
}

@media (max-width: 760px) {
  body.arsin-order-received .order-received__status {
    font-size: var(--type-xl);
  }

  body.arsin-order-received .order-received__lead {
    font-size: var(--type-sm);
  }
}

/* Confirmation heading: status right, plain order number left. */
body.arsin-order-received .order-received__hero-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3, 12px);
  width: 100%;
  min-width: 0;
}

body.arsin-order-received .order-received__hero-heading .order-received__status {
  justify-self: auto;
  justify-content: flex-start;
  width: auto;
  min-width: 0;
  margin: 0;
  text-align: right;
}

body.arsin-order-received .order-received__hero-heading .order-received__order-no {
  display: inline-flex;
  grid-template-columns: none;
  flex: 0 0 auto;
  align-items: baseline;
  gap: var(--space-1, 4px);
  width: auto;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  white-space: nowrap;
}

body.arsin-order-received .order-received__hero-heading .order-received__order-no-label {
  color: var(--muted);
  font-size: var(--type-sm);
  font-weight: 400;
}

body.arsin-order-received .order-received__hero-heading .order-received__order-no-value {
  color: var(--brand);
  font-size: var(--type-lg);
  font-weight: 800;
}

body.arsin-order-received .order-received__hero-heading .order-received__order-no-value bdi {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}

/* Restore the theme-wide `.btn` contract; no receipt-specific button sizing. */
body.arsin-order-received .order-received__hero:not(.order-received__hero--failed) .order-received__hero-actions {
  display: flex;
  flex-wrap: wrap;
  grid-template-columns: none;
  align-items: center;
  justify-content: flex-start;
  gap: var(--space-2, 8px);
}

body.arsin-order-received .order-received__hero:not(.order-received__hero--failed) .order-received__hero-actions .btn,
body.arsin-order-received .order-received__hero:not(.order-received__hero--failed) .order-received__hero-actions .button {
  display: inline-flex;
  width: auto;
  min-width: 0;
  min-height: var(--btn-height);
  margin: 0;
  padding: 8px 14px;
  gap: 7px;
  border-radius: var(--radius);
  font-size: var(--fs-btn);
  font-weight: 700;
}

body.arsin-order-received .order-received__hero:not(.order-received__hero--failed) .order-received__hero-actions > :only-child {
  grid-column: auto;
}

@media (max-width: 760px) {
  body.arsin-order-received .order-received__hero-heading {
    gap: var(--space-2, 8px);
  }

  body.arsin-order-received .order-received__hero-heading .order-received__order-no-label {
    font-size: var(--type-xs);
  }

  body.arsin-order-received .order-received__hero-heading .order-received__order-no-value {
    font-size: var(--type-md);
  }

  body.arsin-order-received .order-received__hero:not(.order-received__hero--failed) .order-received__hero-actions .btn,
  body.arsin-order-received .order-received__hero:not(.order-received__hero--failed) .order-received__hero-actions .button {
    width: auto;
  }
}

/* Simplified thank-you page: hero owns the full top row. */
body.arsin-order-received .order-received-top {
  grid-template-columns: minmax(0, 1fr);
}

body.arsin-order-received .order-received__hero-side {
  width: 100%;
}

body.arsin-order-received .order-received__hero:not(.order-received__hero--failed) .order-received__hero-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  justify-content: center;
  width: 100%;
}

body.arsin-order-received .order-received__hero:not(.order-received__hero--failed) .order-received__hero-actions .btn,
body.arsin-order-received .order-received__hero:not(.order-received__hero--failed) .order-received__hero-actions .button {
  width: 100%;
}

body.arsin-order-received .order-received__hero-actions .btn--outline,
body.arsin-order-received .order-received__hero-actions .button.btn--outline {
  border-color: var(--line);
  background: var(--white);
  color: var(--ink);
}

body.arsin-order-received .order-received__hero-actions .btn--outline:hover,
body.arsin-order-received .order-received__hero-actions .button.btn--outline:hover {
  border-color: var(--line-2, var(--line));
  background: var(--soft);
  color: var(--ink);
}

@media (max-width: 760px) {
  body.arsin-order-received .order-received__hero:not(.order-received__hero--failed) .order-received__hero-actions .btn,
  body.arsin-order-received .order-received__hero:not(.order-received__hero--failed) .order-received__hero-actions .button {
    width: 100%;
  }
}

/* The outline action is deliberately neutral, unlike the primary invoice CTA. */
body.arsin-order-received .order-received__hero-actions a.button.btn.btn--outline {
  border: 1px solid var(--line) !important;
  background: var(--white) !important;
  color: var(--ink) !important;
  box-shadow: none !important;
}

body.arsin-order-received .order-received__hero-actions a.button.btn.btn--outline:hover {
  border-color: var(--line-2, var(--line)) !important;
  background: var(--soft) !important;
  color: var(--ink) !important;
}

/* Thank-you order overview — compact document metadata grid. */
body.arsin-order-received .order-overview-grid--thankyou {
  overflow: hidden;
  margin: 0;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--white);
  box-shadow: var(--shadow-soft);
}

body.arsin-order-received .order-overview-grid--thankyou .order-overview-grid__head {
  display: flex;
  align-items: center;
  min-height: 52px;
  margin: 0;
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
  background: var(--white);
}

body.arsin-order-received .order-overview-grid--thankyou .order-overview-grid__title {
  gap: var(--space-2, 8px);
  margin: 0;
  color: var(--ink);
  font-size: var(--type-base);
  font-weight: 800;
  line-height: 1.5;
}

body.arsin-order-received .order-overview-grid--thankyou .order-overview-grid__title .icon,
body.arsin-order-received .order-overview-grid--thankyou .order-overview-grid__title .material-symbols-outlined {
  color: var(--brand);
  font-size: 22px;
}

body.arsin-order-received .order-overview-grid--thankyou .order-overview-grid__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-2, 8px);
  margin: 0;
  padding: 12px;
}

body.arsin-order-received .order-overview-grid--thankyou .order-overview-card {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: center;
  gap: 1px var(--space-2, 8px);
  min-width: 0;
  min-height: 66px;
  margin: 0;
  padding: 8px 10px !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius);
  background: var(--white);
}

body.arsin-order-received .order-overview-grid--thankyou .order-overview-card__icon {
  grid-column: 1;
  grid-row: 1 / 3;
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: var(--radius-sm);
  background: var(--soft);
  color: var(--brand);
}

body.arsin-order-received .order-overview-grid--thankyou .order-overview-card__icon .icon,
body.arsin-order-received .order-overview-grid--thankyou .order-overview-card__icon .material-symbols-outlined {
  color: inherit;
  font-size: 20px;
}

body.arsin-order-received .order-overview-grid--thankyou .order-overview-card__label {
  grid-column: 2;
  grid-row: 1;
  display: block;
  min-width: 0;
  color: var(--muted);
  font-size: var(--type-xs);
  font-weight: 400;
  line-height: 1.45;
}

body.arsin-order-received .order-overview-grid--thankyou .order-overview-card__value {
  grid-column: 2;
  grid-row: 2;
  display: block;
  min-width: 0;
  overflow: hidden;
  color: var(--ink);
  font-size: var(--type-sm);
  font-weight: 700;
  line-height: 1.5;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.arsin-order-received .order-overview-grid--thankyou .order-overview-card__value strong {
  color: inherit;
  font: inherit;
}

body.arsin-order-received .order-overview-grid--thankyou .order-overview-card--total {
  border-color: var(--brand-line, var(--line)) !important;
  background: var(--brand-soft);
}

body.arsin-order-received .order-overview-grid--thankyou .order-overview-card--total .order-overview-card__value {
  color: var(--brand);
  font-weight: 800;
}

/* Thank-you order details — products first, totals as one compact summary. */
body.arsin-order-received .order-received-grid--details-only {
  display: block;
  margin: 0;
}

body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details {
  overflow: hidden;
  margin: 0;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--white);
  box-shadow: var(--shadow-soft);
}

body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details__title {
  display: flex;
  align-items: center;
  gap: var(--space-2, 8px);
  min-height: 52px;
  margin: 0;
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
  background: var(--white);
  color: var(--ink);
  font-size: var(--type-base);
  font-weight: 800;
  line-height: 1.5;
}

body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details__title .icon,
body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details__title .material-symbols-outlined {
  display: none !important;
}

body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table {
  display: grid;
  gap: 0;
  width: 100%;
  margin: 0;
  padding: 12px;
  border: 0;
  border-radius: 0;
  background: transparent;
}

body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table thead {
  display: none;
}

body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tbody {
  display: grid;
  gap: var(--space-2, 8px);
  padding-bottom: 12px;
}

body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tbody tr {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-3, 12px);
  min-height: 58px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--white);
}

body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tbody th,
body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tbody td {
  display: block !important;
  width: auto !important;
  margin: 0;
  padding: 0;
  border: 0;
}

body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tbody .product-name {
  min-width: 0;
  color: var(--ink);
  font-size: var(--type-sm);
  font-weight: 700;
  line-height: 1.65;
}

body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .product-quantity {
  display: inline-flex;
  margin-inline-start: var(--space-1, 4px);
  color: var(--muted);
  font-size: var(--type-xs);
  font-weight: 700;
}

body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .wc-item-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 8px;
  margin: 4px 0 0;
  padding: 0;
  color: var(--muted);
  font-size: var(--type-xs);
  font-weight: 400;
  list-style: none;
}

body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tbody .product-total {
  color: var(--brand);
  font-size: var(--type-sm);
  font-weight: 800;
  text-align: left;
  white-space: nowrap;
}

body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tfoot {
  display: block;
  margin: 0;
  padding: 4px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--white);
}

body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tfoot tr,
body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tfoot tr:last-child {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-3, 12px);
  min-height: 42px;
  margin: 0;
  padding: 8px 0;
  border: 0;
  border-bottom: 1px dashed var(--line);
  border-radius: 0;
  background: transparent;
}

body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tfoot tr:last-child {
  border-bottom: 0;
}

body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tfoot th,
body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tfoot td {
  display: block !important;
  width: auto !important;
  margin: 0;
  padding: 0;
  border: 0;
  text-align: right;
}

body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tfoot th {
  color: var(--muted);
  font-size: var(--type-sm);
  font-weight: 400;
}

body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tfoot td {
  color: var(--ink);
  font-size: var(--type-sm);
  font-weight: 700;
  text-align: left;
  white-space: nowrap;
}

body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tfoot tr:last-child th,
body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tfoot tr:last-child td {
  color: var(--brand);
  font-weight: 800;
}

@media (max-width: 960px) {
  body.arsin-order-received .order-overview-grid--thankyou .order-overview-grid__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  body.arsin-order-received .order-overview-grid--thankyou .order-overview-grid__list {
    gap: 6px;
    padding: 10px;
  }

  body.arsin-order-received .order-overview-grid--thankyou .order-overview-card {
    grid-template-columns: 32px minmax(0, 1fr);
    min-height: 62px;
    padding: 7px 8px !important;
  }

  body.arsin-order-received .order-overview-grid--thankyou .order-overview-card__icon {
    width: 32px;
    height: 32px;
  }

  body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table {
    padding: 10px;
  }

  body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tbody tr {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--space-2, 8px);
    padding: 9px 10px;
  }

  body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tbody .product-name,
  body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tbody .product-total,
  body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tfoot th,
  body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tfoot td {
    font-size: var(--type-sm);
  }
}

/* Thank-you overview contains text metadata only — no decorative icons. */
body.arsin-order-received .order-overview-grid--thankyou .order-overview-card {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-content: center;
  gap: 2px;
  min-height: 58px;
  text-align: right;
}

body.arsin-order-received .order-overview-grid--thankyou .order-overview-card__icon {
  display: none !important;
}

body.arsin-order-received .order-overview-grid--thankyou .order-overview-card__label,
body.arsin-order-received .order-overview-grid--thankyou .order-overview-card__value {
  grid-column: 1;
  width: 100%;
  text-align: right;
}

body.arsin-order-received .order-overview-grid--thankyou .order-overview-card__label {
  grid-row: 1;
}

body.arsin-order-received .order-overview-grid--thankyou .order-overview-card__value {
  grid-row: 2;
}

body.arsin-order-received .order-overview-grid--thankyou .order-overview-card--date .order-overview-card__value,
body.arsin-order-received .order-overview-grid--thankyou .order-overview-card--phone .order-overview-card__value,
body.arsin-order-received .order-overview-grid--thankyou .order-overview-card--organization-phone .order-overview-card__value,
body.arsin-order-received .order-overview-grid--thankyou .order-overview-card--postcode .order-overview-card__value {
  text-align: left;
}

body.arsin-order-received .order-overview-grid--thankyou .order-overview-card--address {
  grid-column: 1 / -1;
}

body.arsin-order-received .order-overview-grid--thankyou .order-overview-card--address .order-overview-card__value {
  overflow: visible;
  text-align: right;
  text-overflow: clip;
  white-space: normal;
}

body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tfoot,
body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tfoot tr,
body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tfoot th,
body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tfoot td {
  background: var(--white) !important;
}

/* Final payable amount is the only emphasized total in order details. */
body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tfoot .order-total-row--order_total td,
body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tfoot .order-total-row--total td,
body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tfoot .order-total-row--order_total .amount,
body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tfoot .order-total-row--total .amount,
body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tfoot .order-total-row--order_total bdi,
body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tfoot .order-total-row--total bdi {
  color: var(--brand) !important;
  font-size: var(--type-lg) !important;
  font-weight: 800 !important;
  line-height: 1.45;
}

/* Customer note follows the muted label hierarchy, not the final-total accent. */
body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tfoot .order-customer-note-row,
body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tfoot .order-customer-note-row:last-child {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  border-bottom: 0;
  background: transparent;
}

body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tfoot .order-customer-note-row th,
body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tfoot .order-customer-note-row td,
body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tfoot .order-customer-note-row:last-child th,
body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tfoot .order-customer-note-row:last-child td {
  color: var(--muted) !important;
  font-size: var(--type-sm);
  font-weight: 400;
  line-height: 1.7;
  text-align: right;
  white-space: normal;
}

@media (max-width: 760px) {
  body.arsin-order-received .order-overview-grid--thankyou .order-overview-card {
    grid-template-columns: minmax(0, 1fr);
    min-height: 56px;
  }

  body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tfoot .order-customer-note-row,
  body.arsin-order-received .order-received-grid--details-only .woocommerce-order-details .shop_table tfoot .order-customer-note-row:last-child {
    grid-template-columns: minmax(64px, auto) minmax(0, 1fr);
  }
}

/* Desktop cart rows — thumbnail | content | remove, with title and price inline. */
@media (min-width: 761px) {
  body.arsin-cart .cart-table tbody tr.cart_item {
    grid-template-columns: 58px minmax(0, 1fr) 22px !important;
    grid-template-rows: auto auto auto;
    gap: 7px 12px;
    align-items: start;
    direction: rtl;
    padding: 14px 16px 12px !important;
  }

  body.arsin-cart .cart-table tbody tr.cart_item .product-thumbnail {
    grid-column: 1 !important;
    grid-row: 1 / 4 !important;
    padding: 0 !important;
  }

  body.arsin-cart .cart-table tbody tr.cart_item .product-name,
  body.arsin-cart .cart-item-name-stack {
    display: contents !important;
  }

  body.arsin-cart .cart-item-title-block {
    display: grid;
    grid-column: 2 / 4;
    grid-row: 1;
    grid-template-columns: minmax(0, 1fr) auto 22px;
    align-items: center;
    gap: 14px;
    min-width: 0;
  }

  body.arsin-cart .cart-item-title-block .cart-item-title {
    grid-column: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.arsin-cart .cart-item-title-block .cart-item-price {
    grid-column: 2;
    justify-self: end;
    margin: 0;
    white-space: nowrap;
  }

  body.arsin-cart .cart-item-title-block .product-remove {
    grid-column: 3 !important;
    justify-self: end;
    align-self: center;
  }

  body.arsin-cart .cart-item-details-row {
    grid-column: 2;
    grid-row: 2;
    min-width: 0;
  }

  body.arsin-cart .cart-item-details-row:empty {
    display: none;
  }

  body.arsin-cart .cart-item-details-row .cart-item-vars {
    flex: 1 1 auto;
  }

  body.arsin-cart .cart-table tbody tr.cart_item .product-meta {
    grid-column: 2 !important;
    grid-row: 3 !important;
    min-width: 0;
    padding: 0 !important;
  }

  body.arsin-cart .cart-item-meta {
    padding: 2px 0 0;
  }

  /* Home featured parity: exactly five product cards across the desktop viewport. */
  body.arsin-cart .cart-related-products .product-marquee__track > .product-card,
  body.arsin-cart .cart-related-products .product-marquee__track > div[aria-hidden="true"] {
    flex: 0 0 calc((100cqi - (var(--card-gap) * 4)) / 5) !important;
    width: calc((100cqi - (var(--card-gap) * 4)) / 5) !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  body.arsin-cart .cart-related-products .product-marquee__track > div[aria-hidden="true"] > .product-card {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* Title + remove stay on one row; price stacks below on handheld cards. */
@media (max-width: 760px) {
  body.arsin-cart .cart-item-title-block {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "title remove"
      "price price";
    align-items: start;
    column-gap: 8px;
    row-gap: 2px;
    flex-wrap: unset;
  }

  body.arsin-cart .cart-item-title-block .cart-item-title {
    grid-area: title;
    order: unset;
    flex: unset;
    min-width: 0;
    max-width: none;
    white-space: normal;
  }

  body.arsin-cart .cart-item-title-block .product-remove {
    grid-area: remove;
    order: unset;
    align-self: start;
    margin-top: 2px;
  }

  body.arsin-cart .cart-item-title-block .cart-item-price {
    grid-area: price;
    order: unset;
    flex: unset;
    margin: 2px 0 0;
  }
}

/* Desktop Blocks checkout — compact steps and submit directly below the total. */
@media (min-width: 901px) {
  body.arsin-checkout-blocks .wc-block-checkout__form {
    display: grid !important;
    gap: 12px !important;
    align-content: start;
  }

  body.arsin-checkout-blocks .wc-block-checkout__form > .wc-block-components-checkout-step {
    margin: 0 !important;
  }

  body.arsin-checkout-blocks .wc-block-components-checkout-step__heading-container {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: baseline !important;
    gap: 4px 12px !important;
    min-height: 0 !important;
    height: auto !important;
  }

  body.arsin-checkout-blocks .wc-block-components-checkout-step__description {
    flex: 0 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    align-self: baseline;
  }

  body.arsin-checkout-blocks #billing-fields,
  body.arsin-checkout-blocks #billing-fields .wc-block-components-checkout-step__heading-container {
    min-height: 0 !important;
    height: auto !important;
  }

  body.arsin-checkout-blocks .wc-block-checkout__form > .wc-block-checkout__actions {
    display: none !important;
  }

  body.arsin-checkout-blocks .asc-checkout-sidebar-actions {
    display: block;
    width: 100%;
    margin-top: 12px;
  }

  body.arsin-checkout-blocks .asc-checkout-sidebar-actions .asc-checkout-sidebar-place-order.wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button.wc-block-components-checkout-place-order-button--full-width.contained,
  body.arsin-checkout-blocks button.asc-checkout-sidebar-place-order.wc-block-components-checkout-place-order-button.contained {
    width: 100% !important;
    min-height: 52px !important;
    height: 52px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    border: 0 !important;
    border-radius: var(--radius) !important;
    background: var(--brand) !important;
    color: var(--white) !important;
    font-family: var(--font-sans) !important;
    font-size: var(--type-xl) !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    box-shadow: none !important;
    cursor: pointer;
  }

  body.arsin-checkout-blocks .asc-checkout-sidebar-place-order .wc-block-components-button__text,
  body.arsin-checkout-blocks .asc-checkout-sidebar-place-order .wc-block-components-checkout-place-order-button__text,
  body.arsin-checkout-blocks .asc-checkout-sidebar-place-order .wc-block-components-checkout-place-order-button__price,
  body.arsin-checkout-blocks .asc-checkout-sidebar-place-order .wc-block-formatted-money-amount {
    color: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
  }

  body.arsin-checkout-blocks .asc-checkout-sidebar-place-order .arsin-toman-svg > bdi::after {
    filter: brightness(0) invert(1);
    opacity: 1;
  }

  body.arsin-checkout-blocks .asc-checkout-sidebar-place-order:hover {
    background: var(--brand-2) !important;
  }

  body.arsin-checkout-blocks .asc-checkout-sidebar-place-order:focus-visible {
    outline: 0 !important;
    box-shadow: var(--focus-ring) !important;
  }
}

@media (max-width: 900px) {
  body.arsin-checkout-blocks .asc-checkout-sidebar-actions {
    display: none !important;
  }
}

body.arsin-order-received .order-received__summary-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  min-width: 0;
}

/* Thank-you hero and summary — desktop refinement. Mobile (≤960px) stays stacked. */
@media (min-width: 961px) {
  body.arsin-order-received .order-received__summary-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    align-items: stretch;
    gap: 14px;
    min-width: 0;
  }

  body.arsin-order-received .order-received__summary-layout > *,
  body.arsin-order-received .order-received__summary-layout .woocommerce-order-details {
    min-width: 0;
    height: 100%;
  }

  body.arsin-order-received .order-received__summary-layout .order-overview-grid--thankyou {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr);
  }

  body.arsin-order-received .order-received__summary-layout .order-overview-grid--thankyou .order-overview-grid__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.arsin-order-received .order-received__hero:not(.order-received__hero--failed) {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--space-5, 20px);
    padding: var(--space-5, 20px) var(--space-6, 24px);
  }

  body.arsin-order-received .order-received__hero:not(.order-received__hero--failed) .order-received__hero-copy {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-content: center;
    gap: 0;
    min-width: 0;
  }

  body.arsin-order-received .order-received__hero-heading {
    justify-content: flex-start;
    gap: var(--space-3, 12px);
  }

  body.arsin-order-received .order-received__hero-heading .order-received__order-no {
    align-items: center;
    padding: 3px 12px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: var(--soft-2);
  }

  body.arsin-order-received .order-received__hero-text {
    gap: var(--space-2, 8px);
  }

  body.arsin-order-received .order-received__hero:not(.order-received__hero--failed) .order-received__lead {
    max-width: 58em;
  }

  body.arsin-order-received .order-received__hero-side {
    display: grid;
    align-content: center;
    width: auto;
    padding-inline-start: var(--space-5, 20px);
  }

  body.arsin-order-received .order-received__hero:not(.order-received__hero--failed) .order-received__hero-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2, 8px);
    width: auto;
    min-width: 220px;
  }

  body.arsin-order-received .order-received__hero:not(.order-received__hero--failed) .order-received__hero-actions .btn,
  body.arsin-order-received .order-received__hero:not(.order-received__hero--failed) .order-received__hero-actions .button {
    width: 100%;
    justify-content: center;
  }
}

/* ==========================================================================
   Checkout Blocks — hide delivery-method chrome; align billing ↔ summary
   ========================================================================== */

/* «نحوه تحویل کالا» — not used; remove from layout entirely. */
body.arsin-checkout-blocks .wp-block-woocommerce-checkout-shipping-method-block {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
}

/* Pickup options only when empty / no selectable rates (avoids leftover gap). */
body.arsin-checkout-blocks .wp-block-woocommerce-checkout-pickup-options-block:empty,
body.arsin-checkout-blocks .wp-block-woocommerce-checkout-pickup-options-block:not(:has(.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option, .wc-block-components-local-pickup-select, input, button, select)) {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
}

/* Desktop: billing card top aligns with order-summary card top. */
@media (min-width: 901px) {
  body.arsin-checkout-blocks .wc-block-components-sidebar-layout.wc-block-checkout,
  body.arsin-checkout-blocks .wc-block-checkout.is-large {
    align-items: start !important;
  }

  body.arsin-checkout-blocks .wc-block-checkout__main,
  body.arsin-checkout-blocks .wc-block-checkout.is-large .wc-block-components-main,
  body.arsin-checkout-blocks .wc-block-checkout__form,
  body.arsin-checkout-blocks .wc-block-checkout__sidebar,
  body.arsin-checkout-blocks .wc-block-checkout__sidebar.is-sticky {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body.arsin-checkout-blocks #billing-fields,
  body.arsin-checkout-blocks #billing-fields.wc-block-components-checkout-step,
  body.arsin-checkout-blocks .wc-block-checkout__sidebar > .wp-block-woocommerce-checkout-order-summary-block,
  body.arsin-checkout-blocks .wp-block-woocommerce-checkout-order-summary-block {
    margin-top: 0 !important;
  }

  /* Sticky offset must match so cards stay level when stuck (no extra +8px). */
  body.arsin-checkout-blocks .wc-block-checkout__sidebar.is-sticky {
    top: var(--sticky-offset, 94px) !important;
  }

  body.arsin-checkout-blocks .wc-block-checkout__sidebar > .wp-block-woocommerce-checkout-order-summary-block {
    top: var(--sticky-offset, 94px) !important;
  }
}