/* Polaris Audio — cart and checkout UI */
.polaris-commerce-ui {
  --polaris-blue: #016fde;
  --polaris-blue-dark: #0058b3;
  --polaris-yellow: #fab505;
  --polaris-ink: #1a1a1a;
  --polaris-muted: #5f6b78;
  --polaris-border: #9aa6b2;
  --polaris-surface: #ffffff;
  --polaris-surface-soft: #f4f7fa;
  --polaris-danger: #b42318;
  --polaris-radius: 8px;
}

/* Cart: show the complete product instead of cropping it. */
.polaris-commerce-ui .woocommerce-cart-form .product-thumbnail,
.polaris-commerce-ui .wc-block-cart-item__image {
  vertical-align: middle;
}

.polaris-commerce-ui .woocommerce-cart-form .product-thumbnail a,
.polaris-commerce-ui .wc-block-cart-item__image a {
  align-items: center;
  background: var(--polaris-surface);
  border: 1px solid #e2e7ec;
  border-radius: var(--polaris-radius);
  display: flex;
  justify-content: center;
  overflow: hidden;
  padding: 6px;
}

.polaris-commerce-ui .woocommerce-cart-form .product-thumbnail img,
.polaris-commerce-ui .wc-block-cart-item__image img {
  aspect-ratio: 1 / 1;
  background: var(--polaris-surface);
  display: block;
  height: 96px !important;
  max-width: 96px !important;
  object-fit: contain !important;
  object-position: center !important;
  width: 96px !important;
}

.polaris-commerce-ui .woocommerce-cart-form td.product-name,
.polaris-commerce-ui .woocommerce-cart-form td.product-price,
.polaris-commerce-ui .woocommerce-cart-form td.product-quantity,
.polaris-commerce-ui .woocommerce-cart-form td.product-subtotal {
  vertical-align: middle;
}

/* Checkout: labels and inputs with accessible contrast. */
.polaris-commerce-ui form.checkout .form-row label,
.polaris-commerce-ui .wc-block-checkout label,
.polaris-commerce-ui .wc-block-components-text-input label {
  color: var(--polaris-ink);
  font-weight: 600;
}

.polaris-commerce-ui form.checkout input.input-text,
.polaris-commerce-ui form.checkout input[type="email"],
.polaris-commerce-ui form.checkout input[type="tel"],
.polaris-commerce-ui form.checkout input[type="text"],
.polaris-commerce-ui form.checkout select,
.polaris-commerce-ui form.checkout textarea,
.polaris-commerce-ui form.checkout .select2-selection,
.polaris-commerce-ui .wc-block-checkout input,
.polaris-commerce-ui .wc-block-checkout select,
.polaris-commerce-ui .wc-block-checkout textarea,
.polaris-commerce-ui .wc-block-components-text-input input {
  background-color: var(--polaris-surface-soft) !important;
  border: 1px solid var(--polaris-border) !important;
  border-radius: var(--polaris-radius) !important;
  box-shadow: none;
  color: var(--polaris-ink) !important;
  min-height: 48px;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}

.polaris-commerce-ui form.checkout textarea,
.polaris-commerce-ui .wc-block-checkout textarea {
  min-height: 112px;
}

.polaris-commerce-ui form.checkout input::placeholder,
.polaris-commerce-ui form.checkout textarea::placeholder,
.polaris-commerce-ui .wc-block-checkout input::placeholder,
.polaris-commerce-ui .wc-block-checkout textarea::placeholder {
  color: var(--polaris-muted);
  opacity: 1;
}

.polaris-commerce-ui form.checkout input:focus,
.polaris-commerce-ui form.checkout select:focus,
.polaris-commerce-ui form.checkout textarea:focus,
.polaris-commerce-ui form.checkout .select2-container--focus .select2-selection,
.polaris-commerce-ui .wc-block-checkout input:focus,
.polaris-commerce-ui .wc-block-checkout select:focus,
.polaris-commerce-ui .wc-block-checkout textarea:focus {
  border-color: var(--polaris-blue) !important;
  box-shadow: 0 0 0 3px rgba(1, 111, 222, 0.18) !important;
  outline: 0;
}

.polaris-commerce-ui form.checkout .woocommerce-invalid input,
.polaris-commerce-ui form.checkout .woocommerce-invalid select,
.polaris-commerce-ui form.checkout .woocommerce-invalid textarea,
.polaris-commerce-ui .wc-block-components-validation-error input {
  border-color: var(--polaris-danger) !important;
  box-shadow: 0 0 0 3px rgba(180, 35, 24, 0.12) !important;
}

/* Progressive enhancement for the existing Private/Company radio group. */
.polaris-commerce-ui .polaris-customer-type {
  align-items: stretch;
  background: var(--polaris-surface-soft);
  border: 1px solid #d9e0e7;
  border-radius: 10px;
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(var(--polaris-choice-count, 2), minmax(0, 1fr));
  margin: 8px 0 22px;
  padding: 8px;
}

.polaris-commerce-ui .polaris-customer-type .polaris-customer-choice {
  align-items: center;
  background: var(--polaris-surface);
  border: 1px solid var(--polaris-border);
  border-radius: 7px;
  color: var(--polaris-ink);
  cursor: pointer;
  display: flex;
  font-weight: 700;
  justify-content: center;
  line-height: 1.25;
  margin: 0;
  min-height: 48px;
  padding: 10px 14px;
  text-align: center;
  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, color 160ms ease;
}

.polaris-commerce-ui .polaris-customer-type .polaris-customer-choice:hover {
  border-color: var(--polaris-blue);
}

.polaris-commerce-ui .polaris-customer-type .polaris-customer-choice.is-selected {
  background: var(--polaris-blue);
  border-color: var(--polaris-blue);
  box-shadow: inset 0 -3px 0 var(--polaris-yellow);
  color: #ffffff;
}

.polaris-commerce-ui .polaris-customer-type .polaris-customer-choice.is-focus-visible {
  box-shadow: 0 0 0 3px rgba(1, 111, 222, 0.24);
  outline: 2px solid transparent;
}

.polaris-commerce-ui .polaris-customer-type .polaris-customer-choice .optional {
  display: none;
}

.polaris-commerce-ui .polaris-business-only[hidden] {
  display: none !important;
}

.polaris-commerce-ui .polaris-customer-type input[type="radio"] {
  height: 1px !important;
  margin: -1px !important;
  opacity: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  pointer-events: none;
  position: absolute !important;
  width: 1px !important;
}

@media (max-width: 680px) {
  .polaris-commerce-ui .woocommerce-cart-form .product-thumbnail img,
  .polaris-commerce-ui .wc-block-cart-item__image img {
    height: 72px !important;
    max-width: 72px !important;
    width: 72px !important;
  }

}

@media (prefers-reduced-motion: reduce) {
  .polaris-commerce-ui form.checkout input,
  .polaris-commerce-ui form.checkout select,
  .polaris-commerce-ui form.checkout textarea,
  .polaris-commerce-ui .polaris-customer-type .polaris-customer-choice {
    transition: none;
  }
}
