:root {
  --fps-primary: #2B2925;
  --fps-accent: #5E7483;
  --fps-bg: #F7F5F2;
  --fps-font: 'Urbanist', system-ui, sans-serif;
}

.fps-fulfillment-cards {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: 1fr;
}

@media (min-width: 640px) {
  .fps-fulfillment-cards {
    grid-template-columns: 1fr 1fr;
  }
}

.fps-fulfillment-card {
  appearance: none;
  background: var(--fps-bg);
  border: 2px solid rgba(43, 41, 37, 0.12);
  border-radius: 12px;
  color: var(--fps-primary);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  font-family: var(--fps-font);
  gap: 0.35rem;
  padding: 1rem 1.1rem;
  text-align: left;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  width: 100%;
}

.fps-fulfillment-card:hover,
.fps-fulfillment-card:focus-visible {
  border-color: var(--fps-accent);
  box-shadow: 0 0 0 3px rgba(94, 116, 131, 0.15);
  outline: none;
}

.fps-fulfillment-card.is-active {
  border-color: var(--fps-accent);
  box-shadow: 0 0 0 3px rgba(94, 116, 131, 0.2);
}

.fps-fulfillment-card__title {
  font-size: 1rem;
  font-weight: 600;
}

.fps-fulfillment-card__meta,
.fps-fulfillment-card__price {
  color: rgba(43, 41, 37, 0.72);
  font-size: 0.875rem;
  line-height: 1.4;
}

.fps-shipping-note {
  color: rgba(43, 41, 37, 0.72);
  font-size: 0.875rem;
  margin: 0.75rem 0 0;
}

.fps-checkout-fulfillment {
  margin-bottom: 1.5rem;
  max-width: none;
}

.fps-checkout-fulfillment h3,
.fps-pickup-panel h3 {
  color: var(--fps-primary);
  font-family: var(--fps-font);
  font-size: 1.125rem;
  margin: 0 0 0.75rem;
}

.fps-pickup-panel {
  background: var(--fps-bg);
  border-radius: 12px;
  margin-bottom: 1.5rem;
  padding: 1rem 1.1rem;
}

.fps-pickup-address {
  margin: 0 0 1rem;
}

.fps-order-fulfillment {
  margin-top: 2rem;
}

.fps-order-fulfillment h2 {
  font-size: 1.125rem;
  margin-bottom: 0.75rem;
}

/* Cart: hide native Woo shipping radios (FPS cards replace them) */
.woocommerce-cart .woocommerce-shipping-totals ul#shipping_method {
  display: none !important;
}

/* Checkout order review: show shipping label + price, hide radio inputs only */
.woocommerce-checkout-review-order-table ul#shipping_method {
  display: block;
  list-style: none;
  margin: 0;
  padding: 0;
}

.woocommerce-checkout-review-order-table ul#shipping_method li {
  margin: 0;
  padding: 0;
}

.woocommerce-checkout-review-order-table ul#shipping_method input[type="radio"] {
  display: none;
}

.woocommerce-checkout-review-order-table ul#shipping_method li label {
  cursor: default;
  font-weight: 500;
}

.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th {
  display: table-cell;
}

.woocommerce-cart .woocommerce-shipping-destination,
.woocommerce-checkout .woocommerce-shipping-destination {
  display: none !important;
}

.fps-fulfillment-row + tr.woocommerce-shipping-totals th {
  display: none;
}

.fps-fulfillment-row + tr.woocommerce-shipping-totals td {
  padding-top: 0;
}

.fps-shipping-pending td {
  color: rgba(43, 41, 37, 0.72);
  font-style: italic;
}

.fps-fulfillment-card.is-loading {
  opacity: 0.6;
  pointer-events: none;
}

body.fps-pickup-checkout .woocommerce-shipping-fields,
body.fps-pickup-checkout #ship-to-different-address,
body.fps-pickup-checkout .woocommerce-additional-fields + .woocommerce-shipping-fields {
  display: none !important;
}

/* WooCommerce notice icon (::before) renders as a blue square without the WC icon font */
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info::before,
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before,
.woocommerce-checkout .woocommerce-info::before {
  content: none !important;
  display: none !important;
}

.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
  padding: 16px 20px !important;
}
