/* =========================================================================
   99 Life — WooCommerce styling (archive, cart, checkout, notices, buttons).
   Products/shop/single use custom theme templates; this harmonises the rest.
   ========================================================================= */

.woocommerce, .wc-block-components-main, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout {
  font-family: var(--nl-font-body);
  color: var(--nl-ink);
}

/* Page title (Cart / Checkout / My account) */
.woocommerce .wc-block-components-title,
.woocommerce h1.entry-title,
.woocommerce-page h1 {
  font-family: var(--nl-font-head);
  letter-spacing: -0.02em;
}

/* Generic WooCommerce buttons → theme pill */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce .button.alt,
.wc-block-components-button, .wp-element-button {
  background: var(--nl-green) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: var(--nl-pill) !important;
  font-family: var(--nl-font-body) !important;
  font-weight: 700 !important;
  padding: 14px 26px !important;
  transition: background .15s ease;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce .button.alt:hover, .wc-block-components-button:hover, .wp-element-button:hover {
  background: var(--nl-green-dark) !important;
  color: #fff !important;
}
.wc-block-components-button__text { font-weight: 700; }

/* Secondary / outlined buttons */
.woocommerce a.button.wc-backward,
.wc-block-cart__submit-container .wc-block-components-button {
  background: var(--nl-green) !important;
}

/* Links */
.woocommerce a { color: var(--nl-green); }
.woocommerce a:hover { color: var(--nl-green-dark); }

/* Prices */
.woocommerce .price, .woocommerce .amount,
.wc-block-components-product-price, .wc-block-formatted-money-amount {
  color: var(--nl-ink);
  font-weight: 700;
}
.woocommerce del, .wc-block-components-product-price del { color: var(--nl-hint-2); opacity: 1; }

/* Inputs / selects */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce .select2-container .select2-selection,
.wc-block-components-text-input input,
.wc-block-components-address-form input,
.wc-blocks-components-select .wc-blocks-components-select__select,
select, input[type="text"], input[type="email"], input[type="tel"], input[type="number"] {
  border: 1px solid var(--nl-beige-4) !important;
  border-radius: var(--nl-r-sm) !important;
  background: var(--nl-cream);
  font-family: var(--nl-font-body);
}
.wc-block-components-text-input.is-active label,
.wc-block-components-text-input input:focus { border-color: var(--nl-green) !important; }

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error,
.wc-block-components-notice-banner {
  border-radius: var(--nl-r-md);
  border-top: 3px solid var(--nl-green);
  font-family: var(--nl-font-body);
}
.woocommerce-message::before, .woocommerce-info::before { color: var(--nl-green); }
.wc-block-components-notice-banner.is-success { border-color: var(--nl-green); }

/* Cart & checkout layout spacing to match theme container */
.woocommerce-cart .nnlife-wc, .woocommerce-checkout .nnlife-wc,
.woocommerce-account .nnlife-wc, .woocommerce .nnlife-wc {
  max-width: var(--nl-maxw);
  margin: 0 auto;
  padding: clamp(32px,5vw,64px) 24px clamp(52px,7vw,88px);
}

/* Cart table */
.woocommerce table.shop_table, .wc-block-cart-items {
  border-radius: var(--nl-r-md);
  border-color: var(--nl-beige);
}
.woocommerce table.shop_table th { font-family: var(--nl-font-head); }

/* Cart totals / order summary cards */
.cart_totals, .wc-block-components-totals-wrapper,
.wc-block-components-sidebar, .woocommerce-checkout #order_review {
  background: #fff;
  border: 1px solid var(--nl-beige);
  border-radius: var(--nl-r-lg);
}

/* Qty inputs */
.woocommerce .quantity .qty, .wc-block-components-quantity-selector {
  border: 1px solid var(--nl-beige-4);
  border-radius: var(--nl-pill);
}

/* "New in store" empty-cart upsell cards reuse product-card look */
.wc-block-cart__empty-cart__title { font-family: var(--nl-font-head); }
.wc-block-grid__product-title, .woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--nl-font-head);
  color: var(--nl-ink);
}
.woocommerce span.onsale, .wc-block-components-product-sale-badge {
  background: var(--nl-green);
  color: #fff;
  border-radius: var(--nl-pill);
}

/* Breadcrumb (if WC prints one) */
.woocommerce-breadcrumb { font-size: 13.5px; color: var(--nl-hint); }

/* Tabs on default single product (not used by our template, but safe) */
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--nl-green); }

/* =========================================================================
   WooCommerce Blocks — Checkout & Cart (tidy, on-brand)
   ========================================================================= */
.wc-block-checkout__main, .wc-block-checkout__sidebar { padding: 0 !important; }

/* Each checkout step as a clean card */
.wc-block-components-checkout-step {
  background: #fff !important;
  border: 1px solid var(--nl-beige) !important;
  border-radius: var(--nl-r-lg) !important;
  padding: 22px 24px !important;
  margin-bottom: 16px !important;
}
.wc-block-components-checkout-step__title {
  font-family: var(--nl-font-head) !important;
  font-weight: 800 !important;
  font-size: 20px !important;
  letter-spacing: -0.01em;
  color: var(--nl-ink) !important;
}
.wc-block-components-checkout-step__description { color: var(--nl-muted) !important; }

/* Inputs / selects */
.wc-block-components-text-input input,
.wc-blocks-components-select__select,
.wc-block-components-address-form input,
.wc-block-components-address-form select,
.wc-block-components-combobox input {
  border-radius: var(--nl-r-sm) !important;
  border: 1px solid var(--nl-beige-4) !important;
  background: var(--nl-cream) !important;
  box-shadow: none !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-combobox input:focus {
  border-color: var(--nl-green) !important;
  box-shadow: 0 0 0 1px var(--nl-green) !important;
}
.wc-block-components-text-input label { color: var(--nl-muted-2) !important; }

/* Shipping & payment options as cards; selected = green */
.wc-block-components-radio-control { border: 0 !important; }
.wc-block-components-radio-control__option {
  border: 1px solid var(--nl-beige) !important;
  border-radius: 14px !important;
  margin-bottom: 10px !important;
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}
.wc-block-components-radio-control__option-checked {
  border: 2px solid var(--nl-green) !important;
  background: #F4FAF5 !important;
}
.wc-block-components-radio-control__label { font-weight: 600 !important; color: var(--nl-ink) !important; }
.wc-block-components-radio-control__input { accent-color: var(--nl-green); }

/* Order summary: one clean card, no stacked inner boxes */
.wc-block-components-order-summary,
.wc-block-components-totals-wrapper,
.wp-block-woocommerce-checkout-order-summary-coupon-form-block,
.wp-block-woocommerce-checkout-order-summary-totals-block {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* one subtle divider above the totals */
.wp-block-woocommerce-checkout-order-summary-totals-block {
  border-top: 1px solid var(--nl-beige) !important;
  margin-top: 4px !important;
  padding-top: 8px !important;
}
.wc-block-components-totals-wrapper.slot-wrapper:empty { display: none !important; }
/* single outer card around the whole summary (desktop sidebar) */
.wc-block-checkout__sidebar {
  background: #fff !important;
  border: 1px solid var(--nl-beige) !important;
  border-radius: var(--nl-r-lg) !important;
  padding: 6px 22px !important;
}
.wc-block-components-totals-item__label { color: var(--nl-muted); }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-family: var(--nl-font-head) !important;
  font-weight: 800 !important;
  color: var(--nl-ink) !important;
}

/* Place order button */
.wc-block-components-checkout-place-order-button {
  border-radius: var(--nl-pill) !important;
  padding: 18px 28px !important;
  font-weight: 800 !important;
  background: var(--nl-green) !important;
}
.wc-block-components-checkout-place-order-button:hover { background: var(--nl-green-dark) !important; }

/* Cart block tidy */
.wc-block-cart-items { border-radius: var(--nl-r-md); }
.wc-block-cart__submit-button, .wp-block-woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button {
  border-radius: var(--nl-pill) !important;
}
