/* Native WooCommerce controls own state, validation, sessions and submissions.
   This stylesheet changes presentation only inside the three page shells. */
.nd-commerce-forms {
  --nd-form-ink: var(--wp--preset--color--ink, #171a21);
  --nd-form-muted: var(--wp--preset--color--muted, #565d68);
  --nd-form-line: var(--wp--preset--color--line, #dce0e5);
  --nd-form-surface: var(--wp--preset--color--surface, #f5f6f8);
  --nd-form-focus: var(--wp--preset--color--brand-text, #b72c25);
  max-width: 1240px;
  box-sizing: border-box;
  width: 100%;
  margin-inline: auto;
  padding: 0 clamp(1rem, 4vw, 3rem) clamp(3rem, 6vw, 5rem);
  color: var(--nd-form-ink);
  font-size: 1rem;
}
.nd-commerce-forms .nd-commerce-title-band {
  padding-block: clamp(2rem, 4.5vw, 4rem) clamp(1.75rem, 3.5vw, 3rem);
  margin: 0;
  border-bottom: 1px solid var(--nd-form-line);
}
.nd-commerce-forms .nd-commerce-page-title {
  font-size: clamp(2rem, 3.6vw, 3.25rem);
  line-height: 1.1;
  letter-spacing: -.045em;
  margin: 0;
}
.nd-commerce-forms .nd-commerce-page-content { margin: clamp(1.75rem, 3vw, 2.75rem) 0 0; }
.nd-commerce-forms .nd-commerce-page-content > :first-child { margin-top: 0; }
.nd-commerce-forms :where(h2, .wc-block-components-title) {
  font-size: clamp(1.3rem, 1.8vw, 1.65rem);
  line-height: 1.25;
  letter-spacing: -.025em;
}
.nd-commerce-forms :where(h3, legend) {
  font-size: 1.125rem;
  line-height: 1.4;
  letter-spacing: -.015em;
}
.nd-commerce-forms :where(a, button, input, select, textarea):focus-visible {
  outline: 2px solid var(--nd-form-focus);
  outline-offset: 3px;
}
.nd-commerce-forms :where(a) {
  text-underline-offset: .2em;
  text-decoration-thickness: 1px;
}
.nd-commerce-forms :where(.wc-block-components-product-name, .wc-block-components-formatted-money-amount) {
  color: var(--nd-form-ink);
}
.nd-commerce-forms :where(.wc-block-components-formatted-money-amount, .amount) {
  font-variant-numeric: tabular-nums;
}
.nd-commerce-forms :where(.wc-block-components-button, .woocommerce .button) {
  min-height: 48px;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
}
.nd-commerce-forms :where(.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button, .woocommerce button.button, .woocommerce a.checkout-button) {
  background: var(--wp--preset--color--brand, #f84e45);
  color: var(--nd-form-ink);
  border: 1px solid transparent;
}
.nd-commerce-forms :where(.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button, .woocommerce button.button, .woocommerce a.checkout-button):hover {
  background: #ff6b63;
  color: var(--nd-form-ink);
}
.nd-commerce-forms :where(.wc-block-components-button, .woocommerce .button):disabled {
  cursor: not-allowed;
}
.nd-commerce-forms .wc-block-components-text-input input[type] {
  font-size: 1rem;
  border-color: #8c949f;
  border-radius: 8px;
}
.nd-commerce-forms .wc-block-components-text-input input[type]:focus {
  border-color: var(--nd-form-focus);
}
.nd-commerce-forms .wc-block-components-text-input.has-error input[type] {
  border-color: #cc1818;
}
.nd-commerce-forms .wc-blocks-components-select .wc-blocks-components-select__select {
  border-radius: 8px;
  border-color: #8c949f;
}
.nd-commerce-forms .wc-blocks-components-select .wc-blocks-components-select__select:focus {
  border-color: var(--nd-form-focus);
}
.nd-commerce-forms .wc-blocks-components-select.has-error .wc-blocks-components-select__select,
.nd-commerce-forms .has-error .wc-blocks-components-select .wc-blocks-components-select__select {
  border-color: #cc1818;
}
.nd-commerce-forms .wc-block-components-textarea {
  font-family: inherit;
  font-size: 1rem;
  border-color: #8c949f;
  border-radius: 8px;
}
.nd-commerce-forms .wc-block-components-checkout-step__description {
  color: var(--nd-form-muted);
  line-height: 1.65;
}
.nd-commerce-forms .wc-block-components-checkout-step {
  padding-bottom: 2rem;
}
.nd-commerce-checkout .wc-block-components-checkout-step__title {
  font-weight: 650;
  letter-spacing: -.025em;
}
.nd-commerce-checkout .wc-block-checkout__form--with-step-numbers .wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__title::before {
  color: var(--nd-form-muted);
  font-variant-numeric: tabular-nums;
}
.nd-commerce-forms :where(.wc-block-components-radio-control__option--checked-option-highlighted, .wc-block-components-radio-control-accordion-option--checked-option-highlighted) {
  background: var(--wp--preset--color--brand-tint, #fff3f1);
}
.nd-commerce-forms .wc-block-components-radio-control .wc-block-components-radio-control__input:checked {
  border-color: var(--nd-form-focus);
}
.nd-commerce-forms .wc-block-components-radio-control .wc-block-components-radio-control__input:checked::before {
  background: var(--nd-form-focus);
}
.nd-commerce-forms .wc-block-components-radio-control__option {
  min-height: 52px;
  padding-block: 1rem;
}
.nd-commerce-forms :where(.wc-block-components-totals-wrapper, .wc-block-cart-items__row) {
  border-color: var(--nd-form-line);
}
.nd-commerce-forms :where(.wc-block-components-totals-item, .wc-block-components-order-summary-item) {
  line-height: 1.5;
}
.nd-commerce-forms .wc-block-components-totals-footer-item {
  font-size: 1.2rem;
  font-weight: 650;
}
.nd-commerce-cart .wc-block-cart-items__row .wc-block-cart-item__product {
  padding-block: 1.5rem;
}
.nd-commerce-cart .wc-block-cart-item__product .wc-block-components-product-name {
  font-weight: 600;
  text-decoration: none;
  letter-spacing: -.015em;
}
.nd-commerce-forms .wc-block-components-sidebar {
  background: var(--nd-form-surface);
  border: 1px solid var(--nd-form-line);
  border-radius: 12px;
  padding: clamp(1.25rem, 2vw, 1.75rem);
}
.nd-commerce-forms .wc-block-checkout__sidebar { align-self: start; }
.nd-commerce-forms .wc-block-components-quantity-selector {
  width: 136px;
  min-height: 44px;
  border-radius: 8px;
}
.nd-commerce-forms .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
  min-width: 44px;
  min-height: 44px;
  position: relative;
  color: var(--nd-form-ink);
  opacity: 1;
  /* Woo uses fullwidth Unicode signs absent from some Latin system fonts.
     Draw decorative strokes while keeping native aria-labels and handlers. */
  font-size: 0;
}
.nd-commerce-forms .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button::before,
.nd-commerce-forms .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button--plus::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 2px;
  border-radius: 1px;
  background: currentColor;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.nd-commerce-forms .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button--plus::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.nd-commerce-forms .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover:not(:disabled) {
  background: var(--wp--preset--color--brand-tint, #fff3f1);
}
.nd-commerce-forms .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:disabled {
  opacity: .4;
}
.nd-commerce-forms .wc-block-components-quantity-selector :where(button, input):focus-visible {
  outline: 2px solid var(--nd-form-focus);
  outline-offset: 3px;
}
.nd-commerce-forms .wc-block-components-quantity-selector .wc-block-components-quantity-selector__input {
  min-height: 44px;
  font-size: 1rem;
}
.nd-commerce-forms .wc-block-cart-item__remove-link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  color: var(--nd-form-muted);
}
.nd-commerce-forms .wc-block-cart-items__row .wc-block-cart-item__image img {
  width: 96px;
  max-width: 100%;
  max-height: 112px;
  object-fit: contain;
  background: #fff;
  border-radius: 8px;
}
.nd-commerce-forms .wc-block-components-order-summary-item__image img {
  max-height: 72px;
  object-fit: contain;
}
.nd-commerce-forms .wc-block-grid__product-image img {
  max-height: 200px;
  width: 100%;
  object-fit: contain;
}
/* Keep the saved empty-cart recommendation block and its live Woo query.
   A contained media stage and a real section break replace the old tight grid. */
.nd-commerce-cart .wp-block-woocommerce-empty-cart-block {
  padding-top: clamp(1rem, 3vw, 2rem);
}
.nd-commerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
  margin: 0;
  font-size: clamp(1.3rem, 2.2vw, 1.75rem);
  line-height: 1.35;
}
.nd-commerce-cart .wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
  width: 56px;
  height: 56px;
  margin-bottom: 1.25rem;
}
.nd-commerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-separator {
  width: 100%;
  max-width: none;
  height: 1px;
  border: 0;
  margin-block: clamp(2.5rem, 5vw, 4rem);
  background: var(--nd-form-line);
}
.nd-commerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-separator::before { content: none; }
.nd-commerce-cart .wp-block-woocommerce-empty-cart-block > h2:not(.wc-block-cart__empty-cart__title) {
  text-align: left;
  margin-block: 0 1.5rem;
}
.nd-commerce-cart .wc-block-grid .wc-block-grid__products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1rem, 2.5vw, 2rem);
  margin: 0;
  padding: 0;
}
.nd-commerce-cart .wc-block-grid .wc-block-grid__product {
  display: flex;
  flex-direction: column;
  min-width: 0;
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  text-align: left;
}
.nd-commerce-cart .wc-block-grid .wc-block-grid__product-link {
  display: flex;
  flex-direction: column;
  flex: 1;
  color: var(--nd-form-ink);
  text-decoration: none;
}
.nd-commerce-cart .wc-block-grid .wc-block-grid__product-image {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  flex: none;
  box-sizing: border-box;
  padding: clamp(.75rem, 1.5vw, 1.25rem);
  margin: 0 0 1rem;
  border: 1px solid var(--nd-form-line);
  border-radius: 12px;
  background: var(--nd-form-surface);
}
.nd-commerce-cart .wc-block-grid .wc-block-grid__product-image img {
  width: 100%;
  height: 100%;
  max-height: 100%;
  margin: 0;
  object-fit: contain;
}
.nd-commerce-cart .wc-block-grid .wc-block-grid__product-title {
  flex: 1;
  min-height: 2.9em;
  margin-bottom: .5rem;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: -.015em;
  overflow-wrap: anywhere;
}
.nd-commerce-cart .wc-block-grid .wc-block-grid__product-link:hover .wc-block-grid__product-title {
  text-decoration: underline;
  text-underline-offset: .2em;
}
.nd-commerce-cart .wc-block-grid .wc-block-grid__product-price {
  margin: .25rem 0 1rem;
  font-size: .9375rem;
  font-variant-numeric: tabular-nums;
}
.nd-commerce-cart .wc-block-grid .wc-block-grid__product-add-to-cart { margin-top: auto; }
.nd-commerce-cart .wc-block-grid .wc-block-grid__product-add-to-cart a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  box-sizing: border-box;
  padding: .6rem 1rem;
  border: 1px solid var(--nd-form-line);
  border-radius: 8px;
  background: #fff;
  color: var(--nd-form-ink);
  font-size: .9375rem;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
}
.nd-commerce-cart .wc-block-grid .wc-block-grid__product-add-to-cart a:hover {
  border-color: var(--nd-form-ink);
}
/* Keep Woo's logged-out/register forms and logged-in endpoint hooks intact. */
.nd-commerce-account .woocommerce #customer_login {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(2rem, 6vw, 5rem);
}
.nd-commerce-account .woocommerce #customer_login::before,
.nd-commerce-account .woocommerce #customer_login::after { display: none; }
.nd-commerce-account .woocommerce #customer_login > :where(.col-1, .col-2) {
  float: none;
  width: 100%;
  min-width: 0;
}
.nd-commerce-account .woocommerce form:where(.login, .register, .woocommerce-ResetPassword, .edit-account) {
  border: 1px solid var(--nd-form-line);
  border-radius: 12px;
  padding: clamp(1.25rem, 3vw, 2rem);
  margin: 1rem 0 2rem;
  background: #fff;
}
.nd-commerce-account .woocommerce form.login { max-width: 560px; }
.nd-commerce-account .woocommerce form .form-row {
  padding: 0;
  margin-block: 0 1.25rem;
}
.nd-commerce-account .woocommerce form .form-row label {
  color: var(--nd-form-ink);
  line-height: 1.5;
  margin-bottom: .5rem;
}
.nd-commerce-account .woocommerce form .form-row input.input-text,
.nd-commerce-account .woocommerce form .form-row textarea,
.nd-commerce-account .woocommerce form .form-row select {
  min-height: 48px;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #8c949f;
  border-radius: 8px;
  background: #fff;
  color: var(--nd-form-ink);
  padding: .75rem;
  font: inherit;
  font-size: 1rem;
}
.nd-commerce-account .woocommerce form .form-row input.input-text:focus,
.nd-commerce-account .woocommerce form .form-row textarea:focus,
.nd-commerce-account .woocommerce form .form-row select:focus {
  border-color: var(--nd-form-focus);
  outline: 2px solid var(--nd-form-focus);
  outline-offset: 3px;
}
.nd-commerce-account .woocommerce form .form-row.woocommerce-invalid input.input-text,
.nd-commerce-account .woocommerce form .form-row.woocommerce-invalid select {
  border-color: #b42318;
}
.nd-commerce-account .woocommerce .woocommerce-form-login__rememberme {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-inline-end: 1rem;
  gap: .5rem;
}
.nd-commerce-account .woocommerce :where(.lost_password a, .woocommerce-MyAccount-navigation a) {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
.nd-commerce-account .woocommerce .woocommerce-MyAccount-navigation {
  width: 24%;
  margin: 0;
}
.nd-commerce-account .woocommerce .woocommerce-MyAccount-navigation ul {
  margin: 0;
  padding: 0;
  list-style: none;
  border-block: 1px solid var(--nd-form-line);
}
.nd-commerce-account .woocommerce .woocommerce-MyAccount-navigation li {
  margin: 0;
  border-bottom: 1px solid var(--nd-form-line);
}
.nd-commerce-account .woocommerce .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
.nd-commerce-account .woocommerce .woocommerce-MyAccount-navigation a {
  width: 100%;
  box-sizing: border-box;
  padding: .9rem 1rem;
  text-decoration: none;
  color: var(--nd-form-muted);
  line-height: 1.4;
}
.nd-commerce-account .woocommerce .woocommerce-MyAccount-navigation .is-active a,
.nd-commerce-account .woocommerce .woocommerce-MyAccount-navigation a[aria-current="page"] {
  background: var(--wp--preset--color--brand-tint, #fff3f1);
  color: var(--nd-form-ink);
  font-weight: 600;
  box-shadow: inset 3px 0 var(--wp--preset--color--brand, #f84e45);
}
.nd-commerce-account .woocommerce .woocommerce-MyAccount-content {
  width: 70%;
  min-width: 0;
  overflow-wrap: anywhere;
}
/* The installed Easy Login plugin owns authentication and field visibility.
   Its public inline forms share the same account surface and readable controls. */
.nd-commerce-account .xoo-el-form-container.xoo-el-form-inline {
  max-width: 560px;
  box-sizing: border-box;
  margin: 0 0 2rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--nd-form-line);
  border-radius: 12px;
  background: #fff;
  color: var(--nd-form-ink);
  font: inherit;
}
.nd-commerce-account .xoo-el-form-inline .xoo-el-header { margin-bottom: 1.75rem; }
.nd-commerce-account .xoo-el-form-container.xoo-el-form-inline ul.xoo-el-tabs {
  gap: .25rem;
  padding: .25rem;
  border-radius: 10px;
  background: var(--nd-form-surface);
}
.nd-commerce-account .xoo-el-form-container.xoo-el-form-inline ul.xoo-el-tabs li {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  box-sizing: border-box;
  padding: .75rem 1rem;
  border-radius: 7px;
  background: transparent;
  color: var(--nd-form-muted);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
}
.nd-commerce-account .xoo-el-form-container.xoo-el-form-inline ul.xoo-el-tabs li.xoo-el-active {
  background: #fff;
  color: var(--nd-form-ink);
  box-shadow: 0 0 0 1px var(--nd-form-line);
}
.nd-commerce-account .xoo-el-form-inline :is(a, button, input, select, textarea, [data-tab]):focus-visible {
  outline: 2px solid var(--nd-form-focus);
  outline-offset: 3px;
}
.nd-commerce-account .xoo-el-form-inline .xoo-el-section { padding-inline: 0; }
.nd-commerce-account .xoo-el-form-inline .xoo-aff-group.one {
  width: 100%;
  margin-inline: 0;
}
.nd-commerce-account .xoo-el-form-inline .xoo-aff-group { margin-bottom: 1.25rem; }
.nd-commerce-account .xoo-el-form-inline .xoo-aff-input-group {
  min-width: 0;
  border-radius: 8px;
  background: #fff;
}
.nd-commerce-account .xoo-el-form-container.xoo-el-form-inline .xoo-aff-input-group input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.nd-commerce-account .xoo-el-form-inline .xoo-aff-input-group select {
  min-height: 48px;
  height: 50px;
  box-sizing: border-box;
  border: 1px solid #8c949f;
  border-radius: 8px;
  padding-block: .75rem;
  background: #fff;
  color: var(--nd-form-ink);
  box-shadow: none;
  font: inherit;
  font-size: 1rem;
  line-height: 1.4;
}
.nd-commerce-account .xoo-el-form-container.xoo-el-form-inline .xoo-aff-input-group input::placeholder {
  color: var(--nd-form-muted);
  opacity: 1;
}
.nd-commerce-account .xoo-el-form-inline .xoo-aff-input-group .xoo-aff-input-icon {
  border-color: #8c949f;
  border-radius: 8px 0 0 8px;
  background: var(--nd-form-surface);
  color: var(--nd-form-muted);
}
.nd-commerce-account .xoo-el-form-inline .xoo-aff-input-group .xoo-aff-input-icon + input {
  border-start-start-radius: 0;
  border-end-start-radius: 0;
}
.nd-commerce-account .xoo-el-form-inline .xoo-aff-input-group input:focus,
.nd-commerce-account .xoo-el-form-inline .xoo-aff-input-group select:focus {
  border-color: var(--nd-form-focus);
  outline: 2px solid var(--nd-form-focus);
  outline-offset: 3px;
}
.nd-commerce-account .xoo-el-form-inline .xoo-aff-input-group input[aria-invalid="true"] {
  border-color: #b42318;
}
.nd-commerce-account .xoo-el-form-inline :is(label, .xoo-el-form-label) {
  color: var(--nd-form-ink);
  font-size: .9375rem;
  line-height: 1.5;
}
.nd-commerce-account .xoo-el-form-inline .xoo-el-login-btm-fields {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .25rem 1rem;
}
.nd-commerce-account .xoo-el-form-inline .xoo-el-login-btm-fields label {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  gap: .5rem;
  margin: 0;
}
.nd-commerce-account .xoo-el-form-inline input[type="checkbox"] { accent-color: var(--nd-form-focus); }
.nd-commerce-account .xoo-el-form-inline :is(.xoo-el-lostpw-tgr, .xoo-el-login-tgr, .xoo-el-reg-tgr):is(a, button) {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--nd-form-focus);
  font-size: .9375rem;
  line-height: 1.5;
  text-underline-offset: .2em;
}
.nd-commerce-account .xoo-el-form-container.xoo-el-form-inline button.button.btn.xoo-el-action-btn {
  width: 100%;
  min-height: 48px;
  height: auto;
  box-sizing: border-box;
  margin: 0;
  padding: .875rem 1rem;
  border: 1px solid transparent;
  border-radius: 8px;
  background: var(--wp--preset--color--brand, #f84e45);
  color: var(--nd-form-ink);
  font: inherit;
  font-weight: 600;
  line-height: 1.4;
}
.nd-commerce-account .xoo-el-form-container.xoo-el-form-inline button.button.btn.xoo-el-action-btn:hover:not(:disabled) {
  background: #ff6b63;
}
.nd-commerce-account .xoo-el-form-container.xoo-el-form-inline button.button.btn.xoo-el-action-btn:disabled {
  background: var(--nd-form-surface);
  color: var(--nd-form-muted);
  cursor: not-allowed;
}
@media (max-width: 600px) {
  .nd-commerce-account .xoo-el-form-inline .xoo-aff-group.onehalf {
    width: 100%;
    margin-inline: 0;
  }
}
.nd-commerce-forms .woocommerce table.shop_table {
  border: 1px solid var(--nd-form-line);
  border-radius: 10px;
  border-spacing: 0;
  margin-bottom: 2rem;
  line-height: 1.5;
}
.nd-commerce-forms .woocommerce table.shop_table :where(th, td) {
  border-color: var(--nd-form-line);
  padding: 1rem;
}
.nd-commerce-forms .woocommerce table.shop_table th {
  font-size: .875rem;
  font-weight: 600;
}
.nd-commerce-forms .woocommerce :where(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
  border-radius: 8px;
  background: var(--nd-form-surface);
  color: var(--nd-form-ink);
  line-height: 1.6;
}
.nd-commerce-forms .woocommerce :where(.woocommerce-message, .woocommerce-info) {
  border-top-color: var(--wp--preset--color--brand, #f84e45);
}
.nd-commerce-forms .woocommerce .woocommerce-error { border-top-color: #b42318; }
.nd-commerce-forms .woocommerce :where(.woocommerce-error a, .woocommerce-message a, .woocommerce-info a) {
  text-decoration: underline;
}
@media (max-width: 767px) {
  .nd-commerce-forms { padding-inline: 1rem; }
  .nd-commerce-cart .wc-block-grid .wc-block-grid__products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nd-commerce-cart .wc-block-grid .wc-block-grid__product-title { min-height: 0; font-size: .9375rem; }
  .nd-commerce-forms .wc-block-components-sidebar { padding: 1.25rem; }
  .nd-commerce-account .woocommerce #customer_login { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .nd-commerce-account .woocommerce :where(.woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content) {
    float: none;
    width: 100%;
  }
  .nd-commerce-account .woocommerce .woocommerce-MyAccount-navigation { margin-bottom: 2rem; }
  .nd-commerce-account .woocommerce .woocommerce-MyAccount-navigation ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-bottom: 0;
  }
  .nd-commerce-account .woocommerce .woocommerce-MyAccount-navigation li:last-child {
    border-bottom: 1px solid var(--nd-form-line);
  }
  .nd-commerce-account .woocommerce .woocommerce-MyAccount-navigation a {
    min-height: 52px;
    padding-inline: .75rem;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .nd-commerce-cart .wc-block-grid .wc-block-grid__products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  .nd-commerce-forms { scroll-behavior: auto; }
}

/* Native Woo confirmation blocks retain order permissions, fields and hooks. */
.nd-order-confirmation { --nd-form-brand: var(--wp--preset--color--brand, #f84e45); padding-top: clamp(2rem, 4.5vw, 4rem); }
.nd-order-confirmation .wc-block-order-confirmation-status { margin: 0; font-size: 1rem; }
.nd-order-confirmation .wc-block-order-confirmation-status h1,
.nd-order-confirmation .nd-order-confirmation-title {
  max-width: 22ch;
  margin: 0 0 1rem;
  font-size: clamp(2rem, 4.2vw, 3.25rem);
  font-weight: 650;
  line-height: 1.1;
  letter-spacing: -.04em;
}
.nd-order-confirmation .wc-block-order-confirmation-status :where(p),
.nd-order-confirmation .wc-block-order-confirmation-status-description {
  font-size: 1rem;
  line-height: 1.65;
  color: var(--nd-form-muted);
}
.nd-order-confirmation .wc-block-order-confirmation-status-description { margin-top: 1rem; }
.nd-order-confirmation .woocommerce-verify-email { max-width: 42rem; margin-top: 1.5rem; }
.nd-order-confirmation .woocommerce-verify-email .form-row { margin: 1.25rem 0; }
.nd-order-confirmation .woocommerce-verify-email label { display: block; margin-bottom: .5rem; font-size: .9375rem; font-weight: 600; }
.nd-order-confirmation .woocommerce-verify-email input[type="email"] {
  box-sizing: border-box;
  width: min(100%, 26rem);
  min-height: 48px;
  padding: .75rem 1rem;
  border: 1px solid #8c949f;
  border-radius: 8px;
  background: #fff;
  color: var(--nd-form-ink);
  font: inherit;
  font-size: 1rem;
}
.nd-order-confirmation .woocommerce-verify-email input[type="email"]:focus-visible {
  border-color: var(--nd-form-brand);
  outline: 2px solid var(--nd-form-brand);
  outline-offset: 3px;
}
.nd-order-confirmation .woocommerce-verify-email :is(button, input)[type="submit"] {
  min-height: 48px;
  padding: .75rem 1.5rem;
  border: 1px solid var(--nd-form-brand);
  border-radius: 8px;
  background: var(--nd-form-brand);
  color: var(--nd-form-ink);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}
.nd-order-confirmation .woocommerce-verify-email :is(button, input)[type="submit"]:focus-visible { outline: 2px solid var(--nd-form-ink); outline-offset: 3px; }
.nd-order-confirmation .wc-block-order-confirmation-summary {
  margin: 2rem 0 3rem;
  padding: clamp(1.25rem, 2.5vw, 2rem);
  border: 1px solid var(--nd-form-line);
  border-radius: 12px;
  background: var(--nd-form-surface);
}
.nd-order-confirmation .wc-block-order-confirmation-summary-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem 2rem;
}
.nd-order-confirmation .wc-block-order-confirmation-summary-list-item { min-width: 0; overflow-wrap: anywhere; }
.nd-order-confirmation .wc-block-order-confirmation-summary-list-item:nth-child(4) { grid-column: span 2; }
.nd-order-confirmation .wc-block-order-confirmation-summary-list-item > .wc-block-order-confirmation-summary-list-item__key {
  display: block;
  margin-bottom: .4rem;
  font-size: .8125rem;
  font-weight: 500;
  color: var(--nd-form-muted);
}
.nd-order-confirmation .wc-block-order-confirmation-summary-list-item > .wc-block-order-confirmation-summary-list-item__value {
  display: block;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
}
.nd-order-confirmation :where(.wp-block-heading) {
  margin-top: 0;
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-weight: 600;
  letter-spacing: -.025em;
}
.nd-order-confirmation .wc-block-order-confirmation-totals table {
  table-layout: fixed;
  border-color: var(--nd-form-line);
  border-radius: 12px;
  overflow: hidden;
}
.nd-order-confirmation .wc-block-order-confirmation-totals table :where(th, td) {
  padding: 1rem 1.25rem;
  border-color: var(--nd-form-line);
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.nd-order-confirmation .wc-block-order-confirmation-totals__product,
.nd-order-confirmation .wc-block-order-confirmation-totals__label { width: 70%; }
.nd-order-confirmation .wc-block-order-confirmation-totals__total { width: 30%; }
.nd-order-confirmation .wc-block-order-confirmation-totals table :where(thead, tfoot) { background: var(--nd-form-surface); }
.nd-order-confirmation .wc-block-order-confirmation-address-wrapper { gap: 2rem; margin-top: 3rem; }
.nd-order-confirmation :where(.wc-block-order-confirmation-billing-address, .wc-block-order-confirmation-shipping-address, .wc-block-order-confirmation-order-note) {
  padding: 1.25rem;
  border-color: var(--nd-form-line);
  border-radius: 12px;
  line-height: 1.7;
  overflow-wrap: anywhere;
}
.nd-order-confirmation .wp-block-woocommerce-order-confirmation-downloads-wrapper,
.nd-order-confirmation .wp-block-woocommerce-order-confirmation-additional-fields-wrapper { margin-top: 3rem; }
.nd-order-confirmation .wc-block-order-confirmation-additional-information { margin-top: 2rem; overflow-wrap: anywhere; }
.nd-order-confirmation .wc-block-order-confirmation-additional-information h2 { font-size: clamp(1.25rem, 2vw, 1.5rem); line-height: 1.3; font-weight: 600; letter-spacing: -.025em; }
@media (max-width: 767px) {
  .nd-order-confirmation .wc-block-order-confirmation-summary-list { display: block; }
  .nd-order-confirmation .wc-block-order-confirmation-summary-list-item {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 1rem;
    width: 100%;
    padding-block: .5rem;
  }
  .nd-order-confirmation .wc-block-order-confirmation-summary-list-item > .wc-block-order-confirmation-summary-list-item__key { margin: 0; line-height: 1.85; }
  .nd-order-confirmation .wc-block-order-confirmation-totals table :where(th, td) { padding: .875rem .75rem; }
  .nd-order-confirmation .wc-block-order-confirmation-address-wrapper { gap: 2rem; }
}
