/* The same notice treatment on products, account, cart and checkout. */
body :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) {
  box-sizing: border-box; padding: 1rem 1.25rem; margin: 0 0 1.25rem;
  border: 1px solid var(--line); border-left: 3px solid var(--accent-hover);
  border-radius: 0; background: var(--surface); color: var(--ink);
  font-size: .95rem; line-height: 1.55; list-style-position: inside;
}
body .woocommerce-error { border-left-color: #b3261e; background: #fff5f4; }
body .woocommerce-message { border-left-color: var(--success); }
body :is(.woocommerce-info, .woocommerce-message, .woocommerce-error)::before { content: none; }
body :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) a:not(.button) { font-weight: 700; text-decoration: underline; }
body :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) .button,
.woocommerce-account .drb-empty-account-action .button {
  display: inline-flex; align-items: center; justify-content: center; min-height: 48px;
  padding: .75rem 1.25rem; margin: .5rem .75rem .5rem 0; float: none;
  border: 1px solid transparent; border-radius: 0; background: var(--accent-hover);
  color: #fff; font-size: 1rem; font-weight: 700; line-height: 1.3; text-decoration: none;
}
body :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) .button:hover,
.woocommerce-account .drb-empty-account-action .button:hover { background: var(--ink); }
.woocommerce-account .drb-empty-account-action { margin: 0 0 1.5rem; }
.woocommerce-account .drb-empty-account-action .button { margin: 0; }
/* Draw the password eye without relying on a missing icon font. */
body .woocommerce .password-input { display: block; position: relative; width: 100%; }
body .woocommerce .password-input input { padding-right: 3.25rem; }
body .woocommerce .password-input .show-password-input {
  display: inline-flex; align-items: center; justify-content: center; position: absolute;
  top: 50%; right: .25rem; transform: translateY(-50%); width: 44px; height: 44px;
  min-height: 0; padding: 0; margin: 0; border: 0; border-radius: 0;
  background: transparent; color: var(--ink-muted); cursor: pointer; font-size: 0;
}
body .woocommerce .password-input .show-password-input::after {
  content: ''; display: block; width: 22px; height: 22px; margin: 0;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12Z' fill='none' stroke='black' stroke-width='1.7'/%3E%3Ccircle cx='12' cy='12' r='3' fill='none' stroke='black' stroke-width='1.7'/%3E%3C/svg%3E") center / contain no-repeat;
}
body .woocommerce .password-input .show-password-input::before { content: none; }
body .woocommerce .password-input .show-password-input.display-password::before {
  content: ''; position: absolute; width: 26px; height: 2px; background: currentColor; transform: rotate(-45deg);
}
body .woocommerce .password-input .show-password-input:hover { color: var(--accent-hover); background: var(--surface); }
body .woocommerce .password-input .show-password-input:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
/* Stripe adds an inline width:auto; match the existing terms checkbox. */
.woocommerce-checkout .commerce-content #payment input[type="checkbox"] {
  width: 18px !important; height: 18px; min-width: 18px; padding: 0;
  appearance: auto; accent-color: var(--accent-hover); vertical-align: middle;
  margin: 0 .5rem 0 0; border-radius: 0; flex-shrink: 0;
}
.woocommerce-checkout .commerce-content #payment label[for^="wc-stripe"][for$="-new-payment-method"] {
  font-size: .85rem; font-weight: 400; line-height: 1.55;
}
@media (max-width: 600px) {
  body :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) { padding: 1rem; overflow-wrap: anywhere; }
}

/* All active button variants use a hand; disabled controls remain explicit. */
body :is(button, input[type="submit"], input[type="button"], input[type="reset"], [role="button"], a.button, a.btn):not(:disabled):not([aria-disabled="true"]):not(.disabled) { cursor: pointer; }
body :is(button, input[type="submit"], input[type="button"], input[type="reset"]):disabled,
body :is([role="button"], a.button, a.btn)[aria-disabled="true"] { cursor: not-allowed; }
