/* ==================================================================
   SeeThru — Commerce GLOBAL skin
   Dark, premium styling for the WooCommerce surfaces beyond cart/checkout:
   My Account (login/register/dashboard/orders/addresses/details/downloads),
   Order-Received / Thank-You, and Shop + category archives.

   Loaded on is_account_page() / order-received / shop / product taxonomies.
   Everything is scoped under `body.stx-wc` and the `.woocommerce` content
   wrapper so the site header/footer are never touched (lesson learned: no
   bare element selectors at body level).
   ================================================================== */

body.stx-wc {
  --ink-950:#0A0A0B; --ink-900:#101012; --ink-500:#5C5C63; --ink-400:#86868B; --ink-50:#F5F5F7; --ink-0:#FFFFFF;
  --cta:#2563EB; --cta-h:#1D4ED8; --cta-on:#FFFFFF;
  --ok:#4ADE80; --err:#EF4444;
  --c-text:#F5F5F7; --c-text-2:#C2C2C8; --c-text-3:#8C8C93;
  --c-surface:#17171C; --c-surface-2:#1E1E24; --c-field:#101015; --c-field-2:#16161B;
  --c-line:rgba(255,255,255,.12); --c-line-2:rgba(255,255,255,.2);
  --ff-disp:'Geist','Inter Tight',system-ui,sans-serif;
  --ff-body:'Geist','Inter',system-ui,sans-serif;
  --r2:6px; --r3:10px; --r4:14px; --r5:18px; --pill:999px;
  --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px;
  --ease:cubic-bezier(.16,1,.3,1); --fast:160ms;
  --shadow:0 1px 0 rgba(255,255,255,.04) inset, 0 18px 50px -24px rgba(0,0,0,.85);
  --focus:0 0 0 4px rgba(37,99,235,.30);
  background:
    radial-gradient(1200px 700px at 50% -8%, #141318 0%, transparent 60%),
    linear-gradient(180deg,#0A0A0B 0%,#08080A 100%) !important;
}
/* Header anti-jump (see frontend.css for the full explanation): pin Rey's
   fixed-header helper so content doesn't drop post-load; mobile uses a compact
   reservation because the custom header visually overlays the page. */
body.stx-wc { --header-default--height:72px; }
@media (max-width:1024px){
  body.stx-wc { --header-default--height:22px; }
}
body.stx-wc .rey-siteHeader.header-pos--fixed { position:fixed !important; }
body.stx-wc #rey-siteHeader-helper {
  display:block !important;
  height:var(--header-default--height) !important;
  min-height:var(--header-default--height) !important;
}
/* Tighten space around the page title (shop/account) so content sits higher */
body.stx-wc .rey-siteMain { padding-top:6px !important; padding-bottom:28px !important; }
body.stx-wc #main .e-con-top { padding-top:2px !important; padding-bottom:2px !important; }
body.stx-wc #main .e-con-inner { gap:8px !important; }
body.stx-wc .elementor-widget-heading { margin-block:0 !important; }
body.stx-wc .elementor-widget-heading .elementor-heading-title { margin:0 !important; line-height:1.1; }
/* Shop/archive title is the WooCommerce archive header (not an Elementor heading) */
body.stx-wc .woocommerce-products-header { margin:0 0 16px !important; padding:0 !important; }
body.stx-wc .woocommerce-products-header__title { margin:0 !important; line-height:1.1; }
body.stx-wc .rey-mainContent > .woocommerce-notices-wrapper:empty { display:none !important; }

/* wrapper chain transparent (header/footer untouched: scoped to #main) */
body.stx-wc #page, body.stx-wc .rey-siteWrapper, body.stx-wc #content,
body.stx-wc .rey-siteContent, body.stx-wc .rey-siteContainer, body.stx-wc .rey-siteRow,
body.stx-wc #main, body.stx-wc .rey-siteMain, body.stx-wc #main .elementor,
body.stx-wc #main [class*="e-con"], body.stx-wc #main .elementor-widget-container { background:transparent !important; }

body.stx-wc .woocommerce { color:var(--c-text); font-family:var(--ff-body); -webkit-font-smoothing:antialiased; }

/* ---------- Headings ---------- */
body.stx-wc .woocommerce h1, body.stx-wc .woocommerce h2, body.stx-wc .woocommerce h3,
body.stx-wc .woocommerce-account .entry-title, body.stx-wc .woocommerce-products-header__title {
  font-family:var(--ff-disp); color:var(--c-text) !important; letter-spacing:-.02em;
}

/* ---------- Shared: links / labels / fields ---------- */
body.stx-wc .woocommerce a:not(.button) { color:#9DBBF6; transition:color var(--fast) var(--ease); }
body.stx-wc .woocommerce a:not(.button):hover { color:#C2D4FA; }
body.stx-wc .woocommerce label,
body.stx-wc .woocommerce .form-row label { display:block; font-family:var(--ff-disp); font-size:.82rem; font-weight:500; color:#C9C9CE !important; margin-bottom:8px; text-transform:none !important; }
body.stx-wc .woocommerce .required { color:var(--cta); border:0; text-decoration:none; }

body.stx-wc .woocommerce input[type=text],
body.stx-wc .woocommerce input[type=email],
body.stx-wc .woocommerce input[type=tel],
body.stx-wc .woocommerce input[type=password],
body.stx-wc .woocommerce input[type=number],
body.stx-wc .woocommerce input[type=search],
body.stx-wc .woocommerce textarea,
body.stx-wc .woocommerce select {
  width:100%; background:var(--c-field) !important; color:var(--c-text) !important;
  border:1px solid var(--c-line-2) !important; border-radius:var(--r3) !important;
  padding:13px 15px !important; min-height:50px; font-family:var(--ff-body); font-size:16px;
  -webkit-appearance:none; appearance:none; box-shadow:none !important;
  transition:border-color var(--fast) var(--ease), box-shadow var(--fast) var(--ease);
}
body.stx-wc .woocommerce input:focus,
body.stx-wc .woocommerce textarea:focus,
body.stx-wc .woocommerce select:focus { outline:none; border-color:var(--cta) !important; background:var(--c-field-2) !important; box-shadow:var(--focus) !important; }
body.stx-wc .woocommerce ::placeholder { color:var(--ink-500); opacity:1; }
body.stx-wc .woocommerce select { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23B5B5BA' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important; background-repeat:no-repeat !important; background-position:right 14px center !important; padding-right:40px !important; }
body.stx-wc .woocommerce select option { background:#16161C; color:var(--c-text); }
body.stx-wc .woocommerce input[type=checkbox], body.stx-wc .woocommerce input[type=radio] { accent-color:var(--cta); width:18px; height:18px; }

/* ---------- Shared: buttons (blue, no underline) ---------- */
body.stx-wc .woocommerce .button,
body.stx-wc .woocommerce button.button,
body.stx-wc .woocommerce input.button,
body.stx-wc .woocommerce a.button,
body.stx-wc .woocommerce .woocommerce-button,
body.stx-wc .woocommerce-form-login__submit,
body.stx-wc .woocommerce-form-register__submit,
body.stx-wc .woocommerce-Button {
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  font-family:var(--ff-disp); font-weight:600; letter-spacing:.01em; text-decoration:none !important;
  background:var(--cta) !important; color:var(--cta-on) !important; border:0 !important;
  border-radius:var(--pill) !important; cursor:pointer; padding:13px 26px !important; font-size:.95rem !important;
  box-shadow:0 10px 28px -12px rgba(37,99,235,.55) !important;
  transition:background var(--fast) var(--ease), transform var(--fast) var(--ease);
}
body.stx-wc .woocommerce .button:hover,
body.stx-wc .woocommerce button.button:hover,
body.stx-wc .woocommerce a.button:hover,
body.stx-wc .woocommerce .woocommerce-Button:hover { background:var(--cta-h) !important; transform:translateY(-1px); }
/* secondary/outline buttons (e.g. "View", "Edit") */
body.stx-wc .woocommerce .button.--ghost,
body.stx-wc .woocommerce a.edit,
body.stx-wc .woocommerce .woocommerce-MyAccount-content .button.view {
  background:transparent !important; color:var(--c-text) !important; border:1px solid var(--c-line-2) !important;
}

/* ---------- Shared: notices ---------- */
body.stx-wc .woocommerce-message, body.stx-wc .woocommerce-info, body.stx-wc .woocommerce-error,
body.stx-wc .woocommerce-notice {
  display:flex !important; align-items:center; gap:12px; justify-content:flex-start; text-align:left;
  background:var(--c-surface-2) !important; color:var(--c-text) !important;
  border:1px solid var(--c-line-2); border-left:3px solid var(--cta); border-radius:var(--r3); padding:14px 18px; list-style:none;
}
body.stx-wc .woocommerce-message { border-left-color:var(--ok); }
body.stx-wc .woocommerce-error { border-left-color:var(--err); }
body.stx-wc .woocommerce-message::before, body.stx-wc .woocommerce-info::before, body.stx-wc .woocommerce-error::before { display:none !important; content:none !important; }

/* ---------- Shared: Select2 (open dropdown is body-appended) ---------- */
body.stx-wc .woocommerce .select2-container .select2-selection--single { background:var(--c-field) !important; color:var(--c-text) !important; border:1px solid var(--c-line-2) !important; border-radius:var(--r3) !important; min-height:50px !important; height:50px !important; display:flex !important; align-items:center !important; padding:0 15px !important; }
body.stx-wc .woocommerce .select2-selection__rendered { color:var(--c-text) !important; }
body.stx-wc .select2-dropdown { background:#16161C !important; border:1px solid var(--c-line-2) !important; box-shadow:var(--shadow) !important; }
body.stx-wc .select2-results__option { color:var(--c-text) !important; }
body.stx-wc .select2-container--default .select2-results__option--highlighted[aria-selected] { background:var(--cta) !important; color:#fff !important; }

/* =================================================================
   My Account
   ================================================================= */
body.stx-wc.woocommerce-account .woocommerce { display:flex; flex-wrap:wrap; gap:clamp(20px,3vw,40px); align-items:flex-start; padding-block:clamp(28px,4vw,56px); }
body.stx-wc.woocommerce-account .woocommerce-MyAccount-navigation { flex:0 0 240px; max-width:240px; }
body.stx-wc.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style:none; margin:0; padding:8px; background:var(--c-surface); border:1px solid var(--c-line); border-radius:var(--r4); display:grid; gap:2px; }
body.stx-wc.woocommerce-account .woocommerce-MyAccount-navigation li { margin:0; }
body.stx-wc.woocommerce-account .woocommerce-MyAccount-navigation li a { display:block; padding:11px 14px; border-radius:var(--r2); color:var(--c-text-2) !important; font-family:var(--ff-disp); font-weight:500; font-size:.9rem; }
body.stx-wc.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background:var(--c-surface-2); color:var(--c-text) !important; }
body.stx-wc.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background:var(--cta) !important; color:#fff !important; }
body.stx-wc.woocommerce-account .woocommerce-MyAccount-content { flex:1 1 480px; min-width:0; background:var(--c-surface); border:1px solid var(--c-line); border-radius:var(--r5); padding:clamp(22px,2.6vw,36px); box-shadow:var(--shadow); }
body.stx-wc.woocommerce-account .woocommerce-MyAccount-content p { color:var(--c-text-2); }
body.stx-wc.woocommerce-account .woocommerce-MyAccount-content mark { background:transparent; color:var(--c-text); font-weight:600; }

/* login / register (logged out) — center as a card */
body.stx-wc.woocommerce-account:not(.logged-in) .woocommerce { max-width:920px; margin-inline:auto; }
body.stx-wc .woocommerce-form-login, body.stx-wc .woocommerce-form-register,
body.stx-wc .woocommerce-ResetPassword {
  background:var(--c-surface); border:1px solid var(--c-line); border-radius:var(--r5);
  padding:clamp(24px,3vw,40px) !important; box-shadow:var(--shadow);
}
body.stx-wc .woocommerce-form-login .woocommerce-form-login__rememberme { color:var(--c-text-2); display:inline-flex; align-items:center; gap:8px; }
body.stx-wc .woocommerce-form-login__submit, body.stx-wc .woocommerce-form-register__submit { width:100%; margin-top:6px; }
body.stx-wc .woocommerce-LostPassword a, body.stx-wc .lost_password a { color:#9DBBF6; }

/* orders / downloads tables */
body.stx-wc .woocommerce table.shop_table, body.stx-wc .woocommerce-orders-table, body.stx-wc .woocommerce-table {
  width:100%; border-collapse:collapse; background:var(--c-surface-2); border:1px solid var(--c-line) !important; border-radius:var(--r4); overflow:hidden;
}
body.stx-wc .woocommerce table.shop_table th, body.stx-wc .woocommerce-orders-table th {
  background:transparent !important; color:var(--c-text-3) !important; font-family:var(--ff-disp); font-size:.7rem; text-transform:uppercase; letter-spacing:.14em; padding:14px 16px; text-align:left; border-bottom:1px solid var(--c-line) !important;
}
body.stx-wc .woocommerce table.shop_table td, body.stx-wc .woocommerce-orders-table td {
  background:transparent !important; color:var(--c-text-2) !important; padding:14px 16px; border-top:1px solid var(--c-line) !important;
}
body.stx-wc .woocommerce table.shop_table td a, body.stx-wc .woocommerce-orders-table td a { color:#9DBBF6 !important; }

/* addresses */
body.stx-wc .woocommerce-Addresses { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:var(--s4); }
body.stx-wc .woocommerce-Address { background:var(--c-surface-2); border:1px solid var(--c-line); border-radius:var(--r4); padding:20px; }
body.stx-wc .woocommerce-Address address { color:var(--c-text-2); font-style:normal; line-height:1.6; }
body.stx-wc .woocommerce-Address-title h3 { margin-top:0; }

/* =================================================================
   Order Received / Thank You
   ================================================================= */
body.stx-wc.woocommerce-order-received .woocommerce { padding-block:clamp(28px,4vw,56px); max-width:860px; margin-inline:auto; }
body.stx-wc .woocommerce-thankyou-order-received { font-family:var(--ff-disp); font-size:1.4rem; font-weight:600; color:var(--c-text); padding:18px 20px; background:var(--c-surface); border:1px solid var(--c-line); border-left:3px solid var(--ok); border-radius:var(--r4); }
body.stx-wc .woocommerce-order-overview {
  list-style:none; margin:var(--s5) 0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:1px;
  background:var(--c-line); border:1px solid var(--c-line); border-radius:var(--r4); overflow:hidden;
}
body.stx-wc .woocommerce-order-overview li { background:var(--c-surface); margin:0; padding:18px; color:var(--c-text-3); font-size:.72rem; text-transform:uppercase; letter-spacing:.12em; font-family:var(--ff-disp); }
body.stx-wc .woocommerce-order-overview li strong { display:block; margin-top:8px; color:var(--c-text); font-size:1rem; text-transform:none; letter-spacing:0; }
body.stx-wc .woocommerce-order-details, body.stx-wc .woocommerce-customer-details { margin-top:var(--s6); }
body.stx-wc .woocommerce-column__title, body.stx-wc .woocommerce-order-details__title { font-family:var(--ff-disp); color:var(--c-text); }

/* =================================================================
   Shop / category archives
   ================================================================= */
body.stx-wc.post-type-archive-product .woocommerce,
body.stx-wc.tax-product_cat .woocommerce,
body.stx-wc.tax-product_tag .woocommerce { padding-block:clamp(20px,3vw,40px); }
body.stx-wc .woocommerce-products-header__title { color:var(--c-text) !important; }
body.stx-wc .woocommerce .term-description, body.stx-wc .woocommerce-products-header p { color:var(--c-text-2); }
body.stx-wc .woocommerce-result-count { color:var(--c-text-3); }
body.stx-wc .woocommerce-ordering select { display:inline-block; width:auto; min-width:200px; }

/* Product cards: outer layer keeps the parent theme's gray panel (expands on hover);
   no white background override here. */
body.stx-wc .woocommerce ul.products li.product {
  border:1px solid rgba(0,0,0,.10) !important; border-radius:var(--r4); padding:16px;
  transition:box-shadow var(--fast) var(--ease), transform var(--fast) var(--ease);
}
body.stx-wc .woocommerce ul.products li.product:hover { box-shadow:0 22px 50px -26px rgba(0,0,0,.7); transform:translateY(-2px); }
body.stx-wc .woocommerce ul.products li.product a:not(.button),
body.stx-wc .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.stx-wc .woocommerce ul.products li.product h2,
body.stx-wc .woocommerce ul.products li.product h3,
body.stx-wc .woocommerce ul.products li.product a.woocommerce-LoopProduct__link {
  color:#14141A !important; font-family:var(--ff-disp); font-weight:500; font-size:1rem;
}
body.stx-wc .woocommerce ul.products li.product a:not(.button):hover { color:#2563EB !important; }
body.stx-wc .woocommerce ul.products li.product a img { border-radius:var(--r3); background:#fff; margin-bottom:12px; }
body.stx-wc .woocommerce ul.products li.product .price { color:#14141A !important; font-weight:600; }
body.stx-wc .woocommerce ul.products li.product .price del { color:#86868B !important; }
body.stx-wc .woocommerce ul.products li.product .price ins { color:#2563EB !important; text-decoration:none; }
body.stx-wc .woocommerce ul.products li.product .star-rating span { color:#2563EB; }
body.stx-wc .woocommerce span.onsale { background:#2563EB !important; color:#fff !important; border-radius:var(--pill); font-family:var(--ff-disp); font-weight:600; }

/* pagination */
body.stx-wc .woocommerce-pagination ul { border:0; gap:6px; display:flex; flex-wrap:wrap; }
body.stx-wc .woocommerce-pagination ul li { border:0; }
body.stx-wc .woocommerce-pagination ul li a, body.stx-wc .woocommerce-pagination ul li span {
  background:var(--c-surface); color:var(--c-text-2); border:1px solid var(--c-line); border-radius:var(--r2); padding:8px 14px;
}
body.stx-wc .woocommerce-pagination ul li span.current { background:var(--cta); color:#fff; border-color:var(--cta); }

@media (max-width:782px){
  body.stx-wc.woocommerce-account .woocommerce-MyAccount-navigation { flex-basis:100%; max-width:none; }
}
@media (prefers-reduced-motion:reduce){
  body.stx-wc .woocommerce * { transition-duration:.001ms !important; animation-duration:.001ms !important; }
}
