/* Ironman Coffee — store skin (product, cart, checkout, My Account).
   Scoped to body.imx-store. Styles WooCommerce's standard markup only; no
   templates are overridden. Pure CSS: nothing here depends on JavaScript. */

body.imx-store{
  --st-ink: #0b0806;
  --st-card: #140f0a;
  --st-card-2: #1a130c;
  --st-field: #0f0b08;
  --st-line: rgba(255,255,255,.1);
  --st-line-2: rgba(255,255,255,.18);
  --st-cream: #f7f1e8;
  --st-mute: rgba(247,241,232,.64);
  --st-amber: #e8a33d;
  --st-amber-2: #ffd08a;
  --st-good: #7fd4a0;
  --st-bad: #ff8a7a;
  background: var(--st-ink) !important;
  color: var(--st-cream);
}

/* ---------- dark page: let the theme's white containers go transparent ---------- */
body.imx-store .site,
body.imx-store .site-content,
body.imx-store .container,
body.imx-store .inside-article,
body.imx-store .content-area,
body.imx-store .site-main,
body.imx-store article,
body.imx-store .gb-container{
  background: transparent !important;
}
body.imx-store .site-content{ padding-top: clamp(20px, 3vw, 36px); }
body.imx-store .inside-article{ padding: 0 !important; }
body.imx-store .site-main{ margin-bottom: 40px; }

/* Scoped to #page so the site header and footer (which sit outside it) keep
   their own type styles. */
body.imx-store #page,
body.imx-store #page p,
body.imx-store #page li,
body.imx-store #page td,
body.imx-store #page th,
body.imx-store #page label,
body.imx-store #page legend,
body.imx-store #page address{ color: var(--st-cream); }
body.imx-store #page h1,
body.imx-store #page h2,
body.imx-store #page h3,
body.imx-store #page h4{ color: var(--st-cream) !important; letter-spacing: -.02em; }
body.imx-store .woocommerce a:not(.button):not(.imx-acct__tile):not(.imx-acct__affnote){ color: var(--st-amber-2); }
body.imx-store .woocommerce a:not(.button):hover{ color: var(--st-cream); }
body.imx-store .required{ color: var(--st-amber) !important; }

.imx-store__kicker{
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase;
  color: var(--st-amber-2);
}
.imx-store__kicker i{
  width: 7px; height: 7px; border-radius: 50%; background: var(--st-amber);
  box-shadow: 0 0 0 4px rgba(232,163,61,.2);
}

/* ---------- buttons ----------
   The theme's own button colours point at a CSS variable that no longer has a
   value, so its buttons rendered transparent. Every store button is set here. */
body.imx-store .woocommerce .button,
body.imx-store .woocommerce button.button,
body.imx-store .woocommerce input.button,
body.imx-store .woocommerce a.button,
body.imx-store .woocommerce #respond input#submit,
body.imx-store .woocommerce-button,
body.imx-store button[name="login"],
body.imx-store button[name="register"],
body.imx-store #place_order,
body.imx-store .single_add_to_cart_button,
body.imx-store .checkout-button{
  display: inline-flex !important;
  align-items: center; justify-content: center; gap: 8px;
  min-height: 48px;
  padding: 13px 26px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, var(--st-amber), var(--st-amber-2)) !important;
  color: #180f05 !important;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: .01em;
  line-height: 1.2 !important;
  text-decoration: none !important;
  text-shadow: none !important;
  cursor: pointer;
  box-shadow: 0 10px 24px -12px rgba(232,163,61,.8);
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
}
body.imx-store .woocommerce .button:hover,
body.imx-store #place_order:hover,
body.imx-store .single_add_to_cart_button:hover,
body.imx-store .checkout-button:hover{
  transform: translateY(-2px);
  filter: brightness(1.05);
  box-shadow: 0 16px 30px -14px rgba(232,163,61,.95);
}
body.imx-store .woocommerce .button:disabled,
body.imx-store .woocommerce .button.disabled{ opacity: .45 !important; transform: none; cursor: not-allowed; }
body.imx-store .woocommerce .button:focus-visible,
body.imx-store #place_order:focus-visible{ outline: 2px solid var(--st-amber-2); outline-offset: 3px; }

/* quieter secondary buttons (e.g. "View" in the orders table, "Update cart") */
body.imx-store .woocommerce-orders-table .button,
body.imx-store .woocommerce-MyAccount-downloads .button,
body.imx-store button[name="update_cart"],
body.imx-store button[name="apply_coupon"]{
  min-height: 38px;
  padding: 9px 18px !important;
  font-size: 13.5px !important;
  background: transparent !important;
  color: var(--st-amber-2) !important;
  border: 1px solid rgba(232,163,61,.45) !important;
  box-shadow: none;
}
body.imx-store .woocommerce-orders-table .button:hover,
body.imx-store button[name="update_cart"]:hover,
body.imx-store button[name="apply_coupon"]:hover{
  background: rgba(232,163,61,.12) !important; transform: none; filter: none; box-shadow: none;
}

/* ---------- form fields ---------- */
body.imx-store .woocommerce form .form-row label,
body.imx-store .woocommerce form label{
  color: var(--st-mute);
  font-size: 13.5px;
  font-weight: 600;
  margin-bottom: 6px;
  line-height: 1.4;
}
body.imx-store .woocommerce input.input-text,
body.imx-store .woocommerce input[type="text"],
body.imx-store .woocommerce input[type="email"],
body.imx-store .woocommerce input[type="tel"],
body.imx-store .woocommerce input[type="password"],
body.imx-store .woocommerce input[type="number"],
body.imx-store .woocommerce textarea,
body.imx-store .woocommerce select{
  width: 100%;
  min-height: 48px;
  background: var(--st-field) !important;
  color: var(--st-cream) !important;
  border: 1px solid var(--st-line-2) !important;
  border-radius: 12px !important;
  padding: 12px 15px !important;
  font-size: 15px;
  box-shadow: none !important;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body.imx-store .woocommerce textarea{ min-height: 110px; }
body.imx-store .woocommerce input::placeholder,
body.imx-store .woocommerce textarea::placeholder{ color: rgba(247,241,232,.35); }
body.imx-store .woocommerce input:focus,
body.imx-store .woocommerce textarea:focus,
body.imx-store .woocommerce select:focus{
  outline: none;
  border-color: var(--st-amber) !important;
  box-shadow: 0 0 0 3px rgba(232,163,61,.22) !important;
}
body.imx-store .woocommerce input[type="checkbox"],
body.imx-store .woocommerce input[type="radio"]{ accent-color: var(--st-amber); width: 17px; height: 17px; }
body.imx-store .woocommerce form .form-row.woocommerce-invalid input.input-text{ border-color: var(--st-bad) !important; }

/* WooCommerce's country/state dropdowns (selectWoo) */
body.imx-store .select2-container--default .select2-selection--single{
  height: 48px;
  background: var(--st-field);
  border: 1px solid var(--st-line-2);
  border-radius: 12px;
}
body.imx-store .select2-container--default .select2-selection--single .select2-selection__rendered{
  color: var(--st-cream); line-height: 46px; padding-left: 15px;
}
body.imx-store .select2-container--default .select2-selection--single .select2-selection__arrow{ height: 46px; right: 8px; }
body.imx-store .select2-container--default .select2-selection--single .select2-selection__arrow b{ border-top-color: var(--st-amber); }
body.imx-store .select2-container--open .select2-selection--single{ border-color: var(--st-amber); }
body.imx-store .select2-dropdown{
  background: var(--st-card-2); border: 1px solid var(--st-line-2); border-radius: 12px; overflow: hidden; color: var(--st-cream);
}
body.imx-store .select2-search--dropdown .select2-search__field{
  background: var(--st-field); color: var(--st-cream); border: 1px solid var(--st-line-2); border-radius: 8px;
}
body.imx-store .select2-container--default .select2-results__option--highlighted[aria-selected],
body.imx-store .select2-container--default .select2-results__option--highlighted[data-selected]{
  background: rgba(232,163,61,.2); color: var(--st-cream);
}
body.imx-store .select2-container--default .select2-results__option[aria-selected="true"],
body.imx-store .select2-container--default .select2-results__option[data-selected="true"]{ background: rgba(255,255,255,.06); }

/* ---------- notices ---------- */
body.imx-store .woocommerce-message,
body.imx-store .woocommerce-info,
body.imx-store .woocommerce-error,
body.imx-store .woocommerce-noreviews,
body.imx-store p.no-comments{
  background: var(--st-card) !important;
  color: var(--st-cream) !important;
  border: 1px solid rgba(232,163,61,.35) !important;
  border-left: 3px solid var(--st-amber) !important;
  border-radius: 14px !important;
  padding: 16px 20px !important;
  list-style: none;
}
body.imx-store .woocommerce-error{ border-color: rgba(255,138,122,.45) !important; border-left-color: var(--st-bad) !important; }
body.imx-store .woocommerce-message::before,
body.imx-store .woocommerce-info::before,
body.imx-store .woocommerce-error::before{ display: none !important; }
body.imx-store .woocommerce-message .button,
body.imx-store .woocommerce-info .button{ float: right; min-height: 38px; padding: 8px 18px !important; font-size: 13.5px !important; }

/* ---------- tables (orders, cart, order review) ---------- */
body.imx-store .woocommerce table.shop_table{
  border: 1px solid var(--st-line) !important;
  border-radius: 16px !important;
  border-collapse: separate !important;
  border-spacing: 0;
  overflow: hidden;
  background: var(--st-card);
  margin: 0 0 24px;
}
body.imx-store .woocommerce table.shop_table th{
  background: rgba(255,255,255,.03) !important;
  color: var(--st-mute) !important;
  font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase;
  border: 0 !important; border-bottom: 1px solid var(--st-line) !important;
  padding: 14px 18px !important;
}
body.imx-store .woocommerce table.shop_table td{
  background: transparent !important;
  border: 0 !important; border-top: 1px solid var(--st-line) !important;
  padding: 16px 18px !important;
  vertical-align: middle;
}
body.imx-store .woocommerce table.shop_table tr:first-child td{ border-top: 0 !important; }
body.imx-store .woocommerce table.shop_table tfoot th,
body.imx-store .woocommerce table.shop_table tfoot td{ border-top: 1px solid var(--st-line) !important; border-bottom: 0 !important; }
body.imx-store .woocommerce table.shop_table .amount{ color: var(--st-cream); font-weight: 700; }
body.imx-store .woocommerce table.shop_table .order-total .amount{ color: var(--st-amber-2); font-size: 20px; font-weight: 800; }

/* ============================================================
   MY ACCOUNT
   ============================================================ */
body.imx-store.woocommerce-account .entry-header{ display: none; }

/* grid: hero across the top, menu left, content right */
body.imx-store.woocommerce-account.logged-in .woocommerce{
  display: grid;
  grid-template-columns: minmax(220px, 280px) 1fr;
  gap: 28px;
  align-items: start;
}
body.imx-store.woocommerce-account.logged-in .woocommerce::before,
body.imx-store.woocommerce-account.logged-in .woocommerce::after{ display: none; }
body.imx-store.woocommerce-account .imx-acct__hero{ grid-column: 1 / -1; }
body.imx-store.woocommerce-account .woocommerce-MyAccount-navigation,
body.imx-store.woocommerce-account .woocommerce-MyAccount-content{
  float: none !important; width: auto !important; margin: 0 !important;
}
/* Grid items default to min-width:auto, so the swipeable menu's full width
   stretched the column and made the phone page ~880px wide. minmax(0,…) and
   min-width:0 let the menu scroll inside its own box instead. */
body.imx-store.woocommerce-account .woocommerce-MyAccount-navigation{ min-width: 0; }
@media (max-width: 860px){
  body.imx-store.woocommerce-account.logged-in .woocommerce{ grid-template-columns: minmax(0, 1fr); gap: 18px; }
}

/* hero */
.imx-acct__hero{
  position: relative; overflow: hidden;
  display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 26px 40px;
  border-radius: 28px;
  border: 1px solid var(--st-line);
  padding: clamp(28px, 5vw, 56px) clamp(22px, 5vw, 56px);
  margin: 0 0 28px;
  background:
    radial-gradient(110% 90% at 100% 0%, rgba(232,163,61,.24), transparent 55%),
    radial-gradient(80% 80% at 0% 100%, rgba(185,118,42,.16), transparent 60%),
    linear-gradient(160deg, #1a130c, #0d0906);
  font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
}
.imx-acct__hero::after{
  content: ""; position: absolute; inset: 0 0 auto 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,208,138,.6), transparent);
}
.imx-acct__title{
  margin: 16px 0 0 !important;
  font-size: clamp(34px, 5.4vw, 60px) !important;
  line-height: 1.02 !important;
  font-weight: 800 !important;
  letter-spacing: -.035em !important;
}
.imx-acct__title em{
  font-style: normal;
  background: linear-gradient(100deg, var(--st-amber-2), var(--st-amber) 60%, #b9762a);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.imx-acct__lede{ margin: 14px 0 0 !important; max-width: 52ch; color: var(--st-mute) !important; font-size: 16px; line-height: 1.65; }

.imx-acct__stats{ display: flex; flex-wrap: wrap; gap: 12px; margin: 0; padding: 0; list-style: none; }
.imx-acct__stats li{
  margin: 0; list-style: none;
  min-width: 128px;
  padding: 14px 18px;
  border: 1px solid var(--st-line);
  border-radius: 16px;
  background: rgba(255,255,255,.03);
}
.imx-acct__stats b{ display: block; font-size: 22px; font-weight: 800; color: var(--st-cream); letter-spacing: -.02em; }
.imx-acct__stats span{ display: block; margin-top: 2px; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--st-mute); }
.imx-acct__stats li.is-aff{ border-color: rgba(232,163,61,.45); background: rgba(232,163,61,.08); }
.imx-acct__stats li.is-aff b{ color: var(--st-amber-2); }

/* navigation */
body.imx-store .woocommerce-MyAccount-navigation{
  position: sticky; top: calc(var(--imxh-bar, 76px) + 20px);
  background: var(--st-card);
  border: 1px solid var(--st-line);
  border-radius: 20px;
  padding: 10px;
}
body.imx-store .woocommerce-MyAccount-navigation ul{ list-style: none; margin: 0; padding: 0; }
body.imx-store .woocommerce-MyAccount-navigation li{ margin: 0; list-style: none; border: 0 !important; }
body.imx-store .woocommerce-MyAccount-navigation li a{
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 14px;
  border-radius: 12px;
  color: var(--st-mute) !important;
  font-size: 15px; font-weight: 600;
  text-decoration: none;
  transition: background .2s ease, color .2s ease;
}
body.imx-store .woocommerce-MyAccount-navigation li a::after{ content: "\2192"; opacity: 0; transform: translateX(-4px); transition: opacity .2s ease, transform .2s ease; }
body.imx-store .woocommerce-MyAccount-navigation li a:hover{ background: rgba(255,255,255,.04); color: var(--st-cream) !important; }
body.imx-store .woocommerce-MyAccount-navigation li a:hover::after{ opacity: .7; transform: none; }
body.imx-store .woocommerce-MyAccount-navigation li.is-active a{
  background: rgba(232,163,61,.14);
  color: var(--st-amber-2) !important;
  box-shadow: inset 3px 0 0 var(--st-amber);
}
body.imx-store .woocommerce-MyAccount-navigation li.is-active a::after{ opacity: 1; transform: none; }
body.imx-store .woocommerce-MyAccount-navigation-link--customer-logout{
  margin-top: 8px !important; padding-top: 8px; border-top: 1px solid var(--st-line) !important;
}
@media (max-width: 860px){
  body.imx-store .woocommerce-MyAccount-navigation{ position: static; padding: 8px; }
  /* horizontal, swipeable menu on phones */
  body.imx-store .woocommerce-MyAccount-navigation ul{ display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
  body.imx-store .woocommerce-MyAccount-navigation ul::-webkit-scrollbar{ display: none; }
  body.imx-store .woocommerce-MyAccount-navigation li a{ white-space: nowrap; padding: 10px 14px; font-size: 14px; }
  body.imx-store .woocommerce-MyAccount-navigation li a::after{ display: none; }
  body.imx-store .woocommerce-MyAccount-navigation li.is-active a{ box-shadow: inset 0 -2px 0 var(--st-amber); }
  body.imx-store .woocommerce-MyAccount-navigation-link--customer-logout{ margin: 0 !important; padding: 0; border: 0 !important; }
}

/* content panel */
body.imx-store .woocommerce-MyAccount-content{
  background: var(--st-card);
  border: 1px solid var(--st-line);
  border-radius: 20px;
  padding: clamp(20px, 3.4vw, 36px);
  min-width: 0;
}
body.imx-store .woocommerce-MyAccount-content > h2,
body.imx-store .woocommerce-MyAccount-content h3{ font-size: 22px !important; margin: 0 0 16px !important; }
body.imx-store .woocommerce-MyAccount-content fieldset{
  border: 1px solid var(--st-line); border-radius: 14px; padding: 18px 20px; margin: 24px 0;
}
body.imx-store .woocommerce-MyAccount-content legend{ padding: 0 8px; font-weight: 700; }
body.imx-store .woocommerce-MyAccount-content em{ color: var(--st-mute); }

/* dashboard: tiles replace WooCommerce's instruction paragraphs */
body.imx-store.woocommerce-dashboard .woocommerce-MyAccount-content > p{ display: none; }
.imx-acct__tiles{ display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)); gap: 14px; }
.imx-acct__tile{
  position: relative;
  display: flex; flex-direction: column; gap: 6px;
  padding: 20px 22px 22px;
  border: 1px solid var(--st-line);
  border-radius: 16px;
  background: var(--st-card-2);
  text-decoration: none !important;
  transition: transform .3s cubic-bezier(.22,.8,.3,1), border-color .25s ease, box-shadow .3s ease;
}
.imx-acct__tile b{ color: var(--st-cream); font-size: 17px; font-weight: 800; letter-spacing: -.01em; }
.imx-acct__tile span{ color: var(--st-mute); font-size: 14px; line-height: 1.5; padding-right: 26px; }
.imx-acct__tile i{
  position: absolute; right: 20px; top: 20px; font-style: normal; color: var(--st-amber-2);
  transition: transform .25s ease;
}
.imx-acct__tile:hover{ transform: translateY(-3px); border-color: rgba(232,163,61,.45); box-shadow: 0 22px 40px -26px rgba(232,163,61,.45); }
.imx-acct__tile:hover i{ transform: translateX(3px); }
.imx-acct__tile.is-aff{
  border-color: rgba(232,163,61,.4);
  background: radial-gradient(120% 120% at 100% 0%, rgba(232,163,61,.18), transparent 60%), var(--st-card-2);
}

/* orders table on small screens: WooCommerce collapses it; keep it readable */
@media (max-width: 768px){
  body.imx-store .woocommerce table.shop_table_responsive tr{ border-top: 1px solid var(--st-line); display: block; }
  body.imx-store .woocommerce table.shop_table_responsive tr td{ border-top: 0 !important; padding: 10px 16px !important; }
  body.imx-store .woocommerce table.shop_table_responsive tr td::before{ color: var(--st-mute); font-weight: 700; }
}

/* addresses */
body.imx-store .woocommerce-Addresses{ display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 16px; margin-top: 18px; }
body.imx-store .woocommerce-Addresses::before,
body.imx-store .woocommerce-Addresses::after{ display: none; }
body.imx-store .woocommerce-Addresses .woocommerce-Address{
  float: none !important; width: auto !important; margin: 0 !important;
  border: 1px solid var(--st-line); border-radius: 16px; padding: 20px; background: var(--st-card-2);
}
body.imx-store .woocommerce-Address-title{ display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
body.imx-store .woocommerce-Address-title h2{ font-size: 17px !important; margin: 0 0 10px !important; }
body.imx-store .woocommerce-Address address{ font-style: normal; line-height: 1.7; color: var(--st-mute); }

/* signed-out: sign in + register */
body.imx-store.woocommerce-account:not(.logged-in) .imx-acct__hero{ margin-bottom: 24px; }
.imx-acct__affnote{
  display: flex; flex-direction: column; gap: 4px;
  padding: 16px 20px;
  border: 1px solid rgba(232,163,61,.4);
  border-radius: 16px;
  background: rgba(232,163,61,.08);
  text-decoration: none !important;
  transition: border-color .2s ease, transform .25s ease;
}
.imx-acct__affnote b{ color: var(--st-cream); font-size: 15px; }
.imx-acct__affnote span{ color: var(--st-amber-2); font-size: 14px; font-weight: 600; }
.imx-acct__affnote:hover{ border-color: var(--st-amber); transform: translateY(-2px); }

body.imx-store #customer_login{
  display: grid; grid-template-columns: 1.1fr 1fr; gap: 22px; align-items: start;
}
body.imx-store #customer_login::before,
body.imx-store #customer_login::after{ display: none; }
body.imx-store #customer_login > .u-column1,
body.imx-store #customer_login > .u-column2{
  float: none !important; width: auto !important; margin: 0 !important;
  background: var(--st-card);
  border: 1px solid var(--st-line);
  border-radius: 22px;
  padding: clamp(22px, 3.4vw, 34px);
}
body.imx-store #customer_login > .u-column2{ background: transparent; border-style: dashed; }
body.imx-store #customer_login h2{ font-size: 24px !important; font-weight: 800 !important; margin: 0 0 18px !important; }
body.imx-store #customer_login form.register > p:not(.form-row):not(.woocommerce-form-row){
  color: var(--st-mute); font-size: 14px; line-height: 1.6; margin: 4px 0 14px;
}
body.imx-store #customer_login form.login,
body.imx-store #customer_login form.register{ border: 0 !important; padding: 0 !important; margin: 0 !important; }
body.imx-store #customer_login .woocommerce-form-login__rememberme{ display: inline-flex; align-items: center; gap: 8px; margin: 4px 0 16px; color: var(--st-mute); }
body.imx-store #customer_login .woocommerce-form-login__submit{ width: 100%; margin-top: 4px; }
body.imx-store #customer_login .woocommerce-LostPassword{ margin: 14px 0 0; text-align: center; font-size: 14px; }
body.imx-store #customer_login .woocommerce-form-register__submit{ width: 100%; }
body.imx-store #customer_login .woocommerce-privacy-policy-text p{ color: var(--st-mute); font-size: 13px; line-height: 1.6; }
@media (max-width: 800px){ body.imx-store #customer_login{ grid-template-columns: 1fr; } }

/* lost / reset password (also on the account page) */
body.imx-store .woocommerce-ResetPassword,
body.imx-store .woocommerce-form-login:not(#customer_login .woocommerce-form-login){
  max-width: 560px;
  background: var(--st-card); border: 1px solid var(--st-line) !important; border-radius: 22px;
  padding: clamp(22px, 3.4vw, 34px) !important;
}

@media (prefers-reduced-motion: reduce){
  .imx-acct__tile, .imx-acct__tile i, .imx-acct__affnote,
  body.imx-store .woocommerce .button, body.imx-store #place_order{ transition: none !important; }
  .imx-acct__tile:hover, .imx-acct__affnote:hover{ transform: none; }
}

/* ============================================================
   CHECKOUT — Shopify-style, light
   Redefining the palette variables flips every shared store rule above
   (fields, tables, notices, dropdowns) to light in one place.
   ============================================================ */
body.imx-checkout,
body.imx-thankyou{
  --st-ink: #ffffff;
  --st-card: #ffffff;
  --st-card-2: #faf8f5;
  --st-field: #ffffff;
  --st-line: #e7e1d8;
  --st-line-2: #d5cdc1;
  --st-cream: #1c140c;
  --st-mute: #6d6156;
  --st-amber: #c8841f;
  --st-amber-2: #9a5f12;
  --co-side: #f6f3ee;
  color: #1c140c;
}
body.imx-checkout .select2-container--default .select2-selection--single .select2-selection__arrow b{ border-top-color: #6d6156; }

/* split screen: white left half, warm grey right half, meeting at the centre */
body.imx-checkout{ background: linear-gradient(90deg, #fff 50%, var(--co-side) 50%) !important; }
body.imx-thankyou{ background: #fff !important; }
body.imx-checkout .entry-header{ display: none; }
body.imx-checkout .site-content{ padding-top: 0; }
body.imx-checkout .site-main{ margin-bottom: 0; }

/* distraction-free: no site menu or footer, just logo + back + secure */
body.imx-checkout .imxh__nav,
body.imx-checkout .imxh__burger,
body.imx-checkout .imxf,
body.imx-checkout .generate-back-to-top{ display: none !important; }
.imxh__co{ margin-left: auto; display: flex; align-items: center; gap: 22px; }
.imxh__back{ color: rgba(247,241,232,.7) !important; text-decoration: none; font-size: 14px; font-weight: 600; }
.imxh__back:hover{ color: #fff !important; }
.imxh__secure{
  display: inline-flex; align-items: center; gap: 7px;
  color: var(--imxh-amber-2, #ffd08a); font-size: 13px; font-weight: 700; letter-spacing: .02em;
  border: 1px solid rgba(232,163,61,.4); border-radius: 999px; padding: 6px 12px;
}
@media (max-width: 520px){ .imxh__back{ font-size: 13px; } .imxh__secure{ padding: 5px 10px; font-size: 12px; } }

/* the two columns */
body.imx-checkout form.checkout{
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
  margin: 0;
}
body.imx-checkout form.checkout > .woocommerce-NoticeGroup{ grid-column: 1 / -1; padding: 24px 0 0; }
body.imx-checkout .imx-co__main{ grid-column: 1; padding: 36px clamp(24px, 4.2vw, 60px) 64px 0; min-width: 0; }
body.imx-checkout .imx-co__summary{
  grid-column: 2; grid-row: 1 / span 2;
  position: sticky; top: calc(var(--imxh-bar, 76px) + 8px);
  padding: 36px 0 48px clamp(24px, 4.2vw, 60px);
  min-width: 0;
}
body.imx-checkout #customer_details,
body.imx-checkout #order_review,
body.imx-checkout #order_review_heading,
body.imx-checkout #customer_details .col-1,
body.imx-checkout #customer_details .col-2{
  float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important;
}
body.imx-checkout #customer_details::before,
body.imx-checkout #customer_details::after{ display: none; }

/* toggles above the form sit over the left column only */
body.imx-checkout .woocommerce-form-login-toggle{ display: none; } /* "Log in" lives in the Contact heading */
body.imx-checkout .woocommerce-form-coupon-toggle,
body.imx-checkout form.checkout_coupon,
body.imx-checkout .woocommerce-notices-wrapper,
body.imx-checkout .imx-co__foot{
  width: 50%; padding-right: clamp(24px, 4.2vw, 60px); box-sizing: border-box;
}
body.imx-checkout .woocommerce-form-coupon-toggle{ padding-top: 28px; }
body.imx-checkout .woocommerce-form-coupon-toggle .woocommerce-info{
  background: transparent !important; border: 0 !important; padding: 0 !important; margin: 0 !important;
  color: var(--st-mute) !important; font-size: 14px;
}
body.imx-checkout form.checkout_coupon{
  display: flex; gap: 10px; align-items: stretch; margin: 12px 0 0 !important;
  border: 1px solid var(--st-line) !important; border-radius: 12px !important; padding: 14px !important;
}
body.imx-checkout form.checkout_coupon p{ margin: 0; }
body.imx-checkout form.checkout_coupon .form-row-first{ flex: 1; float: none; width: auto; }
body.imx-checkout form.checkout_coupon .form-row-last{ float: none; width: auto; }

/* section headings */
.imx-co__h{
  display: flex; align-items: baseline; justify-content: space-between; gap: 12px;
  margin: 0 0 14px !important;
  font-size: 21px !important; font-weight: 800 !important; letter-spacing: -.02em;
  color: var(--st-cream) !important;
}
.imx-co__h a{ font-size: 14px; font-weight: 600; letter-spacing: 0; color: var(--st-amber-2) !important; }
.imx-co__h--row{ margin-top: 0 !important; }
p#billing_country_field .imx-co__h--row{ margin-top: 14px !important; }
.imx-co__sub{ margin: -6px 0 14px !important; color: var(--st-mute) !important; font-size: 14px; }
body.imx-checkout .woocommerce-billing-fields > h3{ display: none; } /* "Billing details" */

/* field grid: 6 columns so City | State | Postcode share one row */
body.imx-checkout .woocommerce-billing-fields__field-wrapper,
body.imx-checkout .woocommerce-shipping-fields__field-wrapper{
  display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); column-gap: 12px;
}
body.imx-checkout .woocommerce-billing-fields__field-wrapper .form-row,
body.imx-checkout .woocommerce-shipping-fields__field-wrapper .form-row{
  grid-column: span 6; float: none !important; width: auto !important; margin: 0 0 14px !important; padding: 0 !important;
}
body.imx-checkout .woocommerce-billing-fields__field-wrapper .form-row-first,
body.imx-checkout .woocommerce-billing-fields__field-wrapper .form-row-last,
body.imx-checkout .woocommerce-shipping-fields__field-wrapper .form-row-first,
body.imx-checkout .woocommerce-shipping-fields__field-wrapper .form-row-last{ grid-column: span 3; }
body.imx-checkout #billing_city_field,
body.imx-checkout #billing_state_field,
body.imx-checkout #billing_postcode_field,
body.imx-checkout #shipping_city_field,
body.imx-checkout #shipping_state_field,
body.imx-checkout #shipping_postcode_field{ grid-column: span 2; }
body.imx-checkout .woocommerce form .form-row label{ font-size: 13px; margin-bottom: 5px; }
body.imx-checkout .woocommerce input.input-text,
body.imx-checkout .woocommerce select,
body.imx-checkout .select2-container--default .select2-selection--single{ border-radius: 10px !important; }

body.imx-checkout .woocommerce-account-fields,
body.imx-checkout #ship-to-different-address{ margin: 4px 0 14px !important; }
body.imx-checkout #ship-to-different-address{ font-size: 15px !important; font-weight: 600 !important; letter-spacing: 0; }
body.imx-checkout #ship-to-different-address label,
body.imx-checkout .woocommerce-account-fields label.checkbox{ display: inline-flex; align-items: center; gap: 10px; color: var(--st-cream); font-weight: 600; font-size: 15px; }

/* payment: Shopify-style selectable boxes */
.imx-co__pay{ margin-top: 26px; }
body.imx-checkout #payment{ background: transparent !important; border-radius: 0; }
body.imx-checkout #payment ul.payment_methods{
  margin: 0 0 20px !important; padding: 0 !important;
  border: 1px solid var(--st-line-2) !important; border-radius: 12px; overflow: hidden;
}
body.imx-checkout #payment ul.payment_methods li{
  margin: 0 !important; padding: 16px 18px !important; list-style: none;
  border-top: 1px solid var(--st-line) !important;
  background: #fff;
}
body.imx-checkout #payment ul.payment_methods li:first-child{ border-top: 0 !important; }
body.imx-checkout #payment ul.payment_methods li:has(input:checked){ background: #fdf8f0; box-shadow: inset 0 0 0 1px var(--st-amber); }
body.imx-checkout #payment ul.payment_methods li > label{ display: inline; font-weight: 700; color: var(--st-cream); font-size: 15px; }
body.imx-checkout #payment ul.payment_methods li input{ margin: 0 10px 0 0; vertical-align: -3px; }
body.imx-checkout #payment div.payment_box{
  margin: 14px -18px -16px !important; padding: 16px 20px !important;
  background: var(--co-side) !important; color: var(--st-mute) !important;
  border-top: 1px solid var(--st-line); border-radius: 0 !important; font-size: 14px;
}
body.imx-checkout #payment div.payment_box::before{ display: none !important; }
body.imx-checkout #payment div.payment_box p{ color: var(--st-mute) !important; margin: 0; }
body.imx-checkout #payment .place-order{ padding: 0 !important; margin: 0 !important; }
body.imx-checkout .woocommerce-privacy-policy-text p,
body.imx-checkout .woocommerce-terms-and-conditions-wrapper p{ color: var(--st-mute) !important; font-size: 13px; line-height: 1.6; }
body.imx-checkout #place_order{
  width: 100%; min-height: 56px; margin-top: 18px !important;
  font-size: 17px !important; border-radius: 12px !important;
  background: linear-gradient(135deg, #e8a33d, #ffd08a) !important; color: #180f05 !important;
}
.imx-co__foot{ margin: 0 0 40px !important; color: var(--st-mute) !important; font-size: 13px; border-top: 1px solid var(--st-line); padding-top: 18px !important; }

/* summary (right) */
.imx-co__sumcb, .imx-co__sumbar{ display: none; }
body.imx-checkout #order_review_heading{ display: none; }
body.imx-checkout .woocommerce table.shop_table.woocommerce-checkout-review-order-table{
  background: transparent; border: 0 !important; border-radius: 0 !important; margin: 0;
}
body.imx-checkout .woocommerce-checkout-review-order-table thead{ display: none; }
body.imx-checkout .woocommerce-checkout-review-order-table td,
body.imx-checkout .woocommerce-checkout-review-order-table th{
  border: 0 !important; background: transparent !important; padding: 8px 0 !important;
  text-transform: none !important; letter-spacing: 0 !important; font-size: 14.5px !important; font-weight: 500 !important;
  color: var(--st-cream) !important;
}
body.imx-checkout .woocommerce-checkout-review-order-table tbody td{ padding: 10px 0 !important; }
body.imx-checkout .woocommerce-checkout-review-order-table tbody tr:last-child td{ padding-bottom: 22px !important; }
body.imx-checkout .woocommerce-checkout-review-order-table td.product-total,
body.imx-checkout .woocommerce-checkout-review-order-table tfoot td{ text-align: right; white-space: nowrap; }
body.imx-checkout .woocommerce-checkout-review-order-table .product-quantity{ display: none; } /* shown on the badge */
.imx-co__item{ display: flex; align-items: center; gap: 14px; }
.imx-co__thumb{
  position: relative; flex: 0 0 64px; width: 64px; height: 64px;
  border: 1px solid var(--st-line-2); border-radius: 10px; background: #fff;
}
.imx-co__thumb img{ width: 100% !important; height: 100% !important; object-fit: cover; border-radius: 9px; margin: 0 !important; }
.imx-co__thumb b{
  position: absolute; top: -9px; right: -9px; min-width: 22px; height: 22px; padding: 0 6px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 999px; background: rgba(28,20,12,.72); color: #fff; font-size: 12px; font-weight: 700;
}
.imx-co__name{ font-weight: 600; line-height: 1.4; font-size: 14px; }
body.imx-checkout .woocommerce-checkout-review-order-table tfoot tr:first-child th,
body.imx-checkout .woocommerce-checkout-review-order-table tfoot tr:first-child td{ border-top: 1px solid var(--st-line-2) !important; padding-top: 22px !important; }
body.imx-checkout .woocommerce-checkout-review-order-table tfoot th{ text-align: left; }
body.imx-checkout .woocommerce-checkout-review-order-table .order-total th,
body.imx-checkout .woocommerce-checkout-review-order-table .order-total td{
  padding-top: 14px !important; font-size: 19px !important; font-weight: 800 !important;
}
body.imx-checkout .woocommerce-checkout-review-order-table .order-total .amount{ font-size: 24px; color: var(--st-cream) !important; }
body.imx-checkout .woocommerce-checkout-review-order-table .order-total .includes_tax{ display: block; font-size: 12px; font-weight: 500; color: var(--st-mute); }
body.imx-checkout #shipping_method{ list-style: none; margin: 0; padding: 0; }
body.imx-checkout #shipping_method li{ margin: 0 0 6px; display: flex; justify-content: flex-end; gap: 8px; align-items: center; }
body.imx-checkout .woocommerce-shipping-totals td{ font-size: 13.5px !important; color: var(--st-mute) !important; white-space: normal !important; max-width: 60%; }

/* phones and small tablets: one column, summary folds under a bar at the top */
@media (max-width: 900px){
  body.imx-checkout{ background: #fff !important; }
  body.imx-checkout form.checkout{ grid-template-columns: minmax(0, 1fr); }
  body.imx-checkout .imx-co__summary{
    grid-column: 1; grid-row: 1; position: static;
    margin: 0 calc(50% - 50vw); padding: 0 calc(50vw - 50%);
    background: var(--co-side); border-bottom: 1px solid var(--st-line);
  }
  body.imx-checkout .imx-co__main{ grid-row: 2; padding: 24px 0 40px; }
  .imx-co__sumbar{
    display: flex; align-items: center; gap: 8px; padding: 16px 0; cursor: pointer;
    color: var(--st-amber-2); font-weight: 700; font-size: 15px;
  }
  .imx-co__sumbar::after{ content: "\25BE"; transition: transform .2s ease; }
  .imx-co__sumcb:checked + .imx-co__sumbar::after{ transform: rotate(180deg); }
  .imx-co__hide{ display: none; }
  .imx-co__sumcb:checked + .imx-co__sumbar .imx-co__show{ display: none; }
  .imx-co__sumcb:checked + .imx-co__sumbar .imx-co__hide{ display: inline; }
  .imx-co__sumbody{ display: none; padding: 4px 0 20px; }
  .imx-co__sumcb:checked ~ .imx-co__sumbody{ display: block; }
  .imx-co__sumcb:focus-visible + .imx-co__sumbar{ outline: 2px solid var(--st-amber); outline-offset: 2px; }
  body.imx-checkout .woocommerce-form-coupon-toggle,
  body.imx-checkout form.checkout_coupon,
  body.imx-checkout .woocommerce-notices-wrapper,
  body.imx-checkout .imx-co__foot{ width: auto; padding-right: 0; }
  body.imx-checkout .woocommerce-form-coupon-toggle{ order: 2; padding-top: 18px; }
}
@media (max-width: 560px){
  body.imx-checkout #billing_city_field,
  body.imx-checkout #billing_state_field,
  body.imx-checkout #shipping_city_field,
  body.imx-checkout #shipping_state_field{ grid-column: span 3; }
  body.imx-checkout #billing_postcode_field,
  body.imx-checkout #shipping_postcode_field{ grid-column: span 6; }
}

/* ============================================================
   THANK-YOU PAGE
   ============================================================ */
body.imx-thankyou .entry-header,
body.imx-thankyou .woocommerce-thankyou-order-received{ display: none; }
body.imx-thankyou .woocommerce-order{ max-width: 760px; margin: 0 auto; padding: 24px 0 40px; }
.imx-ty__hero{ display: flex; align-items: center; gap: 18px; margin: 12px 0 22px; }
.imx-ty__check{
  flex: 0 0 52px; width: 52px; height: 52px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  border: 2px solid var(--st-amber); color: var(--st-amber); font-size: 24px; font-weight: 800;
}
.imx-ty__kicker{ margin: 0 !important; color: var(--st-mute) !important; font-size: 14px; }
.imx-ty__title{ margin: 2px 0 0 !important; font-size: clamp(28px, 4vw, 38px) !important; font-weight: 800 !important; }
.imx-ty__lede{ margin: 4px 0 0 !important; color: var(--st-mute) !important; }
.imx-ty__ref{
  display: flex; flex-direction: column; gap: 6px;
  padding: 18px 20px; margin: 0 0 22px;
  border: 1px solid rgba(200,132,31,.45); border-left: 4px solid var(--st-amber);
  border-radius: 12px; background: #fdf8f0;
}
.imx-ty__ref b{ font-size: 16px; }
.imx-ty__ref span{ color: var(--st-mute); line-height: 1.6; }
.imx-ty__ref strong{ color: var(--st-cream); }
.imx-ty__ref.is-none{ border-color: var(--st-line); border-left-color: var(--st-line-2); background: var(--st-card-2); }
body.imx-thankyou ul.woocommerce-order-overview{
  display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0;
  margin: 0 0 24px !important; padding: 0 !important;
  border: 1px solid var(--st-line); border-radius: 14px; overflow: hidden;
}
body.imx-thankyou ul.woocommerce-order-overview li{
  margin: 0 !important; padding: 14px 16px !important; border: 0 !important;
  border-right: 1px solid var(--st-line) !important;
  font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--st-mute);
}
body.imx-thankyou ul.woocommerce-order-overview li strong{
  display: block; margin-top: 4px; font-size: 15px; letter-spacing: 0; text-transform: none; color: var(--st-cream);
}
body.imx-thankyou .woocommerce-order-details__title,
body.imx-thankyou .woocommerce-column__title{ font-size: 20px !important; margin: 28px 0 12px !important; }
body.imx-thankyou .woocommerce-customer-details address{
  border: 1px solid var(--st-line) !important; border-radius: 14px; padding: 18px 20px !important;
  font-style: normal; line-height: 1.7;
}

/* ---------- checkout polish (after visual review) ---------- */
/* solid bar: its see-through dark tint turned grey over the white page */
body.imx-checkout .imxh,
body.imx-thankyou .imxh{ background: #0b0806; }

/* placeholders inherited the dark theme's pale cream and vanished on white */
body.imx-checkout .woocommerce input::placeholder,
body.imx-checkout .woocommerce textarea::placeholder,
body.imx-thankyou .woocommerce input::placeholder{ color: #a3968a; opacity: 1; }
body.imx-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{ font-size: 15px; }
body.imx-checkout .select2-container--default .select2-selection--single .select2-selection__placeholder{ color: #a3968a; }

/* payment row: with a single gateway WooCommerce hides the real radio and
   GeneratePress drew a black dot on a grey padded label; the description
   panel was also fixed at 462px. */
body.imx-checkout #payment ul.payment_methods li{ display: block; }
body.imx-checkout #payment ul.payment_methods li > label{
  display: flex !important; align-items: center; gap: 12px;
  background: transparent !important; padding: 0 !important; margin: 0 !important;
  cursor: pointer;
}
body.imx-checkout #payment ul.payment_methods li > label::before{
  content: "" !important; flex: 0 0 18px; width: 18px !important; height: 18px !important;
  margin: 0 !important; border-radius: 50% !important;
  background: #fff !important; border: 1px solid var(--st-line-2) !important; box-shadow: none !important;
}
body.imx-checkout #payment ul.payment_methods li:has(input:checked) > label::before{ border: 6px solid var(--st-amber) !important; }
body.imx-checkout #payment div.payment_box{ width: auto !important; }

/* summary lines: one rule above Subtotal, one above Total, nothing else */
body.imx-checkout .woocommerce table.shop_table.woocommerce-checkout-review-order-table{ border-collapse: collapse !important; }
body.imx-checkout .woocommerce-checkout-review-order-table tr,
body.imx-checkout .woocommerce-checkout-review-order-table tfoot tr:first-child th,
body.imx-checkout .woocommerce-checkout-review-order-table tfoot tr:first-child td{ border: 0 !important; }
body.imx-checkout .woocommerce-checkout-review-order-table tfoot tr.cart-subtotal{ border-top: 1px solid var(--st-line-2) !important; }
body.imx-checkout .woocommerce-checkout-review-order-table tfoot tr.order-total{ border-top: 1px solid var(--st-line-2) !important; }
body.imx-checkout .woocommerce-checkout-review-order-table tfoot tr.cart-subtotal th,
body.imx-checkout .woocommerce-checkout-review-order-table tfoot tr.cart-subtotal td{ padding-top: 20px !important; }
body.imx-checkout .woocommerce-checkout-review-order-table tfoot tr.order-total th,
body.imx-checkout .woocommerce-checkout-review-order-table tfoot tr.order-total td{ padding-top: 16px !important; }

/* the two checkboxes read as one style */
body.imx-checkout .woocommerce-account-fields label.checkbox span,
body.imx-checkout #ship-to-different-address span{ font-size: 15px; font-weight: 600; color: var(--st-cream); }

/* The generic store table rule (body.imx-store .woocommerce table.shop_table td)
   out-ranked the summary rules above, adding 18px side padding and a border on
   every cell. Same properties again, at a higher specificity. */
body.imx-checkout .woocommerce table.shop_table.woocommerce-checkout-review-order-table th,
body.imx-checkout .woocommerce table.shop_table.woocommerce-checkout-review-order-table td{
  padding: 8px 0 !important; border: 0 !important; background: transparent !important;
}
body.imx-checkout .woocommerce table.shop_table.woocommerce-checkout-review-order-table tbody td{ padding: 10px 0 !important; }
body.imx-checkout .woocommerce table.shop_table.woocommerce-checkout-review-order-table tbody tr:last-child td{ padding-bottom: 22px !important; }
body.imx-checkout .woocommerce table.shop_table.woocommerce-checkout-review-order-table tr.cart-subtotal th,
body.imx-checkout .woocommerce table.shop_table.woocommerce-checkout-review-order-table tr.cart-subtotal td{ padding-top: 20px !important; }
body.imx-checkout .woocommerce table.shop_table.woocommerce-checkout-review-order-table tr.order-total th,
body.imx-checkout .woocommerce table.shop_table.woocommerce-checkout-review-order-table tr.order-total td{ padding-top: 16px !important; }
/* the name column takes all spare width; the price column shrinks to fit */
body.imx-checkout .woocommerce-checkout-review-order-table td.product-name{ width: auto !important; padding-right: 16px !important; }
body.imx-checkout .woocommerce-checkout-review-order-table td.product-total{ width: 1% !important; }

/* coupon form: WooCommerce's first paragraph here IS the code input (an earlier
   rule hid it by mistake). Shopify-style: field + dark "Apply" side by side. */
body.imx-checkout form.checkout_coupon .form-row-first{ flex: 1 1 auto; min-width: 0; }
body.imx-checkout form.checkout_coupon .form-row-first input{ min-height: 48px; }
body.imx-checkout form.checkout_coupon .form-row-first label.screen-reader-text{ position: absolute !important; }
body.imx-checkout form.checkout_coupon button[name="apply_coupon"],
body.imx-checkout .woocommerce form.checkout_coupon button.button{
  min-height: 48px; padding: 0 22px !important; border-radius: 10px !important;
  background: #1c140c !important; color: #fff !important; border: 0 !important;
  font-size: 14.5px !important; box-shadow: none !important;
}
body.imx-checkout .woocommerce form.checkout_coupon button.button:hover{ background: #3a2a1a !important; transform: none; }

/* ============================================================
   SHARED WITH shop.css — its partner line/band use --s-* colours
   ============================================================ */
body.imx-store{
  --s-ink: var(--st-ink); --s-card: var(--st-card); --s-line: var(--st-line);
  --s-cream: var(--st-cream); --s-mute: var(--st-mute); --s-amber: var(--st-amber); --s-amber-2: var(--st-amber-2);
}

/* ============================================================
   PRODUCT PAGE
   ============================================================ */
body.imx-store.single-product .site-content{ padding-top: clamp(28px, 4vw, 56px); }
body.imx-store.single-product div.product{ display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 4.4vw, 64px); align-items: start; }
body.imx-store.single-product div.product::before,
body.imx-store.single-product div.product::after{ display: none; }
body.imx-store.single-product div.product > *{ grid-column: 1 / -1; }
body.imx-store.single-product div.product > .woocommerce-product-gallery{ grid-column: 1; }
body.imx-store.single-product div.product > .summary{ grid-column: 2; }
body.imx-store.single-product div.product .woocommerce-product-gallery,
body.imx-store.single-product div.product .summary{ float: none !important; width: auto !important; margin: 0 !important; }
@media (max-width: 860px){
  body.imx-store.single-product div.product{ grid-template-columns: minmax(0, 1fr); }
  body.imx-store.single-product div.product > .woocommerce-product-gallery,
  body.imx-store.single-product div.product > .summary{ grid-column: 1; }
}

/* gallery */
body.imx-store .woocommerce-product-gallery{
  position: relative; padding: 14px !important;
  border: 1px solid var(--st-line); border-radius: 26px;
  background: radial-gradient(90% 80% at 50% 15%, #2a1d10, #0d0906);
}
body.imx-store .woocommerce-product-gallery .woocommerce-product-gallery__image img,
body.imx-store .woocommerce-product-gallery .flex-viewport{ border-radius: 18px; }
body.imx-store .woocommerce-product-gallery__trigger{
  top: 26px !important; right: 26px !important; width: 40px !important; height: 40px !important;
  display: flex !important; align-items: center; justify-content: center;
  background: rgba(11,8,6,.7) !important; border: 1px solid var(--st-line-2); border-radius: 50% !important;
}
body.imx-store .flex-control-thumbs{ display: flex; gap: 10px; margin: 12px 0 0 !important; padding: 0 !important; }
body.imx-store .flex-control-thumbs li{ width: 72px !important; float: none !important; margin: 0 !important; list-style: none; }
body.imx-store .flex-control-thumbs img{ border-radius: 12px; border: 1px solid var(--st-line); opacity: .55; transition: opacity .2s ease; }
body.imx-store .flex-control-thumbs img.flex-active,
body.imx-store .flex-control-thumbs img:hover{ opacity: 1; border-color: var(--st-amber); }

/* summary */
body.imx-store .summary .product_title{
  margin: 0 0 16px !important;
  font-size: clamp(28px, 3.3vw, 42px) !important; line-height: 1.1 !important; font-weight: 800 !important; letter-spacing: -.03em !important;
}
body.imx-store .summary p.price{ margin: 0 0 12px !important; font-size: 34px !important; font-weight: 800; color: var(--st-amber-2) !important; letter-spacing: -.02em; }
body.imx-store .summary p.price .amount{ color: var(--st-amber-2) !important; }
body.imx-store .summary .imx-shop__earn{ margin: 0 0 22px; font-size: 14px; }
.imx-pdp__facts{ list-style: none; margin: 0 0 24px !important; padding: 0 !important; display: grid; gap: 10px; }
.imx-pdp__facts li{
  margin: 0; list-style: none; position: relative; padding-left: 28px; color: var(--st-cream); line-height: 1.5;
}
.imx-pdp__facts li::before{
  content: "\2713"; position: absolute; left: 0; top: 0;
  width: 18px; height: 18px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 800; color: #180f05; background: var(--st-amber);
}
body.imx-store .summary .stock{ color: var(--st-good) !important; font-size: 14px; font-weight: 600; margin: 0 0 14px !important; }
body.imx-store .summary form.cart{
  display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch;
  margin: 0 0 26px !important; padding: 18px; border: 1px solid var(--st-line); border-radius: 18px; background: var(--st-card);
}
body.imx-store .summary form.cart::before,
body.imx-store .summary form.cart::after{ display: none; }
body.imx-store .summary form.cart .single_add_to_cart_button{ flex: 1 1 200px; min-height: 52px; font-size: 16px !important; }
body.imx-store .quantity{ display: inline-flex !important; align-items: stretch; float: none !important; margin: 0 !important; }
body.imx-store .quantity input.qty{
  width: 56px !important; min-height: 52px !important; text-align: center; padding: 0 !important;
  border-radius: 0 !important; border-left: 0 !important; border-right: 0 !important; -moz-appearance: textfield;
}
body.imx-store .quantity .minus,
body.imx-store .quantity .plus{
  width: 44px; min-height: 52px; padding: 0 !important;
  background: var(--st-field) !important; color: var(--st-cream) !important;
  border: 1px solid var(--st-line-2) !important; font-size: 18px; cursor: pointer;
}
body.imx-store .quantity .minus{ border-radius: 12px 0 0 12px !important; }
body.imx-store .quantity .plus{ border-radius: 0 12px 12px 0 !important; }
body.imx-store .quantity input.qty::-webkit-inner-spin-button,
body.imx-store .quantity input.qty::-webkit-outer-spin-button{ -webkit-appearance: none; margin: 0; }
body.imx-store .product_meta{ font-size: 13px; color: var(--st-mute); display: grid; gap: 4px; border-top: 1px solid var(--st-line); padding-top: 16px; }
body.imx-store .product_meta > span{ color: var(--st-mute); }

/* tabs */
body.imx-store .woocommerce-tabs{ margin-top: clamp(24px, 4vw, 48px); }
body.imx-store .woocommerce-tabs ul.tabs{ display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 22px !important; padding: 0 !important; border: 0 !important; }
body.imx-store .woocommerce-tabs ul.tabs::before,
body.imx-store .woocommerce-tabs ul.tabs::after,
body.imx-store .woocommerce-tabs ul.tabs li::before,
body.imx-store .woocommerce-tabs ul.tabs li::after{ display: none !important; }
body.imx-store .woocommerce-tabs ul.tabs li{
  margin: 0 !important; padding: 0 !important; border: 1px solid var(--st-line) !important; border-radius: 999px !important;
  background: transparent !important;
}
body.imx-store .woocommerce-tabs ul.tabs li a{ display: block; padding: 10px 18px !important; color: var(--st-mute) !important; font-weight: 700 !important; font-size: 14px; }
body.imx-store .woocommerce-tabs ul.tabs li.active{ background: rgba(232,163,61,.14) !important; border-color: rgba(232,163,61,.5) !important; }
body.imx-store .woocommerce-tabs ul.tabs li.active a{ color: var(--st-amber-2) !important; }
body.imx-store .woocommerce-tabs .panel{
  margin: 0 !important; padding: clamp(20px, 3.4vw, 36px) !important;
  background: var(--st-card); border: 1px solid var(--st-line); border-radius: 22px;
}
body.imx-store .woocommerce-tabs .panel > h2:first-child{ font-size: 22px !important; margin: 0 0 14px !important; }
body.imx-store .woocommerce-tabs .panel p{ color: rgba(247,241,232,.82); line-height: 1.75; max-width: 75ch; }
body.imx-store table.woocommerce-product-attributes{ border: 1px solid var(--st-line); border-radius: 14px; overflow: hidden; border-collapse: separate; }
body.imx-store table.woocommerce-product-attributes th,
body.imx-store table.woocommerce-product-attributes td{ background: transparent !important; border: 0 !important; border-top: 1px solid var(--st-line) !important; padding: 12px 16px !important; }
body.imx-store table.woocommerce-product-attributes tr:first-child th,
body.imx-store table.woocommerce-product-attributes tr:first-child td{ border-top: 0 !important; }
body.imx-store #reviews #comments h2{ font-size: 20px !important; }
body.imx-store #review_form_wrapper{ margin-top: 18px; }
body.imx-store #review_form .comment-reply-title{ font-size: 18px; font-weight: 700; }

/* GP Premium's sticky add-to-cart bar (product page only) */
body.imx-store #wc-sticky-cart-panel{ background: rgba(11,8,6,.96) !important; border-top: 1px solid var(--st-line); color: var(--st-cream); }
body.imx-store #wc-sticky-cart-panel .product-title,
body.imx-store #wc-sticky-cart-panel .price{ color: var(--st-cream) !important; }

/* ============================================================
   CART
   ============================================================ */
body.imx-store.woocommerce-cart .entry-header{ display: none; }
body.imx-store.woocommerce-cart .woocommerce{
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 380px); gap: 24px 28px; align-items: start;
}
body.imx-store.woocommerce-cart .woocommerce > *{ grid-column: 1 / -1; min-width: 0; }
body.imx-store.woocommerce-cart .woocommerce > .woocommerce-cart-form{ grid-column: 1; }
body.imx-store.woocommerce-cart .woocommerce > .cart-collaterals{ grid-column: 2; position: sticky; top: calc(var(--imxh-bar, 76px) + 20px); }
body.imx-store.woocommerce-cart .imx-cart__hero{ margin-bottom: 4px; }
@media (max-width: 900px){
  body.imx-store.woocommerce-cart .woocommerce{ grid-template-columns: minmax(0, 1fr); }
  body.imx-store.woocommerce-cart .woocommerce > .woocommerce-cart-form,
  body.imx-store.woocommerce-cart .woocommerce > .cart-collaterals{ grid-column: 1; position: static; }
}
body.imx-store table.cart td.product-thumbnail img{ width: 76px !important; height: 76px; object-fit: cover; border-radius: 12px; border: 1px solid var(--st-line); }
body.imx-store table.cart td.product-name a{ color: var(--st-cream) !important; font-weight: 700; text-decoration: none; }
body.imx-store table.cart td.product-name a:hover{ color: var(--st-amber-2) !important; }
body.imx-store table.cart a.remove{
  width: 30px; height: 30px; line-height: 28px; font-size: 20px !important;
  color: var(--st-mute) !important; border: 1px solid var(--st-line-2); border-radius: 50%;
}
body.imx-store table.cart a.remove:hover{ background: rgba(255,138,122,.12) !important; color: var(--st-bad) !important; border-color: var(--st-bad); }
body.imx-store table.cart td.actions{ background: rgba(255,255,255,.02) !important; }
body.imx-store table.cart td.actions .coupon{ display: flex; gap: 10px; align-items: center; }
body.imx-store table.cart td.actions .coupon .input-text{ width: 200px !important; min-height: 40px; padding: 8px 14px !important; }
body.imx-store table.cart td.actions > .button{ float: right; }
@media (max-width: 768px){
  body.imx-store table.cart td.actions .coupon{ flex-wrap: wrap; }
  body.imx-store table.cart td.actions .coupon .input-text{ width: 100% !important; }
  body.imx-store table.cart td.actions > .button{ float: none; width: 100%; margin-top: 10px !important; }
  body.imx-store table.cart td.product-thumbnail{ display: none !important; }
}
body.imx-store .cart-collaterals .cart_totals{
  float: none !important; width: auto !important;
  background: var(--st-card); border: 1px solid var(--st-line); border-radius: 22px; padding: 24px;
}
body.imx-store .cart-collaterals .cart_totals h2{ font-size: 20px !important; font-weight: 800 !important; margin: 0 0 14px !important; }
body.imx-store .cart_totals table.shop_table{ background: transparent; border: 0 !important; border-radius: 0 !important; margin: 0 0 18px; }
body.imx-store .cart_totals table.shop_table th,
body.imx-store .cart_totals table.shop_table td{
  background: transparent !important; padding: 12px 0 !important; border: 0 !important; border-top: 1px solid var(--st-line) !important;
  text-transform: none !important; letter-spacing: 0 !important; font-size: 14.5px !important; color: var(--st-cream) !important; font-weight: 500 !important;
}
body.imx-store .cart_totals table.shop_table tr:first-child th,
body.imx-store .cart_totals table.shop_table tr:first-child td{ border-top: 0 !important; }
body.imx-store .cart_totals table.shop_table td{ text-align: right; }
body.imx-store .cart_totals .order-total th,
body.imx-store .cart_totals .order-total td{ font-size: 18px !important; font-weight: 800 !important; }
body.imx-store .cart_totals #shipping_method{ list-style: none; margin: 0; padding: 0; }
body.imx-store .cart_totals .woocommerce-shipping-destination,
body.imx-store .cart_totals .shipping-calculator-button{ font-size: 13px; color: var(--st-mute) !important; }
body.imx-store .wc-proceed-to-checkout{ padding: 0 !important; }
body.imx-store .wc-proceed-to-checkout .checkout-button{ width: 100%; min-height: 54px; font-size: 16px !important; margin: 0 !important; }
body.imx-store .cart-empty.woocommerce-info{ display: none !important; } /* the hero says it */
body.imx-store .return-to-shop{ margin: 0; }

/* cart fixes after visual review:
   - the thumbnail column had no width, so the image shrank to 6x6px
   - the name column was squeezed to one word per line
   - "Update cart" / "Apply coupon" lost to the generic .woocommerce button.button rule */
body.imx-store table.cart td.product-thumbnail{ width: 100px; min-width: 100px; }
body.imx-store table.cart td.product-thumbnail img{ max-width: none !important; display: block; }
body.imx-store table.cart td.product-name{ min-width: 220px; }
body.imx-store .woocommerce table.cart button.button[name="update_cart"],
body.imx-store .woocommerce table.cart button.button[name="apply_coupon"]{
  min-height: 40px; padding: 9px 18px !important; font-size: 13.5px !important;
  background: transparent !important; color: var(--st-amber-2) !important;
  border: 1px solid rgba(232,163,61,.45) !important; box-shadow: none !important;
}
body.imx-store .woocommerce table.cart button.button[name="update_cart"]:disabled{ opacity: .4 !important; }
body.imx-store .woocommerce-tabs .panel > h2:first-child{ font-weight: 800 !important; }

.imx-ty__adminonly{
  align-self: flex-start; margin-bottom: 2px;
  font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
  color: #7a5a1c; background: rgba(200,132,31,.14); border-radius: 999px; padding: 3px 10px;
}
