/* ============================================================
   5V Digital v2 — woocommerce.css
   Global WooCommerce overrides
   ============================================================ */

/* ---- Notices ---- */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-info {
  border-radius: var(--radius-md) !important;
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  border-top: none !important;
}

.woocommerce-notices-wrapper .woocommerce-message {
  border-left: 4px solid #22c55e;
  background: #f0fdf4;
  color: #15803d;
}

.woocommerce-notices-wrapper .woocommerce-error {
  border-left: 4px solid #ef4444;
  background: #fef2f2;
  color: #dc2626;
}

.woocommerce-notices-wrapper .woocommerce-info {
  border-left: 4px solid var(--color-primary);
  background: #f0f9ff;
  color: var(--color-primary-dk);
}

/* ---- Product loop wrapper ---- */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1rem !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce ul.products li.product {
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  width: 100% !important;
}

/* ---- Pagination ---- */
.woocommerce nav.woocommerce-pagination ul li {
  border: none !important;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  color: var(--color-body) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-md) !important;
  transition: all var(--transition) !important;
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
  background: #f0f9ff !important;
  border-color: var(--color-primary) !important;
  color: var(--color-primary) !important;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: #fff !important;
}

/* ---- Product tabs ---- */
.woocommerce-tabs ul.tabs li a {
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--color-muted) !important;
}

.woocommerce-tabs ul.tabs li.active a {
  color: var(--color-dark) !important;
}

/* ---- Breadcrumb ---- */
.woocommerce .woocommerce-breadcrumb {
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  color: var(--color-muted) !important;
}

.woocommerce .woocommerce-breadcrumb a {
  color: var(--color-muted) !important;
}

.woocommerce .woocommerce-breadcrumb a:hover {
  color: var(--color-primary) !important;
}

/* ---- Related products ---- */
.related.products > h2,
.up-sells.products > h2 {
  font-family: var(--font-heading) !important;
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  color: var(--color-dark) !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 1.25rem !important;
}

/* ---- My account ---- */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block !important;
  padding: 0.6rem 0.85rem !important;
  border-radius: var(--radius-sm) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--color-body) !important;
  text-decoration: none !important;
  transition: background var(--transition), color var(--transition) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  background: #f0f9ff !important;
  color: var(--color-primary) !important;
}

/* ---- Form fields ---- */
.woocommerce .woocommerce-Input,
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select {
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-md) !important;
  padding: 0.7rem 1rem !important;
  color: var(--color-dark) !important;
  background: var(--color-surface) !important;
  transition: border-color var(--transition) !important;
}

.woocommerce input.input-text:focus,
.woocommerce textarea:focus,
.woocommerce select:focus {
  border-color: var(--color-primary) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(2,132,199,0.1) !important;
}

/* ---- Ratings ---- */
.star-rating span::before,
.woocommerce .star-rating::before {
  color: var(--color-accent) !important;
}

/* ---- Remove default Astra product card overrides ---- */
.woocommerce li.product .woocommerce-loop-product__title {
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

/* ---- Responsive ---- */
@media (max-width: 768px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 480px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: 1fr !important;
  }
}

/* ---- Order summary — force white background (overrides block editor color) ---- */
.wc-block-components-order-summary,
.wc-block-components-order-summary.is-large,
.wp-block-woocommerce-checkout-order-summary-block {
  background: #ffffff !important;
  color: #334155 !important;
}

.wc-block-components-order-summary *,
.wc-block-components-order-summary-item,
.wc-block-components-order-summary-item__description,
.wc-block-components-order-summary-item__individual-prices,
.wc-block-components-totals-item,
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  color: #334155 !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-weight: 700 !important;
  color: #0f172a !important;
}

/* ---- OVERRIDE checkout.css dark sidebar background ---- */
.wc-block-checkout__sidebar .wc-block-components-order-summary,
.wc-block-checkout__sidebar .wc-block-components-order-summary.is-large {
  background: #ffffff !important;
  color: #334155 !important;
}

.wc-block-checkout__sidebar .wc-block-components-order-summary .wc-block-components-order-summary-item,
.wc-block-checkout__sidebar .wc-block-components-order-summary .wc-block-components-totals-item,
.wc-block-checkout__sidebar .wc-block-components-order-summary .wc-block-components-totals-item__label,
.wc-block-checkout__sidebar .wc-block-components-order-summary .wc-block-components-totals-item__value,
.wc-block-checkout__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-checkout__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-checkout__sidebar * {
  color: #334155 !important;
}

.wc-block-checkout__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-checkout__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  color: #0f172a !important;
  font-weight: 700 !important;
}

/* ============================================================
   PRODUCT TABS — proper styling
   ============================================================ */

.woocommerce-tabs {
  margin-top: 3rem;
  clear: both;
}

.woocommerce-tabs ul.tabs.wc-tabs {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 1.5rem !important;
  display: flex !important;
  gap: 0 !important;
  border-bottom: 1px solid var(--color-border, #e2e8f0) !important;
}

.woocommerce-tabs ul.tabs.wc-tabs::before,
.woocommerce-tabs ul.tabs.wc-tabs::after {
  display: none !important;
}

.woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.woocommerce-tabs ul.tabs li::before,
.woocommerce-tabs ul.tabs li::after {
  display: none !important;
}

.woocommerce-tabs ul.tabs li a {
  display: inline-block !important;
  padding: 0.85rem 1.4rem !important;
  font-family: var(--font-body, 'Inter', sans-serif) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--color-muted, #64748b) !important;
  text-decoration: none !important;
  border-bottom: 2px solid transparent !important;
  margin-bottom: -1px !important;
  transition: color 0.2s, border-color 0.2s !important;
}

.woocommerce-tabs ul.tabs li a:hover {
  color: var(--color-dark, #0f172a) !important;
}

.woocommerce-tabs ul.tabs li.active a {
  color: var(--color-primary, #0284c7) !important;
  border-bottom-color: var(--color-primary, #0284c7) !important;
  font-weight: 600 !important;
}

.woocommerce-tabs .panel {
  background: #ffffff !important;
  padding: 1.5rem 0 !important;
  margin: 0 !important;
  border: none !important;
  box-shadow: none !important;
  font-family: var(--font-body, 'Inter', sans-serif) !important;
  color: var(--color-body, #334155) !important;
  line-height: 1.65 !important;
}

.woocommerce-tabs .panel h2 {
  display: none;  /* WC duplicates tab title in panel */
}

/* ============================================================
   PRODUCT ATTRIBUTES TABLE — clean, modern
   ============================================================ */

.woocommerce table.shop_attributes,
.woocommerce-product-attributes {
  border: 1px solid var(--color-border, #e2e8f0) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  font-size: 14px !important;
}

.woocommerce table.shop_attributes tr,
.woocommerce-product-attributes tr {
  background: transparent !important;
}

.woocommerce table.shop_attributes tr:nth-child(even),
.woocommerce-product-attributes tr:nth-child(even) {
  background: var(--color-bg, #f8fafc) !important;
}

.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td,
.woocommerce-product-attributes th,
.woocommerce-product-attributes td {
  border: none !important;
  border-bottom: 1px solid var(--color-border, #e2e8f0) !important;
  padding: 0.85rem 1.1rem !important;
  vertical-align: middle !important;
  font-family: var(--font-body, 'Inter', sans-serif) !important;
}

.woocommerce table.shop_attributes tr:last-child th,
.woocommerce table.shop_attributes tr:last-child td,
.woocommerce-product-attributes tr:last-child th,
.woocommerce-product-attributes tr:last-child td {
  border-bottom: none !important;
}

.woocommerce table.shop_attributes th,
.woocommerce-product-attributes th {
  font-weight: 600 !important;
  color: var(--color-dark, #0f172a) !important;
  width: 32% !important;
  background: transparent !important;
}

.woocommerce table.shop_attributes td,
.woocommerce-product-attributes td {
  color: var(--color-body, #334155) !important;
}

.woocommerce table.shop_attributes td p,
.woocommerce-product-attributes td p {
  margin: 0 !important;
  font-style: normal !important;
  padding: 0 !important;
}

/* ============================================================
   RELATED PRODUCTS — proper section styling
   ============================================================ */

.woocommerce section.related,
.woocommerce-page section.related,
.related.products,
.up-sells.products {
  margin-top: 4rem !important;
  padding-top: 2.5rem !important;
  border-top: 1px solid var(--color-border, #e2e8f0) !important;
  clear: both;
}

.woocommerce section.related > h2,
.woocommerce-page section.related > h2,
.related.products > h2,
.up-sells.products > h2 {
  font-family: var(--font-heading, 'Inter', sans-serif) !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  color: var(--color-dark, #0f172a) !important;
  margin: 0 0 1.5rem !important;
}

/* Force 4-column grid on related products */
.woocommerce section.related ul.products,
.woocommerce-page section.related ul.products,
.related.products ul.products,
.up-sells.products ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 1rem !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

@media (max-width: 1024px) {
  .related.products ul.products,
  .up-sells.products ul.products {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

@media (max-width: 768px) {
  .related.products ul.products,
  .up-sells.products ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ============================================================
   MY ACCOUNT — v2 card layout
   ============================================================ */

/* Page header */
.woocommerce-account .entry-title,
.woocommerce-account h1.page-title,
body.woocommerce-account .ast-archive-title,
body.woocommerce-account .entry-header h1 {
  font-family: var(--font-heading, 'Inter', sans-serif) !important;
  font-size: 1.75rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  color: var(--color-dark, #0f172a) !important;
  margin: 0 0 1.5rem !important;
}

/* Wrapper — the 240px sidebar + content grid only makes sense once logged
   in (nav sidebar + .woocommerce-MyAccount-content are both present). When
   logged out, .woocommerce only wraps the notices div + the login/register
   .u-columns box — the same grid rule was squeezing that box into the
   240px/1fr "content column" track instead of using the full width. */
body.woocommerce-account.logged-in .woocommerce {
  display: grid !important;
  grid-template-columns: 240px 1fr !important;
  gap: 2rem !important;
  align-items: start !important;
}

@media (max-width: 768px) {
  body.woocommerce-account.logged-in .woocommerce {
    grid-template-columns: 1fr !important;
  }
}

/* Logged-out state (login/register): plain full-width block, no sidebar. */
body.woocommerce-account:not(.logged-in) .woocommerce {
  display: block !important;
  width: 100% !important;
}

/* Login/register side-by-side columns — CSS Grid on this specific element
   was mis-placing the two boxes diagonally (login in row1/col2, register in
   row2/col1) for reasons that didn't trace back to any matching stylesheet
   rule; flexbox lays them out correctly and reliably. */
body.woocommerce-account:not(.logged-in) .u-columns.col2-set {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  width: 100% !important;
}
body.woocommerce-account:not(.logged-in) .u-columns.col2-set > .u-column1,
body.woocommerce-account:not(.logged-in) .u-columns.col2-set > .u-column2 {
  flex: 1 1 320px !important;
  width: auto !important;
}

/* Sidebar nav as card */
.woocommerce-account .woocommerce-MyAccount-navigation {
  background: #ffffff !important;
  border: 1px solid var(--color-border, #e2e8f0) !important;
  border-radius: 14px !important;
  padding: 0.75rem !important;
  box-shadow: 0 1px 3px rgba(15,23,42,0.04) !important;
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.15rem !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  margin: 0 !important;
  border: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li::before,
.woocommerce-account .woocommerce-MyAccount-navigation ul li::after {
  display: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block !important;
  padding: 0.6rem 0.85rem !important;
  border-radius: 8px !important;
  font-family: var(--font-body, 'Inter', sans-serif) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--color-body, #334155) !important;
  text-decoration: none !important;
  transition: background 0.18s, color 0.18s !important;
  border: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  background: #f1f5f9 !important;
  color: var(--color-dark, #0f172a) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active > a {
  background: #f0f9ff !important;
  color: var(--color-primary, #0284c7) !important;
  font-weight: 600 !important;
}

/* Content area as card */
.woocommerce-account .woocommerce-MyAccount-content {
  background: #ffffff !important;
  border: 1px solid var(--color-border, #e2e8f0) !important;
  border-radius: 14px !important;
  padding: 1.75rem 2rem !important;
  box-shadow: 0 1px 3px rgba(15,23,42,0.04) !important;
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
  font-family: var(--font-body, 'Inter', sans-serif) !important;
  color: var(--color-body, #334155) !important;
  line-height: 1.65 !important;
}

.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
  font-family: var(--font-heading, 'Inter', sans-serif) !important;
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  color: var(--color-dark, #0f172a) !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 1rem !important;
}

.woocommerce-account .woocommerce-MyAccount-content p {
  margin: 0 0 1rem !important;
  line-height: 1.65 !important;
}

.woocommerce-account .woocommerce-MyAccount-content a {
  color: var(--color-primary, #0284c7) !important;
}

/* Login form (logged-out state) */
.woocommerce-account .u-columns,
.woocommerce-account .col2-set {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 2rem !important;
  width: 100% !important;
  margin: 0 !important;
}

@media (max-width: 768px) {
  .woocommerce-account .u-columns,
  .woocommerce-account .col2-set {
    grid-template-columns: 1fr !important;
  }
}

.woocommerce-account .u-column1,
.woocommerce-account .u-column2,
.woocommerce-account .col-1,
.woocommerce-account .col-2 {
  background: #ffffff !important;
  border: 1px solid var(--color-border, #e2e8f0) !important;
  border-radius: 14px !important;
  padding: 1.75rem 2rem !important;
  box-shadow: 0 1px 3px rgba(15,23,42,0.04) !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  margin: 0 !important;
}

/* Orders / addresses tables */
.woocommerce-account .woocommerce-orders-table,
.woocommerce-account table.shop_table {
  border: 1px solid var(--color-border, #e2e8f0) !important;
  border-radius: 12px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden !important;
  width: 100% !important;
  margin: 0 0 1.5rem !important;
}

.woocommerce-account .woocommerce-orders-table th,
.woocommerce-account table.shop_table th {
  background: var(--color-bg, #f8fafc) !important;
  border: none !important;
  border-bottom: 1px solid var(--color-border, #e2e8f0) !important;
  padding: 0.85rem 1rem !important;
  font-family: var(--font-body, 'Inter', sans-serif) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: var(--color-muted, #64748b) !important;
  text-align: left !important;
}

.woocommerce-account .woocommerce-orders-table td,
.woocommerce-account table.shop_table td {
  border: none !important;
  border-bottom: 1px solid var(--color-border-lt, #f1f5f9) !important;
  padding: 0.85rem 1rem !important;
  font-family: var(--font-body, 'Inter', sans-serif) !important;
  font-size: 14px !important;
  color: var(--color-body, #334155) !important;
  background: #ffffff !important;
}

.woocommerce-account .woocommerce-orders-table tr:last-child td,
.woocommerce-account table.shop_table tr:last-child td {
  border-bottom: none !important;
}

/* ---- FORCE single column on mobile — beats Astra inline CSS ---- */
@media (max-width: 768px) {
  body .ast-container .woocommerce ul.products:not(.elementor-grid),
  body .woocommerce-page ul.products:not(.elementor-grid),
  body.woocommerce.tablet-columns-3 ul.products li.product,
  body ul.products,
  ul.products {
    grid-template-columns: 1fr !important;
    display: grid !important;
  }

  body .ast-container .woocommerce ul.products:not(.elementor-grid) li.product,
  body .woocommerce-page ul.products:not(.elementor-grid) li.product,
  body ul.products li.product {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    margin: 0 !important;
  }
}

/* ============================================================
   MY ACCOUNT — proper sidebar layout
   ============================================================ */

.woocommerce-account .woocommerce {
  display: grid !important;
  grid-template-columns: 240px 1fr !important;
  gap: 2rem !important;
  align-items: start;
  max-width: 1220px;
  margin: 2rem auto !important;
  padding: 0 1.5rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  padding: 0.5rem;
  list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation li::before,
.woocommerce-account .woocommerce-MyAccount-navigation li::after {
  display: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block;
  padding: 0.7rem 0.95rem;
  color: var(--color-body);
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  border-radius: var(--radius-md);
  transition: background 0.18s, color 0.18s;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
  background: #f8fafc;
  color: var(--color-primary);
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active > a,
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  background: #f0f9ff;
  color: var(--color-primary);
  font-weight: 600;
}

.woocommerce-account .woocommerce-MyAccount-content {
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  padding: 1.75rem 2rem;
  min-width: 0; /* prevents overflow */
}

.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
  font-family: var(--font-heading);
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--color-dark);
  margin-top: 0;
}

.woocommerce-account .woocommerce-MyAccount-content p {
  color: var(--color-body);
  line-height: 1.65;
}

.woocommerce-account .woocommerce-MyAccount-content a {
  color: var(--color-primary);
  text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-content a:hover {
  text-decoration: underline;
}

/* Forms inside account (edit-account, addresses) */
.woocommerce-account .woocommerce-MyAccount-content .form-row label {
  font-size: 13px;
  font-weight: 500;
  color: var(--color-body);
  margin-bottom: 0.4rem;
  display: block;
}

.woocommerce-account .woocommerce-MyAccount-content input[type="text"],
.woocommerce-account .woocommerce-MyAccount-content input[type="email"],
.woocommerce-account .woocommerce-MyAccount-content input[type="password"],
.woocommerce-account .woocommerce-MyAccount-content input[type="tel"],
.woocommerce-account .woocommerce-MyAccount-content select {
  width: 100%;
  padding: 0.7rem 0.95rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  font-family: var(--font-body);
  font-size: 14px;
  background: #ffffff;
}

.woocommerce-account .woocommerce-MyAccount-content input:focus,
.woocommerce-account .woocommerce-MyAccount-content select:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(2,132,199,0.12);
}

.woocommerce-account .woocommerce-MyAccount-content button[type="submit"],
.woocommerce-account .woocommerce-MyAccount-content .button {
  background: var(--color-primary) !important;
  color: #ffffff !important;
  border: none !important;
  padding: 0.85rem 1.5rem !important;
  border-radius: var(--radius-md) !important;
  font-family: var(--font-body) !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  cursor: pointer;
  transition: background 0.18s;
}

.woocommerce-account .woocommerce-MyAccount-content button[type="submit"]:hover,
.woocommerce-account .woocommerce-MyAccount-content .button:hover {
  background: var(--color-primary-dk) !important;
}

/* Mobile stack */
@media (max-width: 768px) {
  .woocommerce-account .woocommerce {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
    padding: 0 1rem;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation {
    padding: 0.4rem;
  }

  .woocommerce-account .woocommerce-MyAccount-content {
    padding: 1.25rem;
  }
}

/* ============================================================
   MY ACCOUNT — grid-column fix
   Both .logged-in and .woocommerce-account are on <body>
   ============================================================ */

body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation {
  grid-column: 1 !important;
  grid-row: 1 !important;
  order: 1 !important;
}

body.logged-in.woocommerce-account .woocommerce-MyAccount-content {
  grid-column: 2 !important;
  grid-row: 1 !important;
  order: 2 !important;
}

/* Login form (logged-out) — no grid, centred */
body.woocommerce-account:not(.logged-in) .woocommerce {
  display: block !important;
  max-width: 560px !important;
  margin: 0 auto !important;
}

/* Hide duplicate h2 above login form */
body.woocommerce-account .woocommerce > h2 {
  display: none !important;
}

@media (max-width: 768px) {
  body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation,
  body.logged-in.woocommerce-account .woocommerce-MyAccount-content {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
}

/* ============================================================
   MY ACCOUNT — Addresses: two columns side by side
   ============================================================ */

body.woocommerce-account .woocommerce-Addresses.u-columns {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 2rem !important;
  align-items: start !important;
}

body.woocommerce-account .woocommerce-Addresses .u-column1,
body.woocommerce-account .woocommerce-Addresses .col-1 {
  grid-column: 1 !important;
  grid-row: 1 !important;
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
}

body.woocommerce-account .woocommerce-Addresses .u-column2,
body.woocommerce-account .woocommerce-Addresses .col-2 {
  grid-column: 2 !important;
  grid-row: 1 !important;
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
}

@media (max-width: 768px) {
  body.woocommerce-account .woocommerce-Addresses.u-columns {
    grid-template-columns: 1fr !important;
  }
  body.woocommerce-account .woocommerce-Addresses .u-column1,
  body.woocommerce-account .woocommerce-Addresses .u-column2,
  body.woocommerce-account .woocommerce-Addresses .col-1,
  body.woocommerce-account .woocommerce-Addresses .col-2 {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
}
