/* Sentient Spaces — shop surfaces.

   The drop panel is the storefront; Cart and Checkout are the only Woo screens a
   visitor ever reaches, and both are block pages. WooCommerce ships them light, so
   everything here is a re-ground onto the Kiln Dark base: same two typefaces, same
   hairlines, no rounded chrome, no colour outside the palette. Notices are included
   because Woo can raise one anywhere. */

:root {
  --ss-page: #07080a;
  --ss-surface: #0e1116;
  --ss-ink: #e8e4dc;
  --ss-accent: #9fd8c3;
  --ss-muted: #8b919b;
  --ss-line: #262c34;
}

/* ---------- Woo notices, wherever they surface ---------- */

.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-message, .woocommerce-info, .woocommerce-error,
.wc-block-components-notice-banner {
  background: var(--ss-surface) !important;
  border: 1px solid var(--ss-line) !important;
  border-left-width: 1px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--ss-ink) !important;
  font-family: 'IBM Plex Mono', ui-monospace, monospace !important;
  font-size: 12px !important;
  letter-spacing: 0.06em;
  line-height: 1.6;
  padding: 16px 18px !important;
  margin: 0 0 20px !important;
}

.wc-block-components-notice-banner > svg,
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { display: none !important; }

.wc-block-components-notice-banner.is-error { border-color: #6b4a44 !important; }
.wc-block-components-notice-banner.is-success { border-color: #2f4a42 !important; }

/* ---------- cart and checkout ground ---------- */

body.woocommerce-cart, body.woocommerce-checkout, body.woocommerce-order-received {
  background: var(--ss-page);
  color: var(--ss-ink);
}

.wc-block-components-sidebar-layout,
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout {
  color: var(--ss-ink);
  max-width: 1180px;
  margin: 0 auto;
  padding: 56px 28px 96px;
}

.wc-block-components-title,
.wc-block-cart__main-title,
.wc-block-components-order-summary__button-text,
.wc-block-components-checkout-step__title {
  font-family: 'Newsreader', Georgia, serif !important;
  font-weight: 200 !important;
  letter-spacing: -0.015em;
  color: var(--ss-ink) !important;
}

.wc-block-cart__main-title { font-size: 40px !important; margin-bottom: 34px; }
.wc-block-components-checkout-step__title { font-size: 24px !important; }

.wc-block-components-checkout-step__description,
.wc-block-components-product-metadata,
.wc-block-components-product-name + *,
.wc-block-components-totals-item__label,
.wc-block-components-order-summary-item__description {
  color: var(--ss-muted) !important;
}

/* Step numbers and the eyebrow-ish labels take the mono voice. */
.wc-block-components-checkout-step__heading-content,
.wc-block-components-checkout-step-number,
.wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item,
.wc-block-cart-item__quantity,
.wc-block-components-product-details__name {
  font-family: 'IBM Plex Mono', ui-monospace, monospace !important;
  letter-spacing: 0.08em;
}

.wc-block-components-checkout-step-number {
  background: none !important;
  border: 1px solid var(--ss-line) !important;
  border-radius: 0 !important;
  color: var(--ss-muted) !important;
  font-size: 11px !important;
}

/* Panels: hairline boxes on the page ground, never a lighter card. */
.wc-block-components-sidebar,
.wc-block-components-totals-wrapper,
.wp-block-woocommerce-checkout-order-summary-block {
  background: var(--ss-surface) !important;
  border: 1px solid var(--ss-line) !important;
  border-radius: 0 !important;
}

.wp-block-woocommerce-checkout-order-summary-block { padding: 24px !important; }

.wc-block-components-checkout-step {
  border: 0 !important;
  border-top: 1px solid var(--ss-line) !important;
  border-radius: 0 !important;
  padding: 30px 0 !important;
  background: none !important;
}

.wc-block-components-totals-wrapper { border-width: 1px 0 0 0 !important; }

/* ---------- fields ---------- */

.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-text-input input[type="number"],
.wc-block-components-textarea,
.wc-blocks-components-select__select,
.components-form-token-field__input,
.wc-block-components-form input,
.wc-block-components-form select,
.wc-block-components-form textarea {
  background: #0b0d10 !important;
  border: 1px solid var(--ss-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--ss-ink) !important;
  font-family: 'IBM Plex Mono', ui-monospace, monospace !important;
  font-size: 13px !important;
}

.wc-block-components-text-input input:focus,
.wc-blocks-components-select__select:focus,
.wc-block-components-form textarea:focus {
  border-color: var(--ss-accent) !important;
  outline: none !important;
}

.wc-block-components-text-input label,
.wc-block-components-checkbox__label,
.wc-blocks-components-select__label {
  color: var(--ss-muted) !important;
  font-family: 'IBM Plex Mono', ui-monospace, monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.wc-block-components-checkbox__input { accent-color: var(--ss-accent); }

/* ---------- radio rows: shipping methods, payment methods ---------- */

.wc-block-components-radio-control-accordion-option,
.wc-block-components-radio-control__option {
  background: none !important;
  border-color: var(--ss-line) !important;
  border-radius: 0 !important;
  color: var(--ss-ink) !important;
}

.wc-block-components-radio-control__option-checked,
.wc-block-components-radio-control-accordion-option--checked-option-highlighted {
  border-color: var(--ss-accent) !important;
}

.wc-block-components-radio-control__label { color: var(--ss-ink) !important; }
.wc-block-components-radio-control__secondary-label,
.wc-block-components-radio-control__description { color: var(--ss-muted) !important; }

/* ---------- totals and prices ---------- */

.wc-block-components-totals-item__value,
.wc-block-components-product-price__value,
.wc-block-formatted-money-amount {
  color: var(--ss-ink) !important;
  font-family: 'IBM Plex Mono', ui-monospace, monospace !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-family: 'Newsreader', Georgia, serif !important;
  font-size: 24px !important;
  font-weight: 300 !important;
}

/* ---------- buttons ---------- */

.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
  background: var(--ss-accent) !important;
  border: 1px solid var(--ss-accent) !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  color: #07080a !important;
  font-family: 'IBM Plex Mono', ui-monospace, monospace !important;
  font-size: 12px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase;
  padding: 16px 24px !important;
  transition: background 140ms ease, color 140ms ease;
}

.wc-block-components-button:not(.is-link):hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
  background: transparent !important;
  color: var(--ss-accent) !important;
}

.wc-block-components-button.is-link,
.wc-block-cart__submit-container a,
.wc-block-components-checkout-return-to-cart-button {
  color: var(--ss-muted) !important;
  font-family: 'IBM Plex Mono', ui-monospace, monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-decoration: none !important;
}

.wc-block-components-button.is-link:hover,
.wc-block-components-checkout-return-to-cart-button:hover { color: var(--ss-accent) !important; }

/* ---------- cart line items ---------- */

.wc-block-cart-items,
.wc-block-cart-items__row,
.wc-block-cart-items td,
.wc-block-cart-items th {
  background: none !important;
  border-color: var(--ss-line) !important;
  color: var(--ss-ink) !important;
}

.wc-block-cart-items__header {
  font-family: 'IBM Plex Mono', ui-monospace, monospace !important;
  font-size: 10px !important;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ss-muted) !important;
}

.wc-block-components-product-name {
  font-family: 'Newsreader', Georgia, serif !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  color: var(--ss-ink) !important;
  text-decoration: none !important;
}

.wc-block-components-quantity-selector {
  border: 1px solid var(--ss-line) !important;
  border-radius: 0 !important;
}

.wc-block-components-quantity-selector__input,
.wc-block-components-quantity-selector__button {
  background: none !important;
  color: var(--ss-ink) !important;
  font-family: 'IBM Plex Mono', ui-monospace, monospace !important;
}

.wc-block-cart-item__remove-link { color: var(--ss-muted) !important; }
.wc-block-cart-item__remove-link:hover { color: var(--ss-accent) !important; }

.wc-block-components-panel__button,
.wc-block-components-order-summary__button-text { color: var(--ss-ink) !important; }

.wc-block-components-checkout-policies__item a,
.wc-block-components-checkout-step__description a { color: var(--ss-accent) !important; }

/* Express-payment strip sits on the dark ground with its own hairline. */
.wp-block-woocommerce-checkout-express-payment-block,
.wc-block-components-express-payment {
  background: none !important;
  border: 1px solid var(--ss-line) !important;
  border-radius: 0 !important;
}

.wc-block-components-express-payment__event-buttons { background: none !important; }

.wc-block-components-express-payment-continue-rule {
  color: var(--ss-muted) !important;
  font-family: 'IBM Plex Mono', ui-monospace, monospace !important;
  font-size: 10px !important;
  letter-spacing: 0.2em;
}

.wc-block-components-express-payment-continue-rule::before,
.wc-block-components-express-payment-continue-rule::after { border-color: var(--ss-line) !important; }

/* ---------- one-line flash inside the cart drawer ---------- */

.ss-cart-flash {
  border-top: 1px solid var(--ss-line);
  color: var(--ss-muted);
  font-family: 'IBM Plex Mono', ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: 0.1em;
  line-height: 1.6;
  margin: 0;
  padding: 14px 0 0;
}