/* ===================================================================
   WRIST24 — Store funnel (cart / checkout / my-account)  [Stage 3]
   Loaded AFTER asterion-site.css so it refines the legacy WooCommerce
   styling to the new light editorial system.
   =================================================================== */

/* ---- Content container + page scaffold ---- */
/* Make the store content full width (override any theme sidebar squeeze), then centre. */
body.asterion-site-active.woocommerce-cart #primary,
body.asterion-site-active.woocommerce-checkout #primary,
body.asterion-site-active.woocommerce-account #primary,
body.asterion-site-active.woocommerce-cart #content,
body.asterion-site-active.woocommerce-checkout #content,
body.asterion-site-active.woocommerce-account #content {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
}
body.asterion-site-active.woocommerce-cart #secondary,
body.asterion-site-active.woocommerce-checkout #secondary,
body.asterion-site-active.woocommerce-account #secondary { display: none !important; }
body.asterion-site-active.woocommerce-cart .woocommerce,
body.asterion-site-active.woocommerce-checkout .woocommerce,
body.asterion-site-active.woocommerce-account .woocommerce {
  max-width: var(--maxw);
  margin-left: auto;
  margin-right: auto;
}
body.asterion-site-active.woocommerce-cart .woocommerce,
body.asterion-site-active.woocommerce-checkout .woocommerce,
body.asterion-site-active.woocommerce-account .woocommerce {
  padding: clamp(24px,4vw,48px) var(--pad) clamp(48px,7vw,90px);
}
body.asterion-site-active .woocommerce h2,
body.asterion-site-active .woocommerce h3,
body.asterion-site-active #order_review_heading,
body.asterion-site-active .cart_totals h2,
body.asterion-site-active .woocommerce-column__title {
  font-family: var(--serif) !important;
  font-weight: 400 !important;
  letter-spacing: -.01em;
  color: var(--ink) !important;
  text-transform: none !important;
}

/* ---- Buttons → ink primary, brass hover ---- */
body.asterion-site-active .woocommerce a.button,
body.asterion-site-active .woocommerce button.button,
body.asterion-site-active .woocommerce input.button,
body.asterion-site-active .woocommerce a.button.alt,
body.asterion-site-active .woocommerce button.button.alt,
body.asterion-site-active .wc-proceed-to-checkout a.checkout-button,
body.asterion-site-active #place_order,
body.asterion-site-active .woocommerce #respond input#submit {
  background: var(--ink) !important;
  color: var(--paper) !important;
  border: 1px solid var(--ink) !important;
  border-radius: 0 !important;
  font-family: var(--sans) !important;
  font-size: 12.5px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  padding: 15px 28px !important;
  min-height: 50px;
  box-shadow: none !important;
  text-shadow: none !important;
  transition: .25s !important;
}
body.asterion-site-active .woocommerce a.button:hover,
body.asterion-site-active .woocommerce button.button:hover,
body.asterion-site-active .woocommerce input.button:hover,
body.asterion-site-active .woocommerce a.button.alt:hover,
body.asterion-site-active .woocommerce button.button.alt:hover,
body.asterion-site-active .wc-proceed-to-checkout a.checkout-button:hover,
body.asterion-site-active #place_order:hover {
  background: var(--brass-2) !important;
  border-color: var(--brass-2) !important;
  color: #fff !important;
}
/* secondary / ghost buttons (update cart, apply coupon, etc.) */
body.asterion-site-active .woocommerce button[name="update_cart"],
body.asterion-site-active .woocommerce button[name="apply_coupon"] {
  background: transparent !important;
  color: var(--ink) !important;
}
body.asterion-site-active .woocommerce button[name="update_cart"]:hover,
body.asterion-site-active .woocommerce button[name="apply_coupon"]:hover {
  background: var(--ink) !important;
  color: var(--paper) !important;
}
body.asterion-site-active .woocommerce button[name="update_cart"][disabled] { opacity: .4 !important; }

/* ---- Form fields ---- */
body.asterion-site-active .woocommerce form .form-row label,
body.asterion-site-active .woocommerce-checkout label,
body.asterion-site-active .woocommerce-account label {
  font-size: 12px !important;
  letter-spacing: .04em;
  color: var(--ink-2) !important;
  font-weight: 500 !important;
}
body.asterion-site-active .woocommerce form .form-row input.input-text,
body.asterion-site-active .woocommerce form .form-row textarea,
body.asterion-site-active .woocommerce .select2-container .select2-selection,
body.asterion-site-active .woocommerce form .form-row select,
body.asterion-site-active .woocommerce-account input.input-text,
body.asterion-site-active .woocommerce #order_comments {
  border: 1px solid var(--line-2) !important;
  border-radius: 0 !important;
  background: #fff !important;
  min-height: 50px !important;
  padding: 12px 14px !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  color: var(--ink) !important;
  box-shadow: none !important;
}
body.asterion-site-active .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 26px !important; padding: 0 !important; color: var(--ink) !important; }
body.asterion-site-active .select2-container .select2-selection--single { height: 50px !important; display: flex; align-items: center; }
body.asterion-site-active .woocommerce form .form-row input.input-text:focus,
body.asterion-site-active .woocommerce form .form-row textarea:focus,
body.asterion-site-active .woocommerce form .form-row select:focus {
  border-color: var(--ink) !important;
  outline: none !important;
}

/* ---- Notices → brand (bone + brass rule), not blue ---- */
body.asterion-site-active .woocommerce-info,
body.asterion-site-active .woocommerce-message,
body.asterion-site-active .woocommerce-error,
body.asterion-site-active .woocommerce-noreviews,
body.asterion-site-active .cart-empty {
  background: var(--bone) !important;
  border: 1px solid var(--line) !important;
  border-top: 2px solid var(--brass-2) !important;
  border-radius: 0 !important;
  color: var(--ink-2) !important;
  font-size: 13.5px !important;
}
body.asterion-site-active .woocommerce-info::before,
body.asterion-site-active .woocommerce-message::before {
  color: var(--brass-2) !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.asterion-site-active .woocommerce-error { border-top-color: #a8432f !important; }
/* neutralise any themed coloured icon block on notices */
body.asterion-site-active .woocommerce-info,
body.asterion-site-active .woocommerce-message { padding: 1em 1.5em 1em 3.2em !important; position: relative; }

/* ---- Tables (cart / orders) → light, hairline, no black header ---- */
body.asterion-site-active .woocommerce table.shop_table {
  border: 1px solid var(--line) !important;
  border-radius: 0 !important;
  border-collapse: collapse !important;
  background: #fff !important;
}
body.asterion-site-active .woocommerce table.shop_table thead th,
body.asterion-site-active .woocommerce table.shop_table th {
  background: var(--bone) !important;
  color: var(--ink) !important;
  font-family: var(--sans) !important;
  font-size: 11px !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  border-bottom: 1px solid var(--line) !important;
  padding: 14px 16px !important;
}
body.asterion-site-active .woocommerce table.shop_table td {
  border-top: 1px solid var(--line) !important;
  padding: 16px !important;
  color: var(--ink-2) !important;
  background: #fff !important;
}
body.asterion-site-active .woocommerce table.shop_table .product-name a { color: var(--ink) !important; font-weight: 500; }
body.asterion-site-active .woocommerce table.shop_table .product-name a:hover { color: var(--brass-2) !important; }
body.asterion-site-active .woocommerce .cart_item img { width: 72px !important; border: 1px solid var(--line); }
body.asterion-site-active .woocommerce a.remove {
  color: var(--muted) !important; border: 1px solid var(--line-2); width: 26px; height: 26px; line-height: 24px;
  border-radius: 50%; font-weight: 400;
}
body.asterion-site-active .woocommerce a.remove:hover { background: var(--ink) !important; color: #fff !important; border-color: var(--ink); }
body.asterion-site-active .woocommerce .quantity input.qty {
  border: 1px solid var(--line-2) !important; height: 46px; width: 70px; text-align: center; border-radius: 0; background: #fff;
}

/* ---- Cart layout ---- */
body.asterion-site-active .cart-collaterals { margin-top: 32px; }
body.asterion-site-active .cart_totals,
body.asterion-site-active #order_review,
body.asterion-site-active .woocommerce-checkout #payment {
  background: #fff !important;
  border: 1px solid var(--line) !important;
  border-radius: 0 !important;
  padding: clamp(20px,2.5vw,28px) !important;
}
body.asterion-site-active .cart_totals table,
body.asterion-site-active #order_review table.shop_table { border: none !important; }
body.asterion-site-active .cart_totals table th,
body.asterion-site-active .cart_totals table td { background: transparent !important; border-top: 1px solid var(--line) !important; padding: 14px 0 !important; }
body.asterion-site-active .cart_totals .order-total .amount { font-size: 20px; }
body.asterion-site-active .wc-proceed-to-checkout { padding-top: 18px !important; }
body.asterion-site-active .wc-proceed-to-checkout a.checkout-button { display: block; text-align: center; width: 100%; }
body.asterion-site-active #coupon_code { min-height: 50px; }

/* ---- Checkout: robust single-column flow (avoids theme float conflicts) ---- */
body.asterion-site-active.woocommerce-checkout .woocommerce { max-width: 980px; }
body.asterion-site-active form.checkout { max-width: none; margin: 0 auto; }
body.asterion-site-active form.checkout #customer_details,
body.asterion-site-active form.checkout #order_review,
body.asterion-site-active form.checkout #order_review_heading {
  float: none !important; width: 100% !important; clear: both;
}
body.asterion-site-active #customer_details .col2-set { display: grid; grid-template-columns: 1fr; gap: 0 32px; }
body.asterion-site-active #customer_details .col2-set .col-1,
body.asterion-site-active #customer_details .col2-set .col-2 { float: none !important; width: auto !important; }
@media (min-width: 768px) {
  body.asterion-site-active #customer_details .col2-set { grid-template-columns: 1fr 1fr; }
}
body.asterion-site-active form.checkout #order_review_heading { margin-top: 40px !important; }
body.asterion-site-active #payment { border: none !important; padding: 0 !important; background: transparent !important; margin-top: 18px; }
body.asterion-site-active #payment ul.payment_methods { border: 1px solid var(--line) !important; background: var(--paper) !important; border-radius: 0 !important; }
body.asterion-site-active #payment div.payment_box { background: var(--bone) !important; border-radius: 0 !important; }
body.asterion-site-active #payment div.payment_box::before { border-bottom-color: var(--bone) !important; }
body.asterion-site-active #place_order { width: 100%; margin-top: 8px; }

/* ---- My Account ---- */
@media (min-width: 860px) {
  body.asterion-site-active .woocommerce-account .woocommerce { display: grid; grid-template-columns: 240px 1fr; gap: 48px; align-items: start; }
}
body.asterion-site-active .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border: 1px solid var(--line); }
body.asterion-site-active .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--line); }
body.asterion-site-active .woocommerce-MyAccount-navigation li:last-child { border-bottom: none; }
body.asterion-site-active .woocommerce-MyAccount-navigation li a {
  display: block; padding: 14px 18px; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; font-weight: 500; color: var(--ink-2);
}
body.asterion-site-active .woocommerce-MyAccount-navigation li.is-active a,
body.asterion-site-active .woocommerce-MyAccount-navigation li a:hover { background: var(--bone); color: var(--brass-2); }
body.asterion-site-active .woocommerce-MyAccount-content { background: #fff; border: 1px solid var(--line); padding: clamp(20px,3vw,32px); }
/* login / register cards */
body.asterion-site-active .woocommerce-account:not(.logged-in) .woocommerce { max-width: 980px; }
body.asterion-site-active .woocommerce form.login,
body.asterion-site-active .woocommerce form.register,
body.asterion-site-active .woocommerce .u-column1.col-1,
body.asterion-site-active .woocommerce .u-column2.col-2 {
  border: 1px solid var(--line) !important; border-radius: 0 !important; background: #fff; padding: clamp(20px,3vw,32px) !important;
}
body.asterion-site-active .woocommerce-form-login__rememberme { font-size: 13px; }

/* ---- Mobile ---- */
@media (max-width: 991px) {
  body.asterion-site-active .woocommerce table.shop_table.cart thead { display: none; }
  body.asterion-site-active .woocommerce-cart table.cart td.product-remove { position: absolute; right: 8px; }
}

/* ===================================================================
   WRIST24 — Content pages (404, blog/journal, contact, search) [Stage 4]
   =================================================================== */
/* Generic page/post content typography */
body.asterion-site-active .entry-content,
body.asterion-site-active .post-content { font-size: 16px; line-height: 1.8; color: var(--ink-2); }
body.asterion-site-active .entry-content h1,
body.asterion-site-active .entry-content h2,
body.asterion-site-active .entry-content h3,
body.asterion-site-active .post-content h2,
body.asterion-site-active .post-content h3 { font-family: var(--serif); font-weight: 400; color: var(--ink); letter-spacing: -.01em; margin: 1.4em 0 .5em; }
body.asterion-site-active .entry-content a { color: var(--brass-2); text-decoration: underline; text-underline-offset: 2px; }

/* 404 */
.asterion-404 { padding: clamp(48px,9vw,120px) var(--pad); text-align: center; }
.asterion-404 .ast-404-inner { max-width: 600px; margin: 0 auto; }
.asterion-404 .eyebrow { color: var(--brass-2); }
.asterion-404 h1 { font-family: var(--serif); font-weight: 400; font-size: clamp(30px,5vw,52px); line-height: 1.08; margin: 14px 0 14px; letter-spacing: -.01em; }
.asterion-404 p { color: var(--muted); font-size: 16px; line-height: 1.7; margin-bottom: 28px; }
.asterion-404 .ast-404-search { display: flex; align-items: center; gap: 10px; border: 1px solid var(--line-2); background: #fff; padding: 0 14px; height: 52px; max-width: 460px; margin: 0 auto 24px; }
.asterion-404 .ast-404-search i { color: var(--muted); font-size: 19px; }
.asterion-404 .ast-404-search input { border: none; outline: none; flex: 1; font-family: inherit; font-size: 14px; background: transparent; }
.asterion-404 .ast-404-cta { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* Journal / blog grid */
.asterion-journal-page { padding-bottom: clamp(48px,7vw,90px); }
.journal-grid { display: grid; grid-template-columns: 1fr; gap: clamp(24px,3vw,36px); margin-top: 8px; }
@media (min-width: 600px) { .journal-grid { grid-template-columns: repeat(2,1fr); } }
@media (min-width: 980px) { .journal-grid { grid-template-columns: repeat(3,1fr); } }
.journal-grid .jcard .jimg { aspect-ratio: 4/3; overflow: hidden; background: var(--cloud); }
.journal-grid .jcard .jimg img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.22,1,.36,1); }
.journal-grid .jcard:hover .jimg img { transform: scale(1.05); }
.journal-grid .jcard .jcat { font-size: 11px; letter-spacing: .15em; text-transform: uppercase; color: var(--brass-2); font-weight: 600; margin: 16px 0 9px; }
.journal-grid .jcard h3 { font-family: var(--serif); font-weight: 400; font-size: 20px; line-height: 1.25; color: var(--ink); }
.journal-grid .jcard p { font-size: 13.5px; color: var(--muted); margin-top: 9px; line-height: 1.6; }
.journal-grid .jcard .jmeta { font-size: 12px; color: var(--muted-2); margin-top: 10px; }

/* Single article */
.asterion-article { max-width: 760px; margin: 0 auto; padding: clamp(20px,3vw,40px) var(--pad) clamp(48px,7vw,90px); }
.asterion-article .a-cat { font-size: 11px; letter-spacing: .15em; text-transform: uppercase; color: var(--brass-2); font-weight: 600; }
.asterion-article h1 { font-family: var(--serif); font-weight: 400; font-size: clamp(30px,4.4vw,52px); line-height: 1.1; letter-spacing: -.01em; margin: 12px 0 14px; }
.asterion-article .a-meta { color: var(--muted); font-size: 13px; margin-bottom: 26px; }
.asterion-article .a-hero { aspect-ratio: 16/9; overflow: hidden; background: var(--cloud); margin-bottom: 32px; }
.asterion-article .a-hero img { width: 100%; height: 100%; object-fit: cover; }

/* Contact */
.asterion-contact { max-width: var(--maxw); margin: 0 auto; padding: clamp(24px,4vw,48px) var(--pad) clamp(48px,7vw,90px); display: grid; grid-template-columns: 1fr; gap: clamp(28px,4vw,56px); }
@media (min-width: 900px) { .asterion-contact { grid-template-columns: .8fr 1.2fr; } }
.asterion-contact .c-intro h2 { font-family: var(--serif); font-weight: 400; font-size: clamp(26px,3vw,38px); margin: 10px 0 14px; line-height: 1.1; }
.asterion-contact .c-intro p { color: var(--muted); line-height: 1.7; margin-bottom: 22px; }
.asterion-contact .c-detail { display: flex; gap: 13px; align-items: flex-start; padding: 16px 0; border-top: 1px solid var(--line); }
.asterion-contact .c-detail i { font-size: 21px; color: var(--brass-2); margin-top: 1px; }
.asterion-contact .c-detail b { display: block; font-size: 13px; letter-spacing: .02em; }
.asterion-contact .c-detail span { color: var(--muted); font-size: 14px; }
.asterion-contact .c-form { background: #fff; border: 1px solid var(--line); padding: clamp(22px,3vw,36px); }
/* Contact Form 7 */
body.asterion-site-active .wpcf7 .wpcf7-form-control-wrap input,
body.asterion-site-active .wpcf7 textarea,
body.asterion-site-active .wpcf7 select { width: 100%; border: 1px solid var(--line-2); border-radius: 0; min-height: 50px; padding: 12px 14px; font-family: var(--sans); font-size: 14px; background: #fff; margin-top: 4px; }
body.asterion-site-active .wpcf7 textarea { min-height: 130px; }
body.asterion-site-active .wpcf7 label { font-size: 12px; letter-spacing: .04em; color: var(--ink-2); font-weight: 500; display: block; margin-bottom: 12px; }
body.asterion-site-active .wpcf7 .wpcf7-submit { background: var(--ink); color: var(--paper); border: 1px solid var(--ink); border-radius: 0; font-size: 12.5px; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; padding: 15px 30px; min-height: 50px; cursor: pointer; transition: .25s; width: auto; }
body.asterion-site-active .wpcf7 .wpcf7-submit:hover { background: var(--brass-2); border-color: var(--brass-2); }

/* Search results (non-product) — reuse plp-head; results list */
body.asterion-site-active.search .hentry { border-bottom: 1px solid var(--line); padding: 22px 0; }
body.asterion-site-active.search .hentry h2 { font-family: var(--serif); font-weight: 400; font-size: 22px; }

/* content pages: full width, no theme sidebar */
body.asterion-site-active:not(.home):not(.asterion-home-template-active) #secondary { display: none !important; }
body.asterion-site-active:not(.home):not(.asterion-home-template-active) #primary,
body.asterion-site-active:not(.home):not(.asterion-home-template-active) #content { width: 100% !important; max-width: none !important; float: none !important; }

/* ===== About page (Stage 5) ===== */
.asterion-about { max-width: 1040px; margin: 0 auto; padding: clamp(24px,4vw,56px) var(--pad) clamp(48px,7vw,90px); }
.asterion-about .ab-intro { max-width: 720px; }
.asterion-about .ab-intro h2 { font-family: var(--serif); font-weight: 400; font-size: clamp(28px,4vw,46px); line-height: 1.1; letter-spacing: -.01em; margin: 12px 0 18px; }
.asterion-about .ab-intro p { color: var(--muted); font-size: 16px; line-height: 1.8; margin-bottom: 14px; }
.asterion-about .ab-stats { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin: clamp(36px,5vw,56px) 0; }
@media (min-width: 760px) { .asterion-about .ab-stats { grid-template-columns: repeat(4,1fr); } }
.asterion-about .ab-stat { background: #fff; padding: 28px 18px; text-align: center; }
.asterion-about .ab-stat b { display: block; font-family: var(--serif); font-weight: 400; font-size: clamp(26px,3vw,38px); color: var(--ink); }
.asterion-about .ab-stat span { display: block; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); margin-top: 8px; }
.asterion-about .ab-values { display: grid; grid-template-columns: 1fr; gap: 24px; margin: 0 0 clamp(40px,6vw,72px); }
@media (min-width: 820px) { .asterion-about .ab-values { grid-template-columns: repeat(3,1fr); } }
.asterion-about .ab-value { border-top: 2px solid var(--ink); padding-top: 18px; }
.asterion-about .ab-value i { font-size: 26px; color: var(--brass-2); }
.asterion-about .ab-value h3 { font-family: var(--serif); font-weight: 400; font-size: 22px; margin: 12px 0 8px; }
.asterion-about .ab-value p { color: var(--muted); font-size: 14px; line-height: 1.7; }
.asterion-about .ab-cta { text-align: center; background: var(--bone); padding: clamp(36px,6vw,72px) var(--pad); }
.asterion-about .ab-cta h3 { font-family: var(--serif); font-weight: 400; font-size: clamp(24px,3.4vw,40px); margin: 12px auto 24px; max-width: 620px; line-height: 1.12; }
.asterion-about .ab-cta-btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* ===== Cosmetic nits (Stage 5) ===== */
/* login "Remember me" — neutralise stray themed checkbox box */
body.asterion-site-active .woocommerce-form-login__rememberme span,
body.asterion-site-active .woocommerce form .form-row.woocommerce-form-login__rememberme::before { background: transparent !important; border: 0 !important; }
body.asterion-site-active .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 8px; }
/* cart mobile: tidy stacked cells (left-aligned, labelled) */
@media (max-width: 767px) {
  body.asterion-site-active .woocommerce-cart table.cart td { text-align: right; padding: 12px 14px !important; position: relative; }
  body.asterion-site-active .woocommerce-cart table.cart td.product-thumbnail { text-align: center; }
  body.asterion-site-active .woocommerce-cart table.cart td::before { content: attr(data-title); float: left; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); font-weight: 600; }
  body.asterion-site-active .woocommerce-cart table.cart td.product-remove::before,
  body.asterion-site-active .woocommerce-cart table.cart td.product-thumbnail::before { content: ""; }
}

/* ===== Newsletter form alignment fix (Stage 5 polish) ===== */
body.asterion-site-active .news form {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  max-width: 480px;
  margin: 0 auto;
  border: 1px solid rgba(255,255,255,.28) !important;
  background: transparent;
  overflow: hidden;
}
body.asterion-site-active .news form input,
body.asterion-site-active .news form input[type="email"] {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  height: 56px !important;
  line-height: 56px !important;
  background: #fff !important;
  color: var(--ink) !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 18px !important;
  font-size: 14px !important;
  box-shadow: none !important;
}
body.asterion-site-active .news form button,
body.asterion-site-active .news form button[type="submit"] {
  flex: 0 0 auto !important;
  height: 56px !important;
  line-height: 1 !important;
  background: #EDE7DA !important;
  color: var(--ink) !important;
  border: 0 !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 28px !important;
  font-size: 12px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  transition: .25s !important;
}
body.asterion-site-active .news form button:hover { background: var(--brass) !important; color: #fff !important; }
