/* ===========================================================================
   c-woo.css — WooCommerce's own controls, dressed in the Ergo Snob system.
   Loaded last. Only touches markup Woo renders (forms, notices, cart and
   checkout blocks); the site's own components are untouched.
   =========================================================================== */

/* ----------------------------------------------------------- add-to-cart */
.pdpwrap form.cart { display: grid; gap: 18px; margin: 22px 0 6px; }

/* variation picker: Woo's table collapses into our label + control */
.pdpwrap table.variations { width: 100%; border-collapse: collapse; margin: 0; }
.pdpwrap table.variations th,
.pdpwrap table.variations td { display: block; padding: 0; border: none; text-align: left; }
.pdpwrap table.variations th label {
  display: block; margin: 0 0 10px;
  font-family: var(--mono, 'JetBrains Mono', monospace);
  font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--faint);
}
.pdpwrap .variations select {
  width: 100%; padding: 16px 18px; background: var(--panel); color: var(--cream);
  border: 1px solid var(--line); border-radius: 0; font-size: 16px; font-family: inherit;
  appearance: none; cursor: pointer;
  background-image: linear-gradient(45deg, transparent 50%, var(--amber) 50%),
                    linear-gradient(135deg, var(--amber) 50%, transparent 50%);
  background-position: calc(100% - 22px) calc(50% + 2px), calc(100% - 16px) calc(50% + 2px);
  background-size: 6px 6px, 6px 6px; background-repeat: no-repeat;
}
.pdpwrap .variations select:focus { outline: 2px solid var(--amber); outline-offset: 2px; }
.pdpwrap .reset_variations {
  font-size: 13px; letter-spacing: .08em; text-transform: uppercase;
  color: var(--faint); border-bottom: 1px solid var(--line);
}
.pdpwrap .woocommerce-variation-price { padding: 4px 0 0; }
.pdpwrap .woocommerce-variation-price .price { font-size: 30px; color: var(--cream); }
.pdpwrap .woocommerce-variation-availability { font-size: 14px; color: var(--muted); }

/* quantity + button sit on one line, as the static buy box does */
.pdpwrap form.cart .quantity,
.pdpwrap form.cart .wc-block-components-quantity-selector { display: inline-block; }
.pdpwrap form.cart .quantity input.qty {
  width: 92px; padding: 17px 12px; text-align: center;
  background: transparent; color: var(--cream);
  border: 1px solid var(--line); border-radius: 0; font-size: 16px; font-family: inherit;
}
.pdpwrap form.cart .quantity input.qty:focus { outline: 2px solid var(--amber); outline-offset: 2px; }

.pdpwrap form.cart .single_add_to_cart_button,
.woocommerce #respond input#submit,
.woocommerce button.button.alt {
  display: inline-block; font-size: 14px; letter-spacing: .16em; text-transform: uppercase;
  padding: 18px 30px; background: var(--terra); color: #fff; font-weight: 500;
  border: none; border-radius: 0; cursor: pointer; transition: background .25s, color .25s;
}
.pdpwrap form.cart .single_add_to_cart_button:hover,
.woocommerce button.button.alt:hover { background: var(--cream); color: var(--bg); }
.pdpwrap form.cart .single_add_to_cart_button:disabled { opacity: .45; cursor: not-allowed; }

/* qty and button share a row once a variation is chosen */
.pdpwrap form.cart.variations_form .woocommerce-variation-add-to-cart,
.pdpwrap form.cart:not(.variations_form) { display: flex; gap: 12px; align-items: stretch; flex-wrap: wrap; }

/* --------------------------------------------------------------- notices */
.woocommerce-notices-wrapper { max-width: 1440px; margin: 0 auto; padding: 0 clamp(20px, 4vw, 56px); }
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  background: var(--panel); border: none; border-left: 3px solid var(--amber);
  color: var(--body); padding: 18px 22px; margin: 18px 0; list-style: none; font-size: 15px;
}
.woocommerce-error { border-left-color: var(--terra); }
.woocommerce-message a, .woocommerce-info a { color: var(--amber); }

/* ------------------------------------------------- cart & checkout
   Light ground, minimal intervention. These are utility pages: the job is
   legibility and a recognisable primary button, not a skin. Woo's own
   components keep their default structure and spacing.
*/
body.woocommerce-cart main#main,
body.woocommerce-checkout main#main,
body.woocommerce-order-received main#main {
  /* reuse the light token set the site already defines for .plight sections */
  --cream: #1B2024; --body: #2f3538; --muted: #454c50; --faint: #454c50;
  --line: #dcd7ce; --amber: #9a4c2b; --panel: #ffffff; --bg2: #f6f2ea;
  background: #FBF9F4;
  color: #1B2024;
  padding: clamp(40px, 6vw, 72px) clamp(20px, 4vw, 56px) clamp(60px, 7vw, 96px);
}
/* the sticky header is transparent over the dark site ground; on these light
   pages it needs its own ink background or the wordmark disappears */
body.woocommerce-cart .chdr,
body.woocommerce-checkout .chdr,
body.woocommerce-order-received .chdr { background: var(--bg); }

body.woocommerce-cart main#main h1,
body.woocommerce-checkout main#main h1 { color: #1B2024; }

/* the one brand element that stays: the primary action */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wc-block-components-button.contained {
  background: var(--terra) !important;
  color: #fff !important;
  border-radius: 0 !important;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover { background: #9a4c2b !important; }

/* Woo's own price markup inside our components */
.colcard .pr del, .pdpwrap .price del { opacity: .55; }
.colcard .pr ins, .pdpwrap .price ins { text-decoration: none; }
