/*
Theme Name:        SEISNUEVE
Theme URI:         https://exeqtm.com
Description:       Presentation layer for SEISNUEVE — post-apocalyptic clothing brand experience. Pairs with the SEISNUEVE Core plugin. WooCommerce-ready for Printful catalogs.
Author:            EXEQTM
Author URI:        https://exeqtm.com
Version:           1.6.7
Requires at least: 6.4
Requires PHP:      8.0
Text Domain:       seisnueve
Tags:              custom-menu, e-commerce, full-width-template, theme-options
*/

/* Critical shell: never flash / stick on light global.css while SPA boots (esp. mobile cache). */
html,
body.seisnueve-body {
  margin: 0;
  min-height: 100%;
  background: #08070b !important;
  color: #efe3d5;
}

#seisnueve-root.seisnueve-root {
  display: block;
  min-height: 100vh;
  min-height: 100dvh;
  width: 100%;
  background: #08070b;
  color: #efe3d5;
}

/* Native Woo cart / checkout / account (no React shell).
   One light panel on dark chrome — payment logos / Stripe stay readable. */
body.seisnueve-woo-native {
  --sn-woo-ink: #1c1612;
  --sn-woo-muted: #5c5046;
  --sn-woo-panel: #f3ebe1;
  --sn-woo-panel-2: #ebe0d2;
  --sn-woo-line: color-mix(in srgb, #1c1612 14%, transparent);
  --sn-woo-accent: #a85f32;
  --sn-woo-err: #7a3a28;
  --sn-woo-err-bg: #f0ddd4;
  font-family: Montserrat, system-ui, sans-serif;
  background:
    radial-gradient(ellipse 80% 50% at 50% -10%, color-mix(in srgb, #c97a46 14%, transparent), transparent 55%),
    #08070b !important;
  color: var(--sn-woo-ink);
}

body.seisnueve-woo-native .seisnueve-woo-back {
  display: inline-block;
  margin: 20px 18px 4px;
  color: #c97a46;
  text-decoration: none;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body.seisnueve-woo-native .seisnueve-woo-back:hover {
  color: #efe3d5;
}

/* Single outer panel only — do NOT restyle nested .woocommerce / block roots */
body.seisnueve-woo-native .seisnueve-woo {
  max-width: 1080px;
  margin: 12px auto 56px;
  padding: 28px 28px 40px;
  min-height: 50vh;
  color: var(--sn-woo-ink);
  background:
    linear-gradient(180deg, #f7f1e8 0%, var(--sn-woo-panel) 40%, var(--sn-woo-panel-2) 100%);
  border: 1px solid color-mix(in srgb, #efe3d5 18%, transparent);
  border-radius: 6px;
  box-shadow:
    0 0 0 1px color-mix(in srgb, #000 35%, transparent),
    0 28px 60px color-mix(in srgb, #000 55%, transparent);
}

@media (max-width: 640px) {
  body.seisnueve-woo-native .seisnueve-woo {
    margin: 8px 12px 40px;
    padding: 18px 16px 28px;
  }
}

body.seisnueve-woo-native .seisnueve-woo .woocommerce,
body.seisnueve-woo-native .seisnueve-woo .wp-block-woocommerce-cart,
body.seisnueve-woo-native .seisnueve-woo .wp-block-woocommerce-checkout,
body.seisnueve-woo-native .seisnueve-woo .wc-block-checkout,
body.seisnueve-woo-native .seisnueve-woo .wc-block-cart {
  max-width: none;
  margin: 0;
  padding: 0;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: inherit;
}

body.seisnueve-woo-native .wc-block-components-title,
body.seisnueve-woo-native .wc-block-components-checkout-step__title,
body.seisnueve-woo-native .wc-block-components-checkout-step__description,
body.seisnueve-woo-native .wc-block-components-order-summary,
body.seisnueve-woo-native .wc-block-components-totals-wrapper,
body.seisnueve-woo-native .wc-block-components-product-name,
body.seisnueve-woo-native .wc-block-components-product-price,
body.seisnueve-woo-native .wc-block-components-product-metadata,
body.seisnueve-woo-native .wc-block-components-radio-control-accordion-option,
body.seisnueve-woo-native .wc-block-components-radio-control__label,
body.seisnueve-woo-native .wc-block-components-radio-control__description,
body.seisnueve-woo-native label,
body.seisnueve-woo-native .wc-block-components-text-input label,
body.seisnueve-woo-native .wc-block-components-checkbox__label,
body.seisnueve-woo-native h1,
body.seisnueve-woo-native h2,
body.seisnueve-woo-native h3,
body.seisnueve-woo-native .woocommerce-checkout .col2-set,
body.seisnueve-woo-native .woocommerce-billing-fields,
body.seisnueve-woo-native #order_review {
  color: var(--sn-woo-ink) !important;
}

body.seisnueve-woo-native .wc-block-components-checkout-step__description,
body.seisnueve-woo-native .wc-block-components-product-metadata,
body.seisnueve-woo-native .wc-block-components-radio-control__description {
  color: var(--sn-woo-muted) !important;
}

body.seisnueve-woo-native .wc-block-components-sidebar,
body.seisnueve-woo-native .wc-block-components-order-summary,
body.seisnueve-woo-native .wc-block-cart__sidebar {
  background: color-mix(in srgb, #1c1612 4%, #fff) !important;
  border: 1px solid var(--sn-woo-line) !important;
  border-radius: 4px;
  padding: 16px !important;
}

body.seisnueve-woo-native input,
body.seisnueve-woo-native select,
body.seisnueve-woo-native textarea,
body.seisnueve-woo-native .wc-block-components-text-input input,
body.seisnueve-woo-native .wc-block-components-combobox input,
body.seisnueve-woo-native .wc-block-components-textarea textarea,
body.seisnueve-woo-native .wc-block-components-text-input .wc-block-components-text-input__input {
  background: #fff !important;
  color: var(--sn-woo-ink) !important;
  border: 1px solid var(--sn-woo-line) !important;
  border-radius: 3px !important;
  box-shadow: none !important;
}

body.seisnueve-woo-native input::placeholder,
body.seisnueve-woo-native textarea::placeholder {
  color: color-mix(in srgb, var(--sn-woo-muted) 70%, transparent) !important;
}

body.seisnueve-woo-native a {
  color: var(--sn-woo-accent);
}

body.seisnueve-woo-native .button,
body.seisnueve-woo-native button.button,
body.seisnueve-woo-native #place_order,
body.seisnueve-woo-native .wc-block-components-checkout-place-order-button,
body.seisnueve-woo-native .wc-block-cart__submit-button {
  background: linear-gradient(135deg, #c97a46, #a85f32) !important;
  color: #1a120c !important;
  border: 0 !important;
  border-radius: 3px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

body.seisnueve-woo-native .wc-block-components-radio-control-accordion-option,
body.seisnueve-woo-native .wc-block-components-radio-control__option,
body.seisnueve-woo-native .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option {
  background: #fff !important;
  border-color: var(--sn-woo-line) !important;
}

body.seisnueve-woo-native .wc-block-components-payment-method-label img,
body.seisnueve-woo-native .wc-block-components-radio-control__label img,
body.seisnueve-woo-native .wc-payment-method img {
  mix-blend-mode: normal;
  opacity: 1;
}

/* Errors — rust on warm wash (override Woo/Stripe neon red) */
body.seisnueve-woo-native .woocommerce-error,
body.seisnueve-woo-native .woocommerce-NoticeGroup .woocommerce-error,
body.seisnueve-woo-native .wc-block-components-notice-banner.is-error,
body.seisnueve-woo-native .wc-block-components-validation-error,
body.seisnueve-woo-native .wc-block-components-notice-banner.is-error .wc-block-components-notice-banner__content,
body.seisnueve-woo-native .wc-block-components-validation-error p,
body.seisnueve-woo-native .wc-block-components-text-input .wc-block-components-validation-error,
body.seisnueve-woo-native .has-error .wc-block-components-validation-error,
body.seisnueve-woo-native span.required,
body.seisnueve-woo-native .required {
  color: var(--sn-woo-err) !important;
  background: transparent !important;
  border-color: color-mix(in srgb, var(--sn-woo-err) 35%, transparent) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
}

body.seisnueve-woo-native .wc-block-components-notice-banner.is-error {
  background: var(--sn-woo-err-bg) !important;
  border-radius: 4px;
  border-left-width: 3px !important;
}

body.seisnueve-woo-native .wc-block-components-text-input.has-error input,
body.seisnueve-woo-native .wc-block-components-text-input.has-error .wc-block-components-text-input__input,
body.seisnueve-woo-native .has-error input {
  border-color: color-mix(in srgb, var(--sn-woo-err) 55%, transparent) !important;
  outline-color: var(--sn-woo-err) !important;
}

body.seisnueve-woo-native .wc-block-components-radio-control-accordion-content,
body.seisnueve-woo-native .wc-block-gateway-container,
body.seisnueve-woo-native #payment,
body.seisnueve-woo-native .payment_box {
  background: #fff !important;
  color: var(--sn-woo-ink) !important;
  border-radius: 0 0 4px 4px;
}
