/* Cart, checkout and My Account — store layout */

.aj-store-page {
  --sp-bg: #f6f6f8;
  --sp-card: #ffffff;
  --sp-border: #ececf0;
  --sp-muted: #7a7a85;
  --sp-radius: 16px;
  --sp-shadow: 0 6px 24px rgba(20, 32, 70, 0.06);
  --sp-navy: var(--sale, #142046);
  padding: 32px 0 64px;
}

body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account { background: var(--sp-bg, #f6f6f8); }
body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main,
body.woocommerce-account .site-main { background: #f6f6f8; }

.site-header--checkout .main-nav { display: none; }
.site-header--checkout { border-bottom: 0; box-shadow: none; }

.aj-store-page__title {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--title, #242424);
  margin: 0 0 24px;
}

/* ---------- Steps ---------- */
.aj-steps {
  list-style: none;
  margin: 0 auto 32px;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 640px;
  counter-reset: none;
}
.aj-steps__item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  position: relative;
  color: var(--sp-muted);
  font-size: 0.85rem;
  font-weight: 600;
}
.aj-steps__item a { display: contents; color: inherit; text-decoration: none; }
.aj-steps__item::before {
  content: "";
  position: absolute;
  top: 18px;
  right: 50%;
  width: 100%;
  height: 2px;
  background: var(--sp-border);
  z-index: 0;
}
.aj-steps__item:first-child::before { display: none; }
.aj-steps__item.is-done::before,
.aj-steps__item.is-active::before { background: var(--sp-navy); }
.aj-steps__num {
  position: relative;
  z-index: 1;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #fff;
  border: 2px solid var(--sp-border);
  font-weight: 800;
  transition: all 0.2s;
}
.aj-steps__item.is-active { color: var(--sp-navy); }
.aj-steps__item.is-active .aj-steps__num {
  background: var(--sp-navy);
  border-color: var(--sp-navy);
  color: #fff;
  box-shadow: 0 0 0 6px rgba(20, 32, 70, 0.12);
}
.aj-steps__item.is-done { color: var(--sp-navy); }
.aj-steps__item.is-done .aj-steps__num {
  border-color: var(--sp-navy);
  color: var(--sp-navy);
}

/* ---------- Shared WooCommerce bits ---------- */
.aj-store-page .woocommerce-notices-wrapper:empty { display: none; }
.aj-store-page .woocommerce-message,
.aj-store-page .woocommerce-info,
.aj-store-page .woocommerce-error,
.aj-store-page .wc-block-components-notice-banner {
  list-style: none;
  margin: 0 0 20px;
  padding: 14px 18px;
  border-radius: 12px;
  border: 1px solid var(--sp-border);
  border-inline-start: 4px solid var(--sp-navy);
  background: #fff;
  box-shadow: var(--sp-shadow);
  font-size: 0.92rem;
}
.aj-store-page .woocommerce-error { border-inline-start-color: var(--accent, #6b1212); }
.aj-store-page .woocommerce-message .button,
.aj-store-page .woocommerce-info .button { float: left; }

.aj-store-page .button,
.aj-store-page button.button,
.aj-store-page input.button,
.aj-store-page .wc-block-components-button:not(.is-link) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 44px;
  padding: 10px 22px;
  border: 0;
  border-radius: 999px;
  background: var(--sp-navy);
  color: #fff;
  font-family: var(--font);
  font-weight: 700;
  font-size: 0.92rem;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.15s, box-shadow 0.2s, background 0.2s;
}
.aj-store-page .button:hover,
.aj-store-page .wc-block-components-button:not(.is-link):hover {
  background: #0d1633;
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(20, 32, 70, 0.22);
}
.aj-store-page .button:disabled,
.aj-store-page .button.disabled { opacity: 0.5; cursor: not-allowed; transform: none; box-shadow: none; }

.aj-store-page input[type="text"],
.aj-store-page input[type="email"],
.aj-store-page input[type="tel"],
.aj-store-page input[type="password"],
.aj-store-page input[type="number"],
.aj-store-page select,
.aj-store-page textarea,
.aj-store-page .select2-container .select2-selection--single {
  width: 100%;
  min-height: 48px;
  padding: 10px 14px;
  border: 1px solid #dcdce3;
  border-radius: 12px;
  background: #fff;
  font-family: var(--font);
  font-size: 0.95rem;
  color: var(--title, #242424);
  transition: border-color 0.2s, box-shadow 0.2s;
  box-sizing: border-box;
}
.aj-store-page input:focus,
.aj-store-page select:focus,
.aj-store-page textarea:focus {
  outline: none;
  border-color: var(--sp-navy);
  box-shadow: 0 0 0 3px rgba(20, 32, 70, 0.12);
}
.aj-store-page .select2-container .select2-selection--single .select2-selection__rendered { line-height: 26px; padding: 0; }
.aj-store-page .select2-container .select2-selection--single .select2-selection__arrow { height: 46px; left: 8px; right: auto; }
.aj-store-page .form-row { margin: 0 0 16px; }
.aj-store-page .form-row label {
  display: block;
  margin-bottom: 6px;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--title, #242424);
}
.aj-store-page .required { color: var(--accent, #6b1212); text-decoration: none; }

/* ---------- WooCommerce Blocks: cart & checkout ---------- */
.aj-checkout-page .wp-block-woocommerce-cart,
.aj-checkout-page .wp-block-woocommerce-checkout { margin: 0; max-width: none; }
.aj-checkout-page .wc-block-components-sidebar-layout {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 24px;
  margin: 0;
}
.aj-checkout-page .wc-block-components-main {
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
  padding: 24px;
  background: var(--sp-card);
  border: 1px solid var(--sp-border);
  border-radius: var(--sp-radius);
  box-shadow: var(--sp-shadow);
  box-sizing: border-box;
}
.aj-checkout-page .wc-block-components-sidebar {
  flex: 0 0 360px;
  width: 360px;
  padding: 24px;
  background: var(--sp-card);
  border: 1px solid var(--sp-border);
  border-radius: var(--sp-radius);
  box-shadow: var(--sp-shadow);
  position: sticky;
  top: 24px;
  box-sizing: border-box;
}
.aj-checkout-page .wc-block-checkout__sidebar,
.aj-checkout-page .wc-block-cart__sidebar { margin: 0; }

/* Cart items */
.aj-checkout-page .wc-block-cart-items { border: 0; margin: 0; }
.aj-checkout-page .wc-block-cart-items__header {
  font-size: 0.8rem;
  color: var(--sp-muted);
  text-transform: none;
  border-bottom: 1px solid var(--sp-border);
}
.aj-checkout-page .wc-block-cart-items__header th { padding: 0 0 12px; font-weight: 600; }
.aj-checkout-page .wc-block-cart-items__row { border-bottom: 1px solid var(--sp-border); }
.aj-checkout-page .wc-block-cart-items__row:last-child { border-bottom: 0; }
.aj-checkout-page .wc-block-cart-items__row td { padding: 18px 0; border: 0; vertical-align: top; }
.aj-checkout-page .wc-block-cart-item__image { width: 96px; padding-inline-end: 16px !important; }
.aj-checkout-page .wc-block-cart-item__image img {
  width: 96px;
  height: 128px;
  object-fit: cover;
  object-position: top;
  border-radius: 12px;
}
.aj-checkout-page .wc-block-components-product-name {
  display: inline-block;
  font-size: 1rem;
  font-weight: 700;
  color: var(--title, #242424);
  text-decoration: none;
  margin-bottom: 6px;
}
.aj-checkout-page .wc-block-components-product-name:hover { color: var(--sp-navy); }
.aj-checkout-page .wc-block-components-product-metadata { font-size: 0.82rem; color: var(--sp-muted); }
.aj-checkout-page .wc-block-components-product-price { font-weight: 700; color: var(--title, #242424); }
.aj-checkout-page .wc-block-components-product-badge {
  border: 0;
  border-radius: 999px;
  padding: 3px 10px;
  background: rgba(107, 18, 18, 0.08);
  color: var(--accent, #6b1212);
  font-size: 0.72rem;
  font-weight: 700;
}
.aj-checkout-page .wc-block-components-quantity-selector {
  width: 112px;
  border: 1px solid var(--sp-border);
  border-radius: 999px;
  overflow: hidden;
  background: var(--gray-light, #f5f5f5);
  margin-top: 10px;
}
.aj-checkout-page .wc-block-components-quantity-selector::after { display: none; }
.aj-checkout-page .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
  min-height: 36px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font-weight: 700;
}
.aj-checkout-page .wc-block-components-quantity-selector__button {
  min-width: 34px;
  color: var(--sp-navy);
  font-size: 1.1rem;
  opacity: 1;
}
.aj-checkout-page .wc-block-cart-item__remove-link {
  font-size: 0.8rem !important;
  color: var(--sp-muted) !important;
  text-decoration: none !important;
  margin-top: 8px;
}
.aj-checkout-page .wc-block-cart-item__remove-link:hover { color: var(--accent, #6b1212) !important; }
.aj-checkout-page .wc-block-cart-item__total { font-weight: 800; }

/* Sidebar totals */
.aj-checkout-page .wc-block-cart__totals-title,
.aj-checkout-page .wc-block-components-checkout-order-summary__title-text,
.aj-checkout-page .wc-block-components-title {
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  color: var(--title, #242424);
  text-transform: none !important;
  margin: 0 0 12px;
  padding: 0;
  text-align: start;
}
.aj-checkout-page .wc-block-components-totals-wrapper {
  border-top: 1px dashed var(--sp-border);
  padding: 14px 0;
}
.aj-checkout-page .wc-block-components-totals-wrapper:first-of-type { border-top: 0; }
.aj-checkout-page .wc-block-components-totals-item { font-size: 0.92rem; }
.aj-checkout-page .wc-block-components-totals-item__label { color: var(--sp-muted); }
.aj-checkout-page .wc-block-components-totals-footer-item {
  margin-top: 4px;
  padding: 14px 16px;
  border-radius: 12px;
  background: rgba(20, 32, 70, 0.05);
}
.aj-checkout-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { color: var(--title, #242424); font-weight: 700; }
.aj-checkout-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--sp-navy);
}
.aj-checkout-page .wc-block-components-panel__button { font-weight: 600; }
.aj-checkout-page .wc-block-cart__submit { margin: 16px 0 0; }
.aj-checkout-page .wc-block-cart__submit-button,
.aj-checkout-page .wc-block-components-checkout-place-order-button {
  width: 100%;
  min-height: 54px !important;
  font-size: 1rem !important;
}
.aj-checkout-page .wc-block-cart__payment-options { display: none; }

/* Order summary items in checkout sidebar */
.aj-checkout-page .wc-block-components-order-summary-item { padding: 12px 0; }
.aj-checkout-page .wc-block-components-order-summary-item__image img {
  width: 56px;
  height: 72px;
  object-fit: cover;
  object-position: top;
  border-radius: 10px;
}
.aj-checkout-page .wc-block-components-order-summary-item__quantity {
  background: var(--sp-navy);
  color: #fff;
  border: 2px solid #fff;
  box-shadow: none;
  font-size: 0.72rem;
  font-weight: 700;
}

/* Checkout steps (form sections) */
.aj-checkout-page .wc-block-components-checkout-step {
  padding: 0 0 24px;
  margin: 0 0 24px;
  border-bottom: 1px solid var(--sp-border);
}
.aj-checkout-page .wc-block-components-checkout-step:last-of-type { border-bottom: 0; margin-bottom: 8px; }
.aj-checkout-page .wc-block-components-checkout-step::after,
.aj-checkout-page .wc-block-components-checkout-step__container::after { display: none !important; }
.aj-checkout-page .wc-block-components-checkout-step__heading { margin: 0 0 14px; }
.aj-checkout-page .wc-block-components-checkout-step__title {
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--title, #242424);
}
.aj-checkout-page .wc-block-components-checkout-step__description { color: var(--sp-muted); font-size: 0.85rem; }
.aj-checkout-page .wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__title::before {
  background: var(--sp-navy);
  color: #fff;
  border-radius: 50%;
}
.aj-checkout-page .wc-block-checkout__form .wc-block-components-checkout-step { padding-inline-start: 0; }

/* Inputs (blocks) */
.aj-checkout-page .wc-block-components-text-input input,
.aj-checkout-page .wc-block-components-combobox .wc-block-components-combobox-control input,
.aj-checkout-page .wc-blocks-components-select .wc-blocks-components-select__select,
.aj-checkout-page .wc-block-components-textarea {
  border: 1px solid #dcdce3 !important;
  border-radius: 12px !important;
  background: #fff !important;
  font-family: var(--font) !important;
  min-height: 52px;
}
.aj-checkout-page .wc-block-components-text-input input:focus,
.aj-checkout-page .wc-blocks-components-select .wc-blocks-components-select__select:focus {
  border-color: var(--sp-navy) !important;
  box-shadow: 0 0 0 3px rgba(20, 32, 70, 0.12) !important;
}
.aj-checkout-page .wc-block-components-text-input label,
.aj-checkout-page .wc-blocks-components-select__label {
  right: 14px;
  left: auto;
  color: var(--sp-muted);
}

/* Radio options (shipping / payment) */
.aj-checkout-page .wc-block-components-radio-control--highlight-checked,
.aj-checkout-page .wc-block-components-radio-control-accordion-option { border-radius: 12px; }
.aj-checkout-page .wc-block-components-radio-control__option {
  border: 1px solid var(--sp-border);
  border-radius: 12px;
  margin-bottom: 10px;
  padding-top: 14px;
  padding-bottom: 14px;
  background: #fff;
  transition: border-color 0.2s, background 0.2s;
}
.aj-checkout-page .wc-block-components-radio-control__option-checked,
.aj-checkout-page .wc-block-components-radio-control__option:has(input:checked) {
  border-color: var(--sp-navy);
  background: rgba(20, 32, 70, 0.04);
}
.aj-checkout-page .wc-block-components-radio-control--highlight-checked::after,
.aj-checkout-page .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.aj-checkout-page .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted {
  box-shadow: inset 0 0 0 1.5px var(--sp-navy) !important;
  border-radius: 12px;
}
.aj-checkout-page .wc-block-components-radio-control__input:checked {
  border-color: var(--sp-navy);
}
.aj-checkout-page .wc-block-components-radio-control__input:checked::before { background: var(--sp-navy); }
.aj-checkout-page .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked {
  background: var(--sp-navy);
  border-color: var(--sp-navy);
}
.aj-checkout-page .wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: #fff; }
.aj-checkout-page .wc-block-checkout__actions_row { gap: 16px; }
.aj-checkout-page .wc-block-components-checkout-return-to-cart-button {
  color: var(--sp-muted);
  text-decoration: none;
  font-weight: 600;
}
.aj-checkout-page .wc-block-checkout__terms { font-size: 0.82rem; color: var(--sp-muted); }

/* Empty cart (blocks) */
.aj-checkout-page .wp-block-woocommerce-empty-cart-block {
  padding: 40px 24px;
  background: #fff;
  border: 1px solid var(--sp-border);
  border-radius: var(--sp-radius);
  box-shadow: var(--sp-shadow);
  text-align: center;
}
.aj-checkout-page .wc-block-cart__empty-cart__title { font-size: 1.2rem; font-weight: 800; }
.aj-checkout-page .wp-block-woocommerce-empty-cart-block .wp-block-separator { border-color: var(--sp-border); max-width: 120px; }

/* ---------- Classic cart / checkout (shortcodes) ---------- */
.aj-checkout-page .woocommerce-cart-form,
.aj-checkout-page .cart-collaterals .cart_totals,
.aj-checkout-page form.checkout #customer_details,
.aj-checkout-page #order_review,
.aj-checkout-page .woocommerce-order {
  background: #fff;
  border: 1px solid var(--sp-border);
  border-radius: var(--sp-radius);
  box-shadow: var(--sp-shadow);
  padding: 24px;
  margin-bottom: 24px;
  box-sizing: border-box;
}
.aj-checkout-page table.shop_table {
  width: 100%;
  border-collapse: collapse;
  border: 0;
}
.aj-checkout-page table.shop_table th,
.aj-checkout-page table.shop_table td {
  padding: 14px 8px;
  border: 0;
  border-bottom: 1px solid var(--sp-border);
  text-align: start;
  vertical-align: middle;
}
.aj-checkout-page table.shop_table thead th { font-size: 0.82rem; color: var(--sp-muted); font-weight: 600; }
.aj-checkout-page table.shop_table img {
  width: 72px;
  height: 96px;
  object-fit: cover;
  object-position: top;
  border-radius: 10px;
}
.aj-checkout-page table.shop_table a.remove {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--gray-light, #f5f5f5);
  color: var(--accent, #6b1212) !important;
  text-decoration: none;
  font-size: 1.1rem;
}
.aj-checkout-page table.shop_table a.remove:hover { background: var(--accent, #6b1212); color: #fff !important; }
.aj-checkout-page .quantity .qty { width: 72px; text-align: center; min-height: 40px; border-radius: 999px; }
.aj-checkout-page td.actions { border-bottom: 0 !important; }
.aj-checkout-page .coupon { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.aj-checkout-page .coupon input { max-width: 220px; }
.aj-checkout-page .cart-collaterals .cart_totals h2,
.aj-checkout-page #order_review_heading,
.aj-checkout-page form.checkout h3 { font-size: 1.1rem; font-weight: 800; margin: 0 0 16px; }
.aj-checkout-page .order-total td,
.aj-checkout-page .order-total th { font-size: 1.1rem; font-weight: 800; color: var(--sp-navy); border-bottom: 0 !important; }
.aj-checkout-page .wc-proceed-to-checkout .checkout-button,
.aj-checkout-page #place_order { width: 100%; min-height: 54px; font-size: 1rem; }
.aj-checkout-page #payment { background: transparent; border-radius: 12px; }
.aj-checkout-page #payment ul.payment_methods { list-style: none; padding: 0; margin: 0 0 16px; border: 0; }
.aj-checkout-page #payment ul.payment_methods li {
  border: 1px solid var(--sp-border);
  border-radius: 12px;
  padding: 12px 14px;
  margin-bottom: 8px;
}
.aj-checkout-page #payment div.payment_box {
  background: var(--gray-light, #f5f5f5);
  border-radius: 10px;
  padding: 10px 14px;
  margin-top: 8px;
  font-size: 0.85rem;
}
.aj-checkout-page #payment div.payment_box::before { display: none; }

/* Order received */
.aj-checkout-page .woocommerce-thankyou-order-received {
  padding: 20px;
  border-radius: var(--sp-radius);
  background: rgba(20, 32, 70, 0.06);
  color: var(--sp-navy);
  font-weight: 800;
  font-size: 1.1rem;
  text-align: center;
}
.aj-checkout-page ul.woocommerce-order-overview {
  list-style: none;
  padding: 0;
  margin: 20px 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
}
.aj-checkout-page ul.woocommerce-order-overview li {
  padding: 14px;
  border: 1px dashed var(--sp-border);
  border-radius: 12px;
  font-size: 0.82rem;
  color: var(--sp-muted);
}
.aj-checkout-page ul.woocommerce-order-overview li strong { display: block; margin-top: 4px; font-size: 0.95rem; color: var(--title, #242424); }

/* ---------- My Account ---------- */
.aj-account-hero {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 24px 28px;
  margin-bottom: 24px;
  border-radius: 20px;
  background: linear-gradient(135deg, var(--sp-navy) 0%, #24346b 60%, #3a2350 100%);
  color: #fff;
  box-shadow: 0 14px 32px rgba(20, 32, 70, 0.22);
  position: relative;
  overflow: hidden;
}
.aj-account-hero::after {
  content: "";
  position: absolute;
  left: -60px;
  top: -60px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.06);
  pointer-events: none;
}
.aj-account-hero__avatar {
  flex: 0 0 64px;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.16);
  border: 2px solid rgba(255, 255, 255, 0.35);
  font-size: 1.6rem;
  font-weight: 800;
}
.aj-account-hero__info { flex: 1; min-width: 0; }
.aj-account-hero__title { margin: 0 0 4px; font-size: 1.3rem; font-weight: 800; color: #fff; }
.aj-account-hero__meta { margin: 0; font-size: 0.85rem; opacity: 0.8; }
.aj-account-hero__stat {
  text-align: center;
  padding: 10px 18px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.12);
  position: relative;
  z-index: 1;
}
.aj-account-hero__stat strong { display: block; font-size: 1.4rem; line-height: 1.2; }
.aj-account-hero__stat span { font-size: 0.78rem; opacity: 0.85; }

.aj-account-page .woocommerce {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}
.aj-account-page .woocommerce > .woocommerce-notices-wrapper,
.aj-account-page .woocommerce > #customer_login,
.aj-account-page .woocommerce > .woocommerce-form-login,
.aj-account-page .woocommerce > .woocommerce-ResetPassword,
.aj-account-page .woocommerce > h2,
.aj-account-page .woocommerce > .woocommerce-message,
.aj-account-page .woocommerce > .woocommerce-error,
.aj-account-page .woocommerce > .woocommerce-info { grid-column: 1 / -1; }

.aj-account-page .woocommerce-MyAccount-navigation,
.aj-account-page .woocommerce-MyAccount-content {
  float: none;
  width: auto;
  background: #fff;
  border: 1px solid var(--sp-border);
  border-radius: var(--sp-radius);
  box-shadow: var(--sp-shadow);
}
.aj-account-page .woocommerce-MyAccount-navigation {
  padding: 12px;
  position: sticky;
  top: 24px;
}
.aj-account-page .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.aj-account-page .woocommerce-MyAccount-navigation li { margin: 0 0 4px; }
.aj-account-page .woocommerce-MyAccount-navigation li a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 12px;
  color: var(--title, #242424);
  text-decoration: none;
  font-weight: 600;
  font-size: 0.93rem;
  transition: background 0.2s, color 0.2s;
}
.aj-account-page .woocommerce-MyAccount-navigation li a::before {
  content: "";
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  background: currentColor;
  -webkit-mask: var(--aj-icon, var(--aj-icon-dot)) center / contain no-repeat;
  mask: var(--aj-icon, var(--aj-icon-dot)) center / contain no-repeat;
  opacity: 0.75;
}
.aj-account-page .woocommerce-MyAccount-navigation li a:hover { background: var(--gray-light, #f5f5f5); }
.aj-account-page .woocommerce-MyAccount-navigation li.is-active a {
  background: var(--sp-navy);
  color: #fff;
  box-shadow: 0 8px 18px rgba(20, 32, 70, 0.2);
}
.aj-account-page .woocommerce-MyAccount-navigation li.is-active a::before { opacity: 1; }
.aj-account-page .woocommerce-MyAccount-navigation-link--customer-logout {
  margin-top: 8px !important;
  padding-top: 8px;
  border-top: 1px solid var(--sp-border);
}
.aj-account-page .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--accent, #6b1212); }
.aj-account-page .woocommerce-MyAccount-navigation-link--customer-logout a:hover { background: rgba(107, 18, 18, 0.06); }

.aj-account-page {
  --aj-icon-dot: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3C/svg%3E");
  --aj-icon-dashboard: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='9' rx='1.5'/%3E%3Crect x='14' y='3' width='7' height='5' rx='1.5'/%3E%3Crect x='14' y='12' width='7' height='9' rx='1.5'/%3E%3Crect x='3' y='16' width='7' height='5' rx='1.5'/%3E%3C/svg%3E");
  --aj-icon-orders: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E");
  --aj-icon-downloads: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3Cpath d='M12 15V3'/%3E%3C/svg%3E");
  --aj-icon-address: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
  --aj-icon-account: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
  --aj-icon-payment: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cpath d='M2 10h20'/%3E%3C/svg%3E");
  --aj-icon-logout: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpath d='m16 17 5-5-5-5'/%3E%3Cpath d='M21 12H9'/%3E%3C/svg%3E");
  --aj-icon-shop: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.4 14.5 16 10 4 20'/%3E%3Cpath d='M12 2 2 7l10 5 10-5-10-5z'/%3E%3C/svg%3E");
}
.woocommerce-MyAccount-navigation-link--dashboard { --aj-icon: var(--aj-icon-dashboard); }
.woocommerce-MyAccount-navigation-link--orders { --aj-icon: var(--aj-icon-orders); }
.woocommerce-MyAccount-navigation-link--downloads { --aj-icon: var(--aj-icon-downloads); }
.woocommerce-MyAccount-navigation-link--edit-address { --aj-icon: var(--aj-icon-address); }
.woocommerce-MyAccount-navigation-link--edit-account { --aj-icon: var(--aj-icon-account); }
.woocommerce-MyAccount-navigation-link--payment-methods { --aj-icon: var(--aj-icon-payment); }
.woocommerce-MyAccount-navigation-link--customer-logout { --aj-icon: var(--aj-icon-logout); }

.aj-account-page .woocommerce-MyAccount-content { padding: 28px; min-height: 320px; }
.aj-account-page .woocommerce-MyAccount-content > p:first-child { color: var(--sp-muted); }
.aj-account-page .woocommerce-MyAccount-content h2,
.aj-account-page .woocommerce-MyAccount-content h3,
.aj-account-page .woocommerce-MyAccount-content legend {
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--title, #242424);
  margin: 0 0 16px;
}
.aj-account-page .woocommerce-MyAccount-content fieldset {
  margin: 24px 0;
  padding: 20px;
  border: 1px dashed var(--sp-border);
  border-radius: 14px;
}
.aj-account-page .woocommerce-MyAccount-content fieldset legend { padding: 0 8px; margin: 0; }
.aj-account-page .woocommerce-form-row--first,
.aj-account-page .woocommerce-form-row--last { width: calc(50% - 8px); display: inline-block; vertical-align: top; }
.aj-account-page .woocommerce-form-row--first { margin-inline-end: 12px; }
.aj-account-page .woocommerce-MyAccount-content em { font-size: 0.8rem; color: var(--sp-muted); }

/* Dashboard */
.aj-dash__cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 14px;
  margin-bottom: 28px;
}
.aj-dash__card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 18px;
  border: 1px solid var(--sp-border);
  border-radius: 14px;
  background: #fff;
  color: var(--title, #242424);
  text-decoration: none;
  transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}
.aj-dash__card:hover {
  transform: translateY(-3px);
  border-color: var(--sp-navy);
  box-shadow: 0 12px 24px rgba(20, 32, 70, 0.1);
}
.aj-dash__icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  margin-bottom: 6px;
  background: rgba(20, 32, 70, 0.08);
  position: relative;
}
.aj-dash__icon::before {
  content: "";
  position: absolute;
  inset: 11px;
  background: var(--sp-navy);
  -webkit-mask: var(--aj-icon, var(--aj-icon-dot)) center / contain no-repeat;
  mask: var(--aj-icon, var(--aj-icon-dot)) center / contain no-repeat;
}
.aj-dash__card--orders { --aj-icon: var(--aj-icon-orders); }
.aj-dash__card--edit-address { --aj-icon: var(--aj-icon-address); }
.aj-dash__card--edit-account { --aj-icon: var(--aj-icon-account); }
.aj-dash__card--shop { --aj-icon: var(--aj-icon-shop); }
.aj-dash__card--shop .aj-dash__icon { background: rgba(107, 18, 18, 0.08); }
.aj-dash__card--shop .aj-dash__icon::before { background: var(--accent, #6b1212); }
.aj-dash__title { font-size: 0.98rem; font-weight: 800; }
.aj-dash__desc { font-size: 0.8rem; color: var(--sp-muted); line-height: 1.6; }

.aj-dash__heading { font-size: 1.05rem !important; margin-bottom: 12px !important; }
.aj-dash__order {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  padding: 16px 18px;
  border: 1px solid var(--sp-border);
  border-radius: 14px;
  background: var(--gray-light, #f5f5f5);
}
.aj-dash__order-main { flex: 1; min-width: 140px; display: flex; flex-direction: column; gap: 2px; }
.aj-dash__order-date { font-size: 0.8rem; color: var(--sp-muted); }
.aj-dash__order-total { font-weight: 800; }
.aj-dash__order-link { min-height: 38px !important; padding: 6px 18px !important; font-size: 0.85rem !important; }
.aj-dash__empty {
  padding: 28px;
  text-align: center;
  border: 1px dashed var(--sp-border);
  border-radius: 14px;
  color: var(--sp-muted);
}
.aj-dash__empty p { margin: 0 0 14px; }

.aj-status,
.aj-account-page .woocommerce-orders-table__cell-order-status {
  font-size: 0.8rem;
  font-weight: 700;
}
.aj-status {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 999px;
  background: rgba(20, 32, 70, 0.08);
  color: var(--sp-navy);
}
.aj-status--completed { background: #e6f6ec; color: #17803d; }
.aj-status--processing { background: #e8effd; color: #1d4ed8; }
.aj-status--on-hold,
.aj-status--pending { background: #fff4de; color: #a15c00; }
.aj-status--cancelled,
.aj-status--failed,
.aj-status--refunded { background: #fdeaea; color: var(--accent, #6b1212); }

/* Orders table */
.aj-account-page .woocommerce-orders-table,
.aj-account-page .woocommerce-table--order-details,
.aj-account-page .woocommerce-MyAccount-content table.shop_table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--sp-border);
  border-radius: 14px;
  overflow: hidden;
  font-size: 0.9rem;
}
.aj-account-page .woocommerce-MyAccount-content table th,
.aj-account-page .woocommerce-MyAccount-content table td {
  padding: 14px 16px;
  border: 0;
  border-bottom: 1px solid var(--sp-border);
  text-align: start;
  vertical-align: middle;
}
.aj-account-page .woocommerce-MyAccount-content table thead th {
  background: var(--gray-light, #f5f5f5);
  font-size: 0.8rem;
  color: var(--sp-muted);
  font-weight: 700;
}
.aj-account-page .woocommerce-MyAccount-content table tbody tr:last-child td,
.aj-account-page .woocommerce-MyAccount-content table tbody tr:last-child th { border-bottom: 0; }
.aj-account-page .woocommerce-MyAccount-content table tbody tr:hover { background: #fafafc; }
.aj-account-page .woocommerce-orders-table__cell-order-number a { font-weight: 800; color: var(--sp-navy); text-decoration: none; }
.aj-account-page .woocommerce-orders-table .button {
  min-height: 34px;
  padding: 4px 14px;
  font-size: 0.8rem;
  margin: 2px;
}
.aj-account-page .woocommerce-pagination { display: flex; gap: 8px; margin-top: 16px; }

/* Addresses */
.aj-account-page .woocommerce-Addresses {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
}
.aj-account-page .woocommerce-Addresses::before,
.aj-account-page .woocommerce-Addresses::after { display: none; }
.aj-account-page .woocommerce-Address {
  float: none !important;
  width: auto !important;
  padding: 20px;
  border: 1px solid var(--sp-border);
  border-radius: 14px;
  background: #fff;
}
.aj-account-page .woocommerce-Address-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}
.aj-account-page .woocommerce-Address-title h2,
.aj-account-page .woocommerce-Address-title h3 { margin: 0 !important; font-size: 1rem !important; }
.aj-account-page .woocommerce-Address-title .edit {
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--sp-navy);
  text-decoration: none;
  padding: 4px 12px;
  border-radius: 999px;
  background: rgba(20, 32, 70, 0.08);
}
.aj-account-page .woocommerce-Address address { font-style: normal; line-height: 1.9; color: var(--sp-muted); font-size: 0.9rem; }

/* Login / register */
.aj-account-page #customer_login {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px;
  max-width: 920px;
  margin: 0 auto;
  width: 100%;
}
.aj-account-page #customer_login::before,
.aj-account-page #customer_login::after { display: none; }
.aj-account-page #customer_login .u-column1,
.aj-account-page #customer_login .u-column2,
.aj-account-page .woocommerce > .woocommerce-form-login,
.aj-account-page .woocommerce > .woocommerce-ResetPassword {
  float: none;
  width: auto;
  padding: 32px;
  background: #fff;
  border: 1px solid var(--sp-border);
  border-radius: 20px;
  box-shadow: var(--sp-shadow);
}
.aj-account-page .woocommerce > .woocommerce-form-login,
.aj-account-page .woocommerce > .woocommerce-ResetPassword { max-width: 460px; margin: 0 auto; width: 100%; box-sizing: border-box; }
.aj-account-page #customer_login .u-column2 { background: linear-gradient(180deg, #fff 0%, #f8f9fc 100%); }
.aj-account-page #customer_login h2 {
  font-size: 1.25rem;
  font-weight: 800;
  margin: 0 0 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--sp-border);
  position: relative;
}
.aj-account-page #customer_login h2::after {
  content: "";
  position: absolute;
  bottom: -1px;
  right: 0;
  width: 48px;
  height: 3px;
  border-radius: 3px;
  background: var(--sp-navy);
}
.aj-account-page .woocommerce-form-login,
.aj-account-page .woocommerce-form-register { border: 0; padding: 0; margin: 0; }
.aj-account-page .woocommerce-form-login__rememberme {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  margin-bottom: 14px;
  font-weight: 500 !important;
}
.aj-account-page .woocommerce-form-login__submit,
.aj-account-page .woocommerce-form-register__submit { width: 100%; min-height: 50px !important; }
.aj-account-page .woocommerce-LostPassword { margin: 14px 0 0; text-align: center; }
.aj-account-page .woocommerce-LostPassword a { color: var(--sp-navy); font-size: 0.88rem; font-weight: 600; }
.aj-account-page .woocommerce-privacy-policy-text { font-size: 0.8rem; color: var(--sp-muted); line-height: 1.8; }
.aj-account-page .password-input { position: relative; display: block; }
.aj-account-page .show-password-input {
  position: absolute;
  left: 12px;
  right: auto;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: 0;
  cursor: pointer;
}

/* ---------- Responsive ---------- */
@media (max-width: 960px) {
  .aj-checkout-page .wc-block-components-sidebar-layout { flex-direction: column; }
  .aj-checkout-page .wc-block-components-main,
  .aj-checkout-page .wc-block-components-sidebar { width: 100%; flex-basis: auto; position: static; }
  .aj-account-page .woocommerce { grid-template-columns: 1fr; }
  .aj-account-page .woocommerce-MyAccount-navigation { position: static; padding: 8px; }
  .aj-account-page .woocommerce-MyAccount-navigation ul {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .aj-account-page .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
  .aj-account-page .woocommerce-MyAccount-navigation li { margin: 0; flex: 0 0 auto; }
  .aj-account-page .woocommerce-MyAccount-navigation li a { padding: 10px 14px; white-space: nowrap; font-size: 0.85rem; }
  .aj-account-page .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 0 !important; padding-top: 0; border-top: 0; }
}

@media (max-width: 640px) {
  .aj-store-page { padding: 20px 0 48px; }
  .aj-steps { margin-bottom: 20px; }
  .aj-steps__item { font-size: 0.72rem; }
  .aj-steps__num { width: 32px; height: 32px; }
  .aj-steps__item::before { top: 15px; }
  .aj-checkout-page .wc-block-components-main,
  .aj-checkout-page .wc-block-components-sidebar,
  .aj-checkout-page .woocommerce-cart-form,
  .aj-checkout-page .cart-collaterals .cart_totals,
  .aj-checkout-page form.checkout #customer_details,
  .aj-checkout-page #order_review { padding: 16px; border-radius: 14px; }
  .aj-checkout-page .wc-block-cart-item__image img { width: 76px; height: 100px; }
  .aj-checkout-page .wc-block-cart-item__image { width: 76px; }
  .aj-account-hero { padding: 18px; gap: 12px; flex-wrap: wrap; }
  .aj-account-hero__avatar { flex-basis: 52px; width: 52px; height: 52px; font-size: 1.3rem; }
  .aj-account-hero__title { font-size: 1.1rem; }
  .aj-account-hero__stat { padding: 8px 14px; }
  .aj-account-page .woocommerce-MyAccount-content { padding: 18px; }
  .aj-dash__cards { grid-template-columns: 1fr 1fr; gap: 10px; }
  .aj-dash__card { padding: 14px; }
  .aj-dash__desc { display: none; }
  .aj-account-page .woocommerce-form-row--first,
  .aj-account-page .woocommerce-form-row--last { width: 100%; margin-inline-end: 0; }
  .aj-account-page #customer_login { grid-template-columns: 1fr; }
  .aj-account-page #customer_login .u-column1,
  .aj-account-page #customer_login .u-column2 { padding: 22px; }
  .aj-account-page .woocommerce-orders-table thead { display: none; }
  .aj-account-page .woocommerce-orders-table tr {
    display: block;
    padding: 12px 0;
    border-bottom: 1px solid var(--sp-border);
  }
  .aj-account-page .woocommerce-orders-table td {
    display: flex;
    justify-content: space-between;
    padding: 6px 14px !important;
    border: 0 !important;
  }
  .aj-account-page .woocommerce-orders-table td::before {
    content: attr(data-title);
    color: var(--sp-muted);
    font-size: 0.8rem;
  }
}
