/* ═══════════════════════════════════════════════════════════
   Pixel Perfect Themes — WooCommerce Style Overrides
   Uses theme CSS variables; preserves native WooCommerce markup.
   ═══════════════════════════════════════════════════════════ */

.woocommerce {
  font-family: var(--gt-font, 'Inter', system-ui, sans-serif);
  color: var(--gt-text, #334155);
}

/* ─── Notices ─────────────────────────────────────────── */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info {
  background: color-mix(in srgb, var(--gt-primary) 8%, transparent);
  border: 1px solid color-mix(in srgb, var(--gt-primary) 22%, transparent);
  border-radius: 12px;
  padding: 14px 18px;
  margin-bottom: 1.5rem;
  color: var(--gt-text, #334155);
  font-size: 0.875rem;
  list-style: none;
}
.woocommerce .woocommerce-error {
  background: rgba(239, 68, 68, 0.08);
  border: 1px solid rgba(239, 68, 68, 0.25);
  border-radius: 12px;
  padding: 14px 18px;
  margin-bottom: 1.5rem;
  color: #b91c1c;
  list-style: none;
}
html.theme-dark .woocommerce .woocommerce-error { color: #fca5a5; }
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before { color: var(--gt-primary, #5233eb); }

/* ─── Buttons ─────────────────────────────────────────── */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .single_add_to_cart_button,
.woocommerce .checkout-button,
.woocommerce #place_order {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.5rem;
  border-radius: 12px;
  font-weight: var(--gt-btn-font-weight, 600);
  font-size: 0.875rem;
  background: linear-gradient(135deg, var(--gt-primary), var(--gt-secondary)) !important;
  color: #fff !important;
  border: none !important;
  transition: opacity 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  text-decoration: none;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .single_add_to_cart_button:hover {
  opacity: 0.92;
  transform: translateY(-1px);
  box-shadow: 0 8px 24px color-mix(in srgb, var(--gt-primary) 25%, transparent);
}
.woocommerce a.button.alt,
.woocommerce .checkout-button,
.woocommerce #place_order { background: var(--gt-btn-primary-bg, linear-gradient(135deg, var(--gt-primary), var(--gt-secondary))) !important; }
.woocommerce a.button.secondary,
.woocommerce .woocommerce-MyAccount-content a.button,
.woocommerce .return-to-shop .button {
  background: var(--gt-surface, #fff) !important;
  color: var(--gt-primary, #5233eb) !important;
  border: 1px solid var(--gt-border, #cbd5e1) !important;
}

/* ─── Shop / Archive ──────────────────────────────────── */
.woocommerce-products-header { margin-bottom: 2rem; }
.woocommerce-products-header__title {
  font-family: var(--gt-font-display, var(--gt-font, 'Outfit', system-ui, sans-serif));
  font-size: clamp(1.5rem, 4vw, 2rem);
  font-weight: 800;
  color: var(--gt-text-heading, #0f172a);
  letter-spacing: -0.02em;
}
.woocommerce-result-count { font-size: 0.875rem; color: var(--gt-text-muted, #64748b); }
.woocommerce-ordering select {
  padding: 0.625rem 2rem 0.625rem 0.875rem;
  border-radius: 10px;
  border: 1px solid var(--gt-border, #cbd5e1);
  font-size: 0.875rem;
  background: var(--gt-input-bg, #fff);
  color: var(--gt-text, #334155);
}

.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 1024px) { .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); gap: 1.25rem; } }
@media (max-width: 540px)  { .woocommerce ul.products { grid-template-columns: 1fr; } }

.woocommerce ul.products li.product {
  margin: 0 !important;
  width: 100% !important;
  float: none !important;
  position: relative;
  background: var(--gt-surface, #fff);
  border: 1px solid var(--gt-border, #cbd5e1);
  border-radius: 16px;
  overflow: hidden;
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
  display: flex;
  flex-direction: column;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-4px);
  box-shadow: var(--gt-shadow-md);
  border-color: #a9a4ff;
}
.woocommerce ul.products li.product .woocommerce-loop-product__link {
  display: block;
  text-decoration: none;
  flex: 1;
}
.woocommerce ul.products li.product img {
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
  margin: 0 !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--gt-font-display, var(--gt-font, 'Outfit', system-ui, sans-serif));
  font-size: 1rem;
  font-weight: 700;
  color: var(--gt-text-heading, #0f172a);
  padding: 1rem 1.25rem 0.25rem;
}
.woocommerce ul.products li.product .price {
  padding: 0 1.25rem;
  font-size: 1.125rem;
  font-weight: 800;
  color: var(--gt-primary, #5233eb);
}
.woocommerce ul.products li.product .price del { color: var(--gt-text-faint, #94a3b8); font-weight: 500; font-size: 0.875rem; }
.woocommerce ul.products li.product.gt-product-card .woocommerce-loop-product__title,
.woocommerce ul.products li.product.gt-product-card .price {
  padding: 0;
}
.woocommerce ul.products li.product.gt-product-card .price,
.woocommerce ul.products li.product.gt-product-card .price a,
.woocommerce ul.products li.product.gt-product-card .price ins,
.woocommerce ul.products li.product.gt-product-card .price del {
  text-decoration: none;
}
.woocommerce ul.products li.product.gt-product-card .price del .amount {
  text-decoration: line-through;
}
.woocommerce ul.products li.product.gt-product-card .price ins {
  background: none;
}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button {
  margin: 0.75rem 1.25rem 1.25rem !important;
  width: calc(100% - 2.5rem);
}
.woocommerce ul.products li.product.gt-cross-sell-card .button,
.woocommerce ul.products li.product.gt-cross-sell-card .add_to_cart_button {
  margin: 0 !important;
  width: auto !important;
}
/* Cross-sell thumb: square media box, no 16/10 grid-card aspect. */
.woocommerce ul.products li.product.gt-cross-sell-card img {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
  border-radius: 0;
}
.woocommerce ul.products li.product.gt-product-card .button,
.woocommerce ul.products li.product.gt-product-card .add_to_cart_button {
  margin: 0 !important;
  width: 100%;
}

.woocommerce span.onsale {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 2;
  background: var(--gt-btn-primary-bg, linear-gradient(135deg, var(--gt-primary), var(--gt-secondary)));
  color: #fff;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  min-height: auto;
  line-height: 1.4;
}

/* Shop sidebar widgets — scope to sidebar only (not footer widgets on WC pages) */
.woocommerce .gt-sidebar .widget {
  background: var(--gt-surface, #fff);
  border: 1px solid var(--gt-border, #cbd5e1);
  border-radius: 16px;
  padding: 1.25rem;
  margin-bottom: 1.5rem;
}
.woocommerce .gt-sidebar .widget .widget-title {
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--gt-text-muted, #64748b);
  margin-bottom: 1rem;
}
.woocommerce .gt-sidebar .widget ul.product-categories {
  list-style: none;
  margin: 0;
  padding: 0;
}
.woocommerce .gt-sidebar .widget ul.product-categories li { margin-bottom: 0.35rem; }
.woocommerce .gt-sidebar .widget ul.product-categories a {
  font-size: 0.875rem;
  color: var(--gt-text, #475569);
  text-decoration: none;
  font-weight: 500;
}
.woocommerce .gt-sidebar .widget ul.product-categories li.current-cat a,
.woocommerce .gt-sidebar .widget ul.product-categories a:hover {
  color: var(--gt-primary, #5233eb);
  font-weight: 600;
}

/* ─── Single Product ──────────────────────────────────── */
.woocommerce div.product {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
.woocommerce div.product .gt-product-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: start;
}
@media (max-width: 900px) {
  .woocommerce div.product .gt-product-hero { grid-template-columns: 1fr; }
}

.woocommerce div.product .woocommerce-product-gallery {
  position: relative;
  overflow: visible;
  border: none;
  border-radius: 0;
  background: transparent;
}
.woocommerce div.product .woocommerce-product-gallery .flex-viewport {
  overflow: hidden !important;
  border: 1px solid var(--gt-border, #cbd5e1);
  border-radius: 16px;
  background: var(--gt-surface, #fff);
  margin-bottom: 0;
}
.woocommerce div.product .woocommerce-product-gallery__wrapper {
  margin: 0;
  padding: 0;
  transition: transform 0.45s ease;
}
/* Before FlexSlider init — avoid stacked full-width slides */
.woocommerce div.product .woocommerce-product-gallery:not(.flexslider) .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:nth-child(n+2) {
  display: none;
}
/* FlexSlider requires floated horizontal slides (WC base CSS is disabled) */
.woocommerce div.product .woocommerce-product-gallery.flexslider .flex-viewport .woocommerce-product-gallery__image {
  float: left !important;
  width: 100%;
  display: block !important;
  margin: 0 !important;
}
.woocommerce div.product .woocommerce-product-gallery__image:only-child,
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child:last-child {
  width: 100%;
  display: block;
  margin: 0;
}
.woocommerce div.product .woocommerce-product-gallery__image a {
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  outline: none;
  line-height: 0;
}
.woocommerce div.product .woocommerce-product-gallery__image,
.woocommerce div.product .woocommerce-product-gallery__wrapper {
  border-radius: 0;
  overflow: visible;
}
.woocommerce div.product .woocommerce-product-gallery__image img,
.woocommerce div.product .woocommerce-product-gallery__wrapper img:not(.zoomImg),
.woocommerce div.product .woocommerce-product-gallery .flex-viewport img:not(.zoomImg) {
  width: 100% !important;
  height: auto !important;
  max-width: 100%;
  display: block;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center center;
  border-radius: 16px;
}
.woocommerce div.product .zoomImg,
.woocommerce div.product .woocommerce-product-gallery__wrapper .zoomImg {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.woocommerce div.product .woocommerce-product-gallery__trigger {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 3;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid var(--gt-border, #e2e8f0) !important;
  color: var(--gt-text-heading, #0f172a) !important;
  text-indent: -9999px;
  overflow: hidden;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
}
.woocommerce div.product .woocommerce-product-gallery__trigger::before {
  text-indent: 0;
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  line-height: 1;
}
.woocommerce div.product .flex-control-thumbs,
.woocommerce div.product ol.flex-control-thumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  list-style: none;
  margin: 1rem 0 0;
  padding: 0;
  position: relative;
  z-index: 2;
}
.woocommerce div.product .flex-control-thumbs li,
.woocommerce div.product ol.flex-control-thumbs li {
  margin: 0 !important;
  width: auto !important;
  float: none !important;
}
.woocommerce div.product .flex-control-thumbs li img,
.woocommerce div.product ol.flex-control-thumbs li img {
  width: 5rem;
  height: 3.5rem;
  object-fit: cover;
  border-radius: 10px;
  border: 1px solid var(--gt-border, #e2e8f0);
  opacity: 0.88;
  transition: opacity 0.2s ease, border-color 0.2s ease;
  cursor: pointer;
}
.woocommerce div.product .flex-control-thumbs li img.flex-active,
.woocommerce div.product ol.flex-control-thumbs li img:hover {
  opacity: 1;
  border-color: color-mix(in srgb, var(--gt-primary) 35%, var(--gt-border, #e2e8f0));
}

/* PhotoSwipe — keep closed UI off-screen until opened */
.pswp {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 99999;
}
.pswp.pswp--open {
  display: block;
}
.pswp__img--placeholder,
.pswp__img--placeholder--blank {
  opacity: 0 !important;
}

.woocommerce div.product .summary.entry-summary { padding: 0; min-width: 0; }
.woocommerce div.product .summary .onsale {
  position: static;
  display: inline-block;
  margin: 0 0 0.75rem;
  min-height: auto;
  line-height: 1.4;
}
.woocommerce div.product .product_title {
  font-family: var(--gt-font-display, var(--gt-font, 'Outfit', system-ui, sans-serif));
  font-size: clamp(1.5rem, 4vw, 2rem);
  font-weight: 800;
  color: var(--gt-text-heading, #0f172a);
  margin-bottom: 0.75rem;
}
.woocommerce div.product p.price {
  font-size: clamp(1.35rem, 3vw, 1.75rem);
  font-weight: 800;
  color: var(--gt-primary, #5233eb);
  margin-bottom: 1rem;
}
.woocommerce div.product p.price del {
  color: var(--gt-text-faint, #94a3b8);
  font-weight: 500;
  font-size: 0.72em;
  opacity: 1;
}
.woocommerce div.product p.price del .amount {
  color: inherit;
  font-weight: inherit;
}
.woocommerce div.product p.price ins {
  text-decoration: none;
  background: none;
  font-weight: 800;
  color: var(--gt-primary, #5233eb);
}
.woocommerce div.product .woocommerce-product-rating {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
  color: var(--gt-text-muted, #64748b);
  font-size: 0.875rem;
}
.woocommerce div.product .woocommerce-product-rating .star-rating {
  margin: 0;
}
.woocommerce div.product .woocommerce-review-link {
  color: var(--gt-text-muted, #64748b);
  text-decoration: none;
}
.woocommerce div.product .woocommerce-review-link:hover {
  color: var(--gt-text-heading, #0f172a);
}
.woocommerce div.product .woocommerce-product-details__short-description {
  color: var(--gt-text-muted, #64748b);
  line-height: 1.75;
  margin-bottom: 1.5rem;
}
.woocommerce div.product form.cart {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  margin-bottom: 1.5rem;
}
.woocommerce div.product form.cart .quantity input.qty {
  width: 4.5rem;
  padding: 0.625rem;
  border-radius: 10px;
  border: 1px solid var(--gt-border, #cbd5e1);
  text-align: center;
  font-weight: 600;
  background: var(--gt-input-bg, #fff);
  color: var(--gt-text-heading, #0f172a);
}
.woocommerce div.product .product_meta {
  font-size: 0.8125rem;
  color: var(--gt-text-muted, #64748b);
  padding-top: 1.25rem;
  border-top: 1px solid var(--gt-border-light, #e2e8f0);
}
.woocommerce div.product .product_meta > span { display: block; margin-bottom: 0.35rem; }
.woocommerce div.product .product_meta a { color: var(--gt-primary, #5233eb); font-weight: 600; }

/* Tabs */
.woocommerce div.product .woocommerce-tabs {
  margin-top: 0;
  width: 100%;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  list-style: none;
  margin: 0 0 1.5rem;
  padding: 0;
  border-bottom: 1px solid var(--gt-border, #cbd5e1);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  margin: 0;
  padding: 0;
  background: none !important;
  border: none !important;
  flex-shrink: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  display: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 0.75rem 1rem;
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--gt-text-muted, #64748b);
  border-bottom: 2px solid transparent;
  text-decoration: none;
  white-space: nowrap;
}
@media (min-width: 640px) {
  .woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 0.75rem 1.25rem; }
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--gt-primary, #5233eb);
  border-bottom-color: var(--gt-primary, #5233eb);
}
.woocommerce div.product .woocommerce-Tabs-panel {
  padding: 1.25rem;
  background: #fff;
  border-radius: 16px;
  border: 1px solid var(--gt-border, #cbd5e1);
  color: var(--gt-text, #475569);
  line-height: 1.75;
}
.woocommerce div.product .woocommerce-Tabs-panel ul {
  list-style: disc;
  padding-left: 1.25rem;
  margin: 1rem 0 0;
}
.woocommerce div.product .woocommerce-Tabs-panel ul li {
  margin-bottom: 0.35rem;
}
.woocommerce div.product .woocommerce-Tabs-panel table.shop_attributes {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
}
.woocommerce div.product .woocommerce-Tabs-panel table.shop_attributes th,
.woocommerce div.product .woocommerce-Tabs-panel table.shop_attributes td {
  border: none;
  border-bottom: 1px solid var(--gt-border-light, #e2e8f0);
  padding: 0.75rem 0;
  font-size: 0.9375rem;
  vertical-align: top;
  background: transparent;
}
.woocommerce div.product .woocommerce-Tabs-panel table.shop_attributes th {
  font-weight: 600;
  color: var(--gt-text-heading, #0f172a);
  width: 40%;
  padding-right: 1rem;
}
.woocommerce div.product .woocommerce-Tabs-panel table.shop_attributes tr:last-child th,
.woocommerce div.product .woocommerce-Tabs-panel table.shop_attributes tr:last-child td {
  border-bottom: none;
}
.woocommerce div.product .woocommerce-Tabs-panel > h2:first-child {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
@media (min-width: 640px) {
  .woocommerce div.product .woocommerce-Tabs-panel { padding: 1.5rem; }
}

/* Related / up-sells — simple cards (product.html mockup) */
.woocommerce .related.products,
.woocommerce .up-sells {
  margin-top: 0;
  width: 100%;
}
.woocommerce .related.products > h2,
.woocommerce .up-sells > h2 {
  font-family: var(--gt-font-display, var(--gt-font, 'Outfit', system-ui, sans-serif));
  font-size: 1.5rem;
  font-weight: 800;
  margin-bottom: 1.5rem;
  color: var(--gt-text-heading, #0f172a);
}
.woocommerce .related.products ul.products li.gt-related-product-card,
.woocommerce .up-sells ul.products li.gt-related-product-card {
  display: flex;
  flex-direction: column;
}
.woocommerce .related.products li.gt-related-product-card .woocommerce-loop-product__link,
.woocommerce .up-sells li.gt-related-product-card .woocommerce-loop-product__link {
  display: block;
  flex: 1;
  text-decoration: none;
  color: inherit;
}
.woocommerce .related.products li.gt-related-product-card img,
.woocommerce .up-sells li.gt-related-product-card img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  margin: 0 !important;
}
.woocommerce .related.products li.gt-related-product-card .woocommerce-loop-product__title,
.woocommerce .up-sells li.gt-related-product-card .woocommerce-loop-product__title {
  font-family: var(--gt-font-display, var(--gt-font, 'Outfit', system-ui, sans-serif));
  font-size: 1rem;
  font-weight: 700;
  color: var(--gt-text-heading, #0f172a);
  padding: 1rem 1.25rem 0.25rem;
  margin: 0;
}
.woocommerce .related.products li.gt-related-product-card .price,
.woocommerce .up-sells li.gt-related-product-card .price {
  display: block;
  padding: 0 1.25rem;
  font-size: 1.125rem;
  font-weight: 800;
  color: var(--gt-primary, #5233eb);
}
.woocommerce .related.products li.gt-related-product-card .price del,
.woocommerce .up-sells li.gt-related-product-card .price del {
  color: var(--gt-text-faint, #94a3b8);
  font-weight: 500;
  font-size: 0.875rem;
}
.woocommerce .related.products li.gt-related-product-card .price ins,
.woocommerce .up-sells li.gt-related-product-card .price ins {
  text-decoration: none;
  background: none;
}
.woocommerce .related.products li.gt-related-product-card .button,
.woocommerce .related.products li.gt-related-product-card .add_to_cart_button,
.woocommerce .up-sells li.gt-related-product-card .button,
.woocommerce .up-sells li.gt-related-product-card .add_to_cart_button {
  margin: 0.75rem 1.25rem 1.25rem !important;
  width: calc(100% - 2.5rem);
  border-radius: 12px;
}

/* ─── Cart ────────────────────────────────────────────── */
body.woocommerce-cart .gt-woo-content.woocommerce,
body.woocommerce-cart .woocommerce {
  max-width: none;
}

body.woocommerce-cart .gt-woo-content.woocommerce:not(:has(.cart-empty)),
body.woocommerce-cart .woocommerce:not(:has(.cart-empty)) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 400px);
  grid-template-areas:
    "notices notices"
    "cart totals";
  gap: clamp(1.5rem, 3vw, 2.5rem);
  align-items: start;
}

body.woocommerce-cart .woocommerce-notices-wrapper {
  grid-area: notices;
}

body.woocommerce-cart .woocommerce-notices-wrapper:empty {
  display: none;
}

body.woocommerce-cart .woocommerce-cart-form {
  grid-area: cart;
  position: relative;
  min-width: 0;
}

body.woocommerce-cart .cart-collaterals {
  grid-area: totals;
  margin-top: 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

body.woocommerce-cart .cart-collaterals .cart_totals {
  order: 2;
}

body.woocommerce-cart .cart-collaterals .cross-sells {
  order: 1;
  margin-top: 0;
  padding-top: 0;
  border-top: none;
  width: 100%;
}

body.woocommerce-cart .cart-collaterals .cross-sells > h2 {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

body.woocommerce-cart .cross-sells ul.products {
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
}

.woocommerce table.cart .product-remove a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 10px;
  color: var(--gt-text-muted, #64748b);
  font-size: 1.35rem;
  line-height: 1;
  text-decoration: none;
  transition: color 0.2s, background 0.2s, transform 0.2s;
}
.woocommerce table.cart .product-remove a:hover {
  color: #ef4444;
  background: rgba(239, 68, 68, 0.1);
  transform: scale(1.05);
}

.woocommerce table.cart,
.woocommerce-cart .woocommerce table.shop_table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--gt-border-light, #e2e8f0);
  border-radius: 20px;
  overflow: hidden;
  background: var(--gt-surface, #fff);
  box-shadow: 0 1px 2px rgb(15 23 42 / 0.04);
}

.woocommerce table.cart th,
.woocommerce table.cart td,
.woocommerce-cart .woocommerce table.shop_table th,
.woocommerce-cart .woocommerce table.shop_table td {
  padding: 1.125rem 1.25rem;
  border: none;
  border-bottom: 1px solid var(--gt-border-light, #e2e8f0);
  text-align: left;
  font-size: 0.9375rem;
  vertical-align: middle;
}

.woocommerce table.cart tbody tr:last-child td,
.woocommerce-cart .woocommerce table.shop_table tbody tr:last-child td {
  border-bottom: none;
}

.woocommerce table.cart thead th,
.woocommerce-cart .woocommerce table.shop_table thead th {
  background: var(--gt-bg-muted, #f8fafc);
  font-weight: 700;
  color: var(--gt-text-muted, #64748b);
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding-block: 0.875rem;
}

.woocommerce table.cart .product-thumbnail {
  width: 96px;
}
.woocommerce table.cart .product-thumbnail img {
  width: 80px;
  height: auto;
  border-radius: 12px;
  border: 1px solid var(--gt-border-light, #e2e8f0);
  display: block;
}
.woocommerce table.cart .product-name a {
  color: var(--gt-text-heading, #0f172a);
  font-weight: 700;
  font-size: 1rem;
  text-decoration: none;
  transition: color 0.2s;
}
.woocommerce table.cart .product-name a:hover {
  color: var(--gt-primary, #5233eb);
}
.woocommerce table.cart .product-price,
.woocommerce table.cart .product-subtotal {
  font-weight: 700;
  color: var(--gt-primary, #5233eb);
  white-space: nowrap;
}
.woocommerce table.cart .product-price del,
.woocommerce table.cart .product-subtotal del {
  color: var(--gt-text-muted, #94a3b8);
  font-weight: 600;
  font-size: 0.875rem;
}
.woocommerce table.cart .product-price ins,
.woocommerce table.cart .product-subtotal ins {
  text-decoration: none;
  color: var(--gt-primary, #5233eb);
  font-weight: 700;
  background: none;
}
.woocommerce table.cart .product-price .amount,
.woocommerce table.cart .product-subtotal .amount {
  font-weight: inherit;
}
.woocommerce table.cart .quantity .qty {
  width: 4.25rem;
  padding: 0.625rem 0.5rem;
  border-radius: 10px;
  border: 1px solid var(--gt-border, #cbd5e1);
  text-align: center;
  font-weight: 600;
  background: var(--gt-input-bg, #fff);
  color: var(--gt-text-heading, #0f172a);
}
.woocommerce table.cart .actions {
  padding: 1.25rem 1.5rem;
  background: var(--gt-bg-muted, #f8fafc);
  border-top: 1px solid var(--gt-border-light, #e2e8f0);
}
.woocommerce table.cart .actions td {
  display: block;
  width: 100%;
  border-bottom: none;
}
.woocommerce table.cart .actions .coupon {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.625rem;
  margin: 0 0 0.75rem;
}
.woocommerce table.cart .actions .coupon label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}
.woocommerce table.cart .actions .coupon .input-text {
  flex: 1 1 14rem;
  min-width: 0;
  width: auto;
  max-width: none;
  margin: 0;
  border-radius: 12px;
  padding: 0.75rem 1rem;
}
.woocommerce table.cart .actions .coupon .button[name="apply_coupon"] {
  flex: 0 0 auto;
  white-space: nowrap;
}
.woocommerce table.cart .actions .coupon .coupon-error-notice,
.woocommerce table.cart .actions .coupon :is(.woocommerce-error, .woocommerce-info, .woocommerce-message),
.woocommerce table.cart .actions td > .coupon-error-notice,
.woocommerce table.cart .actions td > :is(.woocommerce-error, .woocommerce-info, .woocommerce-message) {
  flex: 1 0 100%;
  width: 100%;
  margin: 0.125rem 0 0;
  padding: 0.625rem 0.875rem;
  border-radius: 10px;
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #b91c1c;
  font-size: 0.875rem;
  line-height: 1.45;
}
.woocommerce table.cart .actions td > .coupon-error-notice,
.woocommerce table.cart .actions td > :is(.woocommerce-error, .woocommerce-info, .woocommerce-message) {
  display: block;
  margin: -0.375rem 0 0.75rem;
}
.woocommerce table.cart .actions .button[name="update_cart"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  white-space: nowrap;
  background: var(--gt-surface, #fff) !important;
  color: var(--gt-text-heading, #0f172a) !important;
  border: 1px solid var(--gt-border, #cbd5e1) !important;
  box-shadow: none !important;
}
.woocommerce table.cart .actions .button[name="update_cart"]:hover {
  border-color: var(--gt-primary, #5233eb) !important;
  color: var(--gt-primary, #5233eb) !important;
  transform: none;
}

@media (min-width: 1025px) {
  .woocommerce table.cart,
  .woocommerce-cart .woocommerce table.shop_table {
    table-layout: fixed;
  }
  .woocommerce table.cart .product-remove {
    width: 2.75rem;
    min-width: 2.75rem;
    max-width: 2.75rem;
    padding-left: 0.875rem;
    padding-right: 0.375rem;
    text-align: center;
    white-space: nowrap;
  }
  .woocommerce table.cart .product-thumbnail {
    width: 5.5rem;
    min-width: 5.5rem;
    max-width: 5.5rem;
    padding-left: 0.375rem;
    padding-right: 0.75rem;
    white-space: nowrap;
  }
  .woocommerce table.cart .product-name {
    width: auto;
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .woocommerce table.cart .product-price,
  .woocommerce table.cart .product-subtotal {
    width: 5.5rem;
    min-width: 5.5rem;
    max-width: 5.5rem;
    padding-left: 0.75rem;
    padding-right: 1rem;
    text-align: right;
    white-space: nowrap;
  }
  .woocommerce table.cart .product-quantity {
    width: 6.5rem;
    min-width: 6.5rem;
    max-width: 6.5rem;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    text-align: center;
    white-space: nowrap;
  }
  .woocommerce table.cart thead .product-price,
  .woocommerce table.cart thead .product-quantity,
  .woocommerce table.cart thead .product-subtotal {
    text-align: right;
  }
  .woocommerce table.cart thead .product-quantity {
    text-align: center;
  }
  .woocommerce table.cart thead .product-remove,
  .woocommerce table.cart thead .product-thumbnail {
    padding-left: 0.875rem;
    padding-right: 0.375rem;
  }
}

.woocommerce .cart_totals {
  background: var(--gt-surface, #fff);
  border: 1px solid var(--gt-border-light, #e2e8f0);
  border-radius: 20px;
  padding: 1.5rem 1.5rem 1.25rem;
  max-width: none;
  margin-left: 0;
  position: sticky;
  top: calc(var(--gt-header-h, 72px) + 1.5rem);
  box-shadow: 0 12px 40px -16px rgb(15 23 42 / 0.12);
}
.woocommerce .cart_totals h2 {
  font-family: var(--gt-font-display, var(--gt-font, 'Outfit', system-ui, sans-serif));
  font-size: 1.125rem;
  font-weight: 800;
  margin: 0 0 1.25rem;
  color: var(--gt-text-heading, #0f172a);
  letter-spacing: -0.02em;
}
.woocommerce .cart_totals table.shop_table {
  border: none;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  margin-bottom: 1.25rem;
  table-layout: fixed;
  width: 100%;
}
.woocommerce .cart_totals table.shop_table th,
.woocommerce .cart_totals table.shop_table td {
  padding: 0.625rem 0;
  border: none;
  border-bottom: 1px dashed var(--gt-border-light, #e2e8f0);
  font-size: 0.9375rem;
  vertical-align: top;
}
.woocommerce .cart_totals table.shop_table th {
  width: 58%;
  padding-right: 1rem;
}
.woocommerce .cart_totals table.shop_table td {
  width: 42%;
  white-space: nowrap;
  text-align: right;
}
.woocommerce .cart_totals table.shop_table .woocommerce-remove-coupon {
  display: inline-block;
  margin-left: 0.35rem;
  font-size: 0.8125rem;
  font-weight: 600;
  white-space: nowrap;
}
.woocommerce .cart_totals table.shop_table tr:last-child th,
.woocommerce .cart_totals table.shop_table tr:last-child td {
  border-bottom: none;
  padding-top: 1rem;
}
.woocommerce .cart_totals .order-total th,
.woocommerce .cart_totals .order-total td {
  font-size: 1.0625rem;
  font-weight: 800;
  color: var(--gt-text-heading, #0f172a);
}
.woocommerce .cart_totals .order-total .amount {
  color: var(--gt-primary, #5233eb);
  font-size: 1.25rem;
}
.woocommerce .wc-proceed-to-checkout {
  margin-top: 0.5rem;
}
.woocommerce .wc-proceed-to-checkout .checkout-button {
  width: 100%;
  padding-block: 0.9375rem;
  font-size: 0.9375rem;
  border-radius: 14px;
}

/* Cart update loading overlay */
body.woocommerce-cart.gt-cart--updating .woocommerce-cart-form::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 5;
  border-radius: 20px;
  background: rgb(255 255 255 / 0.72);
  backdrop-filter: blur(2px);
  animation: gt-woo-fade-in 0.25s ease;
}
body.woocommerce-cart.gt-cart--updating .woocommerce-cart-form::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 6;
  width: 2rem;
  height: 2rem;
  margin: -1rem 0 0 -1rem;
  border: 3px solid color-mix(in srgb, var(--gt-primary, #5233eb) 20%, transparent);
  border-top-color: var(--gt-primary, #5233eb);
  border-radius: 50%;
  animation: gt-archive-spin 0.7s linear infinite;
}

@media (max-width: 1024px) {
  body.woocommerce-cart .gt-woo-content.woocommerce:not(:has(.cart-empty)),
  body.woocommerce-cart .woocommerce:not(:has(.cart-empty)) {
    grid-template-columns: 1fr;
    grid-template-areas:
      "notices"
      "cart"
      "cross-sells"
      "totals";
  }
  body.woocommerce-cart .cart-collaterals {
    display: contents;
  }
  body.woocommerce-cart .cart-collaterals .cross-sells {
    grid-area: cross-sells;
    order: unset;
    margin-top: 0.25rem;
  }
  body.woocommerce-cart .cart-collaterals .cart_totals {
    grid-area: totals;
    order: unset;
  }
  .woocommerce .cart_totals {
    position: static;
  }
}

@media (max-width: 1024px) {
  .woocommerce table.cart,
  .woocommerce-cart .woocommerce table.shop_table {
    display: block;
    width: 100%;
    max-width: 100%;
  }
  .woocommerce table.cart thead {
    display: none;
  }
  .woocommerce table.cart tbody {
    display: block;
    width: 100%;
    max-width: 100%;
  }
  .woocommerce table.cart tbody tr.cart_item {
    display: grid;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    grid-template-columns: 4.5rem minmax(0, 1fr) 2.25rem;
    grid-template-areas:
      "thumb name remove"
      "price qty subtotal";
    gap: 0.75rem 0.875rem;
    align-items: start;
    padding: 1rem;
    border-bottom: 1px solid var(--gt-border-light, #e2e8f0);
  }
  .woocommerce table.cart tbody tr.cart_item td {
    display: block;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0;
    border: none;
    text-align: left;
  }
  .woocommerce table.cart tbody tr.cart_item td::before {
    display: none;
  }
  .woocommerce table.cart .product-thumbnail {
    grid-area: thumb;
  }
  .woocommerce table.cart .product-thumbnail img {
    width: 4.5rem;
    display: block;
  }
  .woocommerce table.cart .product-name {
    grid-area: name;
    min-width: 0;
    max-width: none !important;
    overflow-wrap: break-word;
    word-break: normal;
    padding-right: 0.25rem;
  }
  .woocommerce table.cart .product-name a {
    display: inline;
  }
  .woocommerce table.cart .product-remove {
    grid-area: remove;
    position: static;
    align-self: start;
    justify-self: end;
    text-align: right;
  }
  .woocommerce table.cart .product-price {
    grid-area: price;
    min-width: 0;
  }
  .woocommerce table.cart .product-quantity {
    grid-area: qty;
    min-width: 0;
  }
  .woocommerce table.cart .product-subtotal {
    grid-area: subtotal;
    min-width: 0;
    text-align: right;
  }
  .woocommerce table.cart .product-price::before,
  .woocommerce table.cart .product-quantity::before,
  .woocommerce table.cart .product-subtotal::before {
    content: attr(data-title);
    display: block;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--gt-text-muted, #94a3b8);
    margin-bottom: 0.25rem;
  }
  .woocommerce table.cart .product-price,
  .woocommerce table.cart .product-subtotal {
    white-space: normal;
  }
  .woocommerce table.cart .product-quantity .quantity {
    display: inline-flex;
    max-width: 100%;
  }
  .woocommerce table.cart .product-quantity .quantity .qty {
    width: 4.25rem;
    max-width: 100%;
  }
  .woocommerce table.cart tbody tr:not(.cart_item) {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  body.woocommerce-cart .gt-container.gt-container--page,
  body.woocommerce-cart .gt-container.gt-container--page.gt-container--full {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .woocommerce table.cart .actions {
    padding: 1rem;
  }
  .woocommerce table.cart .actions td {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
    padding: 0;
  }
  .woocommerce table.cart .actions .coupon {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }
  .woocommerce table.cart .actions .coupon .input-text {
    flex: none;
    width: 100%;
    max-width: 100%;
    min-height: 2.75rem;
    height: auto;
  }
  .woocommerce table.cart .actions .coupon .button[name="apply_coupon"],
  .woocommerce table.cart .actions .button[name="update_cart"] {
    width: 100%;
  }
  body.woocommerce-cart .cross-sells ul.products li.gt-cross-sell-card {
    border-radius: 16px;
  }
}

@media (max-width: 768px) {
  .woocommerce-cart .woocommerce-cart-form .actions
    :is(
      #wc-stripe-payment-request-wrapper,
      #wc-stripe-express-checkout-element,
      #wc-stripe-payment-request-button-separator,
      #wc-stripe-express-checkout-button-separator,
      .wcpay-payment-request-wrapper,
      .wcpay-express-checkout
    ) {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    position: static !important;
    inset: auto !important;
    clear: both;
    float: none !important;
  }
  .woocommerce-cart .woocommerce-cart-form .actions
    :is(#wc-stripe-payment-request-wrapper, .wcpay-payment-request-wrapper) > div {
    width: 100% !important;
    max-width: 100% !important;
  }
  .woocommerce table.cart,
  .woocommerce-cart .woocommerce table.shop_table {
    border-radius: 16px;
  }
}

/* ─── Checkout ────────────────────────────────────────── */
body.woocommerce-checkout .gt-woo-content.woocommerce,
body.woocommerce-checkout .woocommerce {
  max-width: none;
}

.woocommerce-checkout form.checkout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
  gap: clamp(1.5rem, 3vw, 2.5rem);
  align-items: start;
  position: relative;
}

/* Full-width rows above the two-column body (login, notices, express checkout). */
.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup,
.woocommerce-checkout form.checkout > .woocommerce-form-login-toggle,
.woocommerce-checkout form.checkout > .woocommerce-form-login,
.woocommerce-checkout form.checkout > .checkout_coupon,
.woocommerce-checkout form.checkout > #wc-stripe-express-checkout-element,
.woocommerce-checkout form.checkout > #wc-stripe-express-checkout-button-separator,
.woocommerce-checkout form.checkout > #wc-stripe-payment-request-wrapper,
.woocommerce-checkout form.checkout > .wcpay-express-checkout {
  grid-column: 1 / -1;
}

.woocommerce-checkout #customer_details {
  grid-column: 1;
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  margin-bottom: 0;
}

.woocommerce-checkout .gt-checkout-sidebar {
  grid-column: 2;
  align-self: start;
  position: sticky;
  top: calc(var(--gt-header-h, 72px) + 1.5rem);
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  min-width: 0;
  isolation: isolate;
}

.woocommerce-checkout #order_review_heading {
  margin: 0 0 1rem;
  padding: 0;
  font-family: var(--gt-font-display, var(--gt-font, 'Outfit', system-ui, sans-serif));
  font-size: 1.0625rem;
  font-weight: 800;
  color: var(--gt-text-heading, #0f172a);
  letter-spacing: -0.02em;
}

.woocommerce-checkout #order_review {
  position: static;
  top: auto;
  background: var(--gt-surface, #fff);
  border: 1px solid var(--gt-border-light, #e2e8f0);
  border-radius: 16px;
  padding: 1.25rem;
  margin-bottom: 0;
  box-shadow: 0 1px 2px rgb(15 23 42 / 0.04);
  isolation: isolate;
}

.woocommerce-checkout .col2-set {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.woocommerce-checkout .col-1,
.woocommerce-checkout .col-2 {
  width: 100%;
  float: none;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout .woocommerce-account-fields,
.woocommerce-checkout .woocommerce-shipping-fields:has(h3),
.woocommerce-checkout .woocommerce-shipping-fields:has(.form-row),
.woocommerce-checkout .woocommerce-shipping-fields:has(.shipping_address) {
  background: var(--gt-surface, #fff);
  border: 1px solid var(--gt-border-light, #e2e8f0);
  border-radius: 20px;
  padding: clamp(1.25rem, 2.5vw, 1.75rem);
  box-shadow: 0 1px 2px rgb(15 23 42 / 0.04);
}

/* Digital / no-shipping carts leave an empty wrapper — hide the blank card. */
.woocommerce-checkout .woocommerce-shipping-fields:not(:has(*)) {
  display: none !important;
}

.woocommerce-checkout .woocommerce-account-fields {
  margin-top: 0;
}

.woocommerce-checkout .woocommerce-account-fields .woocommerce-info,
.woocommerce-checkout .woocommerce-account-fields .create-account > p:not(.form-row) {
  margin: 0 0 1rem;
  font-size: 0.875rem;
  color: var(--gt-text-muted, #64748b);
}

.woocommerce-checkout .woocommerce-account-fields .create-account {
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
}

.woocommerce-checkout h3 {
  font-family: var(--gt-font-display, var(--gt-font, 'Outfit', system-ui, sans-serif));
  font-weight: 800;
  font-size: 1.0625rem;
  color: var(--gt-text-heading, #0f172a);
  margin: 0 0 1.25rem;
  letter-spacing: -0.02em;
}

/* Article typography must not leak into Woo checkout field cards. */
body.woocommerce-checkout .gt-wp-content .woocommerce-billing-fields > h3,
body.woocommerce-checkout .gt-wp-content .woocommerce-shipping-fields > h3,
body.woocommerce-checkout .gt-wp-content .woocommerce-additional-fields > h3,
body.woocommerce-checkout .gt-wp-content #order_review_heading,
body.woocommerce-checkout .gt-wp-content .cart_totals > h2,
body.woocommerce-cart .gt-wp-content .cart_totals > h2 {
  margin-top: 0 !important;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
  display: grid;
  gap: 0.125rem;
}

.woocommerce-checkout-review-order-table {
  margin-bottom: 0;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  width: 100%;
  border-collapse: collapse;
}
.woocommerce-checkout-review-order-table thead {
  display: none;
}
.woocommerce-checkout-review-order-table tbody tr,
.woocommerce-checkout-review-order-table tfoot tr {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
}
.woocommerce-checkout-review-order-table tbody td,
.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td {
  display: block;
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
  vertical-align: top;
}
.woocommerce-checkout-review-order-table tbody tr {
  padding-bottom: 0.875rem;
  margin-bottom: 0.875rem;
  border-bottom: 1px solid var(--gt-border-light, #e2e8f0);
}
.woocommerce-checkout-review-order-table tfoot tr {
  padding-block: 0.35rem;
}
.woocommerce-checkout-review-order-table .product-name {
  flex: 1;
  min-width: 0;
  font-weight: 600;
  font-size: 0.875rem;
  line-height: 1.45;
  color: var(--gt-text-heading, #0f172a);
  overflow-wrap: anywhere;
  word-break: break-word;
  padding-right: 0 !important;
}
.woocommerce-checkout-review-order-table .product-total,
.woocommerce-checkout-review-order-table tfoot td {
  flex-shrink: 0;
  font-weight: 700;
  font-size: 0.875rem;
  color: var(--gt-primary, #5233eb);
  text-align: right;
  width: auto;
  white-space: nowrap;
}
.woocommerce-checkout-review-order-table tfoot th {
  flex: 1;
  text-align: left;
  font-weight: 600;
  font-size: 0.8125rem;
  color: var(--gt-text-muted, #64748b);
}
.woocommerce-checkout-review-order-table .cart-discount td {
  font-size: 0.8125rem;
}
.woocommerce-checkout-review-order-table .woocommerce-remove-coupon {
  display: inline-block;
  margin-left: 0.35rem;
  font-size: 0.75rem;
  font-weight: 600;
  white-space: nowrap;
}
.woocommerce-checkout-review-order-table .order-total {
  padding-top: 0.65rem !important;
  margin-top: 0.35rem;
  border-top: 1px solid var(--gt-border-light, #e2e8f0);
}
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
  font-size: 1rem;
  font-weight: 800;
  color: var(--gt-text-heading, #0f172a);
}
.woocommerce-checkout-review-order-table .order-total td {
  color: var(--gt-primary, #5233eb);
}

.woocommerce-checkout #payment {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 1rem 0 0;
  margin-top: 1rem;
  border-top: 1px solid var(--gt-border-light, #e2e8f0);
  box-shadow: none;
}
.woocommerce-checkout #payment ul.payment_methods {
  list-style: none;
  margin: 0 0 0.5rem;
  padding: 0;
}
.woocommerce-checkout #payment ul.payment_methods::before,
.woocommerce-checkout #payment ul.payment_methods::after {
  display: none !important;
  content: none !important;
}
.woocommerce-checkout #payment ul.payment_methods li {
  list-style: none !important;
  padding: 0;
  border: none;
  margin: 0;
}
.woocommerce-checkout #payment ul.payment_methods li::marker {
  content: none !important;
}
.woocommerce-checkout #payment ul.payment_methods li label {
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--gt-text-heading, #0f172a);
  cursor: pointer;
}
.woocommerce-checkout #payment ul.payment_methods li:only-child label {
  display: none;
}
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] {
  accent-color: var(--gt-primary, #5233eb);
  margin-right: 0.5rem;
}
.woocommerce-checkout #payment ul.payment_methods li:not(:only-child) {
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--gt-border-light, #e2e8f0);
}
.woocommerce-checkout #payment ul.payment_methods li:not(:only-child):last-child {
  border-bottom: none;
}
.woocommerce-checkout #payment .payment_box {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  margin: 0;
  font-size: 0.875rem;
  color: var(--gt-text-muted, #64748b);
  box-shadow: none;
}
.woocommerce-checkout #payment .payment_box::before {
  display: none;
}
.woocommerce-checkout #payment .payment_box p {
  margin: 0 0 0.625rem;
}
.woocommerce-checkout #payment .payment_box p:last-child {
  margin-bottom: 0;
}
.woocommerce-checkout #payment .payment_box fieldset {
  border: none;
  margin: 0;
  padding: 0;
}
.woocommerce-checkout #payment .place-order {
  margin-top: 0.875rem;
  padding-top: 0;
}
.woocommerce-checkout #payment #place_order {
  width: 100%;
  padding-block: 0.8125rem;
  font-size: 0.875rem;
  border-radius: 12px;
  margin-top: 0;
}
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper {
  margin-bottom: 0.75rem;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--gt-text-muted, #64748b);
}
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper a {
  color: var(--gt-primary, #5233eb);
  font-weight: 600;
}

/* Stripe order attribution — keep inputs, remove extra grid row gap */
.woocommerce-checkout form.checkout > wc-order-attribution-inputs {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

/* Stripe / WooPayments express checkout */
.woocommerce-checkout #wc-stripe-express-checkout-element,
.woocommerce-checkout #wc-stripe-payment-request-wrapper,
.woocommerce-checkout .wcpay-express-checkout {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin: 0 !important;
  padding: clamp(1.25rem, 2.5vw, 1.75rem) clamp(1.25rem, 2.5vw, 1.75rem) 0.75rem;
  background: var(--gt-surface, #fff);
  border: 1px solid var(--gt-border-light, #e2e8f0);
  border-radius: 20px;
  box-shadow: 0 1px 2px rgb(15 23 42 / 0.04);
  clear: both;
}
.woocommerce-checkout #wc-stripe-express-checkout-element > [id^="wc-stripe-express-checkout-element-"],
.woocommerce-checkout #wc-stripe-payment-request-wrapper > div,
.woocommerce-checkout .wcpay-express-checkout__button-container {
  width: 100%;
  min-width: 0;
  min-height: 48px;
  margin: 0 !important;
}
.woocommerce-checkout #wc-stripe-express-checkout-button-separator,
.woocommerce-checkout .wc-stripe-payment-request-button-separator,
.woocommerce-checkout #wc-stripe-payment-request-button-separator,
.woocommerce-checkout .wcpay-express-checkout__separator {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-block: 1rem !important;
  padding-block: 0;
  color: var(--gt-text-muted, #94a3b8);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-align: center;
}
/* Inside the checkout grid, each row already gets the grid gap (1.5–2.5rem).
   Pull the separator back so the visible space is ~1rem on both sides. */
.woocommerce-checkout form.checkout > #wc-stripe-express-checkout-button-separator,
.woocommerce-checkout form.checkout > .wc-stripe-payment-request-button-separator,
.woocommerce-checkout form.checkout > #wc-stripe-payment-request-button-separator,
.woocommerce-checkout form.checkout > .wcpay-express-checkout__separator {
  margin-block: calc(1rem - clamp(1.5rem, 3vw, 2.5rem)) !important;
}
.woocommerce-checkout #wc-stripe-express-checkout-button-separator::before,
.woocommerce-checkout #wc-stripe-express-checkout-button-separator::after,
.woocommerce-checkout .wc-stripe-payment-request-button-separator::before,
.woocommerce-checkout .wc-stripe-payment-request-button-separator::after,
.woocommerce-checkout #wc-stripe-payment-request-button-separator::before,
.woocommerce-checkout #wc-stripe-payment-request-button-separator::after,
.woocommerce-checkout .wcpay-express-checkout__separator::before,
.woocommerce-checkout .wcpay-express-checkout__separator::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--gt-border-light, #e2e8f0);
}
.woocommerce-checkout #wc-stripe-upe-form,
.woocommerce-checkout #stripe-payment-data,
.woocommerce-checkout .wc-stripe-upe-form {
  margin: 0;
}
.woocommerce-checkout .payment_method_stripe img,
.woocommerce-checkout .payment_method_woocommerce_payments img {
  display: none;
}

/* Currency switcher (WooPayments / multi-currency plugins) */
.woocommerce-checkout .wcpay-multi-currency-widget,
.woocommerce-checkout .woocommerce-currency-switcher,
.woocommerce-checkout [class*="currency-switcher"] {
  margin-bottom: 0.75rem;
}
.woocommerce-checkout .wcpay-multi-currency-widget button,
.woocommerce-checkout .woocommerce-currency-switcher button {
  padding: 0.625rem 0.75rem !important;
  border-radius: 10px !important;
  border: 1px solid var(--gt-border-light, #e2e8f0) !important;
  background: var(--gt-surface, #fff) !important;
  font-weight: 600 !important;
  font-size: 0.8125rem !important;
  color: var(--gt-text-heading, #0f172a) !important;
}
.woocommerce-checkout .wcpay-multi-currency-widget button.is-active,
.woocommerce-checkout .woocommerce-currency-switcher button.is-active,
.woocommerce-checkout .wcpay-multi-currency-widget button[aria-pressed="true"],
.woocommerce-checkout .woocommerce-currency-switcher button[aria-pressed="true"] {
  border-color: var(--gt-primary, #5233eb) !important;
  background: color-mix(in srgb, var(--gt-primary, #5233eb) 6%, #fff) !important;
}
.woocommerce-checkout .wcpay-multi-currency-widget + p,
.woocommerce-checkout .woocommerce-currency-switcher + p,
.woocommerce-checkout [class*="currency-switcher"] + p {
  margin: 0.25rem 0 0;
  font-size: 0.75rem;
  color: var(--gt-text-muted, #94a3b8);
}

/* Checkout AJAX loading */
form.checkout.processing .gt-checkout-sidebar {
  opacity: 0.55;
  pointer-events: none;
  transition: opacity 0.25s ease;
}
form.checkout.processing .gt-checkout-sidebar::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 20px;
  background: rgb(255 255 255 / 0.5);
  backdrop-filter: blur(1px);
}
form.checkout.processing #place_order,
body.gt-checkout--submitting #place_order {
  opacity: 0.75;
  pointer-events: none;
  position: relative;
}
form.checkout.processing #place_order::after,
body.gt-checkout--submitting #place_order::after {
  content: '';
  display: inline-block;
  width: 1rem;
  height: 1rem;
  margin-left: 0.5rem;
  border: 2px solid rgb(255 255 255 / 0.35);
  border-top-color: #fff;
  border-radius: 50%;
  vertical-align: middle;
  animation: gt-archive-spin 0.65s linear infinite;
}

@keyframes gt-woo-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@media (max-width: 1024px) {
  .woocommerce-checkout form.checkout {
    grid-template-columns: 1fr;
  }
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout .gt-checkout-sidebar {
    grid-column: 1;
  }
  .woocommerce-checkout .gt-checkout-sidebar {
    position: static;
    top: auto;
  }
}

@media (max-width: 900px) {
  .woocommerce-checkout .col2-set { gap: 1.25rem; }
}

/* ─── My Account ──────────────────────────────────────── */
.woocommerce-account {
  --gt-account-border: var(--gt-border, #e2e8f0);
  --gt-account-grid: var(--gt-border-light, #eef2f7);
  --gt-account-thead-bg: #f8f9fc;
  --gt-account-thead-text: #64748b;
  --gt-account-thead-divider: #e9edf3;
  --gt-account-address-bg: #fff;
  --gt-account-radius: 16px;
}
body.woocommerce-account .gt-container--page {
  padding-block: clamp(1.75rem, 4vw, 2.5rem);
}
body.woocommerce-account .gt-page__content:has(.woocommerce-MyAccount-navigation),
body.woocommerce-account .gt-page.gt-page:has(.woocommerce-MyAccount-navigation) {
  padding: 0;
  margin: 0;
  max-width: none;
}
body.woocommerce-account .gt-page__content .woocommerce-MyAccount-navigation ul,
body.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  margin: 0;
  padding: 0;
}
body.woocommerce-account .gt-page__content .woocommerce-MyAccount-navigation ul li,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  list-style: none !important;
  margin: 0;
}

.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
  display: grid;
  grid-template-columns: minmax(220px, 260px) minmax(0, 1fr);
  gap: 2rem;
  align-items: start;
  width: 100%;
}
.woocommerce-account .woocommerce:not(:has(.woocommerce-MyAccount-navigation)) {
  display: block;
}
@media (max-width: 900px) {
  .woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) { grid-template-columns: 1fr; }
}

.woocommerce-MyAccount-content {
  background: transparent;
  padding: 0;
  min-width: 0;
  align-self: start;
}

/* Shared card chrome — nav + form panels */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .gt-account-panel--edit-address,
.woocommerce-account .gt-account-panel--edit-account,
.woocommerce-account .gt-account-panel--payment-methods,
.woocommerce-account .gt-account-panel--add-payment-method {
  background: #fff;
  border: 1px solid var(--gt-account-border) !important;
  border-radius: var(--gt-account-radius);
  box-shadow: none;
  overflow: hidden;
}
.woocommerce-account .gt-account-panel--orders,
.woocommerce-account .gt-account-panel--downloads,
.woocommerce-account .gt-account-panel--view-order {
  background: transparent;
  border: none !important;
  overflow: visible;
}
.woocommerce-MyAccount-navigation {
  padding: 0;
  align-self: start;
  height: fit-content;
}
.woocommerce-account .gt-account-panel--edit-address:not(:has(.woocommerce-address-fields)),
.woocommerce-account .gt-account-panel--edit-address:not(:has(form)) {
  background: transparent;
  border: none !important;
  padding: 0;
  overflow: visible;
}
.woocommerce-account .gt-account-panel--edit-address:has(form),
.woocommerce-account .gt-account-panel--edit-account {
  padding: clamp(1.25rem, 3vw, 2rem);
}
.woocommerce-account .gt-account-panel--edit-address form > h2,
.woocommerce-account .gt-account-panel--edit-account form > h2 {
  margin: 0 0 1.25rem;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.01em;
}
.gt-account-panel--payment-methods,
.gt-account-panel--add-payment-method {
  padding: clamp(1.25rem, 3vw, 2rem);
}
.gt-account-panel--dashboard {
  background: transparent;
  border: none !important;
  overflow: visible;
}
@media (max-width: 900px) {
  .woocommerce-MyAccount-navigation {
    padding: 0.5rem;
    background: #fff;
  }
  .woocommerce-MyAccount-navigation ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
  }
  .woocommerce-MyAccount-navigation ul li { flex: 1 1 auto; min-width: calc(50% - 0.35rem); }
  .woocommerce-MyAccount-navigation ul li:not(:last-child) {
    border-bottom: none;
  }
  .woocommerce-MyAccount-navigation ul li.is-active,
  .woocommerce-MyAccount-navigation ul li:not(.is-active):hover {
    background: transparent;
  }
  .woocommerce-MyAccount-navigation ul li a {
    margin: 0;
    text-align: center;
    padding: 0.625rem 0.5rem;
    font-size: 0.8125rem;
    border-radius: 10px;
  }
  .woocommerce-MyAccount-navigation ul li.is-active > a {
    background: color-mix(in srgb, var(--gt-primary) 10%, #fff);
    color: var(--gt-primary, #5233eb);
  }
  .woocommerce-MyAccount-navigation ul li:not(.is-active):hover > a {
    background: color-mix(in srgb, var(--gt-primary) 6%, #fff);
  }
}

.woocommerce-MyAccount-navigation ul li {
  margin: 0;
  background: #fff;
}
.woocommerce-MyAccount-navigation ul li:not(:last-child) {
  border-bottom: 1px solid var(--gt-account-border);
}
.woocommerce-MyAccount-navigation ul li.is-active {
  background: color-mix(in srgb, var(--gt-primary) 10%, #fff);
}
.woocommerce-MyAccount-navigation ul li:not(.is-active):hover {
  background: color-mix(in srgb, var(--gt-primary) 6%, #fff);
}
.woocommerce-MyAccount-navigation ul li a,
.gt-wp-content .woocommerce-MyAccount-navigation ul li a,
.article-body .woocommerce-MyAccount-navigation ul li a {
  display: block;
  margin: 0;
  padding: 0.875rem 1.25rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--gt-text, #475569);
  text-decoration: none;
  border-radius: 0;
  line-height: 1.35;
  border: none;
  background: transparent;
  transition: color 0.15s ease;
}
.woocommerce-MyAccount-navigation ul li.is-active > a,
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link.is-active > a,
.gt-wp-content .woocommerce-MyAccount-navigation ul li.is-active > a,
.article-body .woocommerce-MyAccount-navigation ul li.is-active > a {
  color: var(--gt-primary, #5233eb);
}
.woocommerce-MyAccount-navigation ul li:not(.is-active):hover > a,
.gt-wp-content .woocommerce-MyAccount-navigation ul li:not(.is-active):hover > a,
.article-body .woocommerce-MyAccount-navigation ul li:not(.is-active):hover > a {
  color: var(--gt-text-heading, #0f172a);
}
.woocommerce-MyAccount-navigation ul li.is-active:hover > a,
.gt-wp-content .woocommerce-MyAccount-navigation ul li.is-active:hover > a,
.article-body .woocommerce-MyAccount-navigation ul li.is-active:hover > a {
  color: var(--gt-primary, #5233eb);
  opacity: 1;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order-downloads {
  margin: 0;
  padding: 0;
}
/* Endpoint / dashboard tables — outer card frame */
.woocommerce-account .woocommerce-MyAccount-content table.shop_table,
.woocommerce-account table.woocommerce-table--order-downloads,
.woocommerce-account table.woocommerce-orders-table {
  width: 100%;
  border: 1px solid var(--gt-account-border) !important;
  border-radius: var(--gt-account-radius) !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  background: #fff;
  overflow: hidden;
}
.gt-account-endpoint--dashboard .woocommerce-MyAccount-content .woocommerce-table--order-downloads,
.gt-account-endpoint--dashboard .woocommerce-MyAccount-content .woocommerce-orders-table.woocommerce-MyAccount-orders,
.gt-account-panel--dashboard table.shop_table {
  margin-bottom: 1.5rem;
}
.woocommerce-MyAccount-content > p,
.woocommerce-MyAccount-content .woocommerce-info {
  color: var(--gt-text-muted, #64748b);
  line-height: 1.65;
}
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.woocommerce-Button),
.gt-wp-content .woocommerce-MyAccount-content a:not(.button):not(.woocommerce-Button),
.article-body .woocommerce-MyAccount-content a:not(.button):not(.woocommerce-Button) {
  color: var(--gt-primary, #5233eb);
  font-weight: 600;
  text-decoration: none;
}
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.woocommerce-Button):hover,
.gt-wp-content .woocommerce-MyAccount-content a:not(.button):not(.woocommerce-Button):hover,
.article-body .woocommerce-MyAccount-content a:not(.button):not(.woocommerce-Button):hover {
  color: var(--gt-primary, #5233eb);
  opacity: 0.88;
  text-decoration: none;
}
.woocommerce-MyAccount-content > p a,
.woocommerce-MyAccount-content .woocommerce-Message a {
  color: var(--gt-primary, #5233eb);
  font-weight: 600;
  text-decoration: none;
}
.woocommerce-MyAccount-content > p a:hover,
.woocommerce-MyAccount-content .woocommerce-Message a:hover {
  text-decoration: none;
  opacity: 0.88;
}
.woocommerce-MyAccount-content .woocommerce-Button.button,
.woocommerce-MyAccount-content a.woocommerce-button.button {
  margin-top: 0.5rem;
}
.woocommerce-MyAccount-content fieldset {
  border: 1px solid var(--gt-border-light, #e2e8f0);
  border-radius: 12px;
  padding: 1rem 1.25rem;
  margin: 0 0 1.25rem;
}
.woocommerce-MyAccount-content legend {
  font-weight: 700;
  color: var(--gt-text-heading, #0f172a);
  padding: 0 0.35rem;
}
/* Addresses — white cards, title → address → button */
.woocommerce-account .gt-account-addresses-intro {
  color: var(--gt-text-muted, #64748b);
  font-size: 0.9375rem;
  line-height: 1.65;
  margin: 0 0 1.25rem;
}
.woocommerce-account .woocommerce-Addresses,
.woocommerce-account .addresses.col2-set {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  margin: 0;
}
@media (max-width: 768px) {
  .woocommerce-account .woocommerce-Addresses,
  .woocommerce-account .addresses.col2-set { grid-template-columns: 1fr; }
}
.woocommerce-account .woocommerce-Address {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  background: var(--gt-account-address-bg, #fff);
  border: 1px solid var(--gt-account-border, #e2e8f0);
  border-radius: var(--gt-account-radius, 16px);
  padding: 1.125rem 1.75rem 1.5rem;
  min-height: 100%;
}
.woocommerce-account .woocommerce-Address-title,
.woocommerce-account .woocommerce-Address > header.title {
  width: 100%;
  margin: 0 0 0.75rem;
  padding: 0;
}
body.woocommerce-account .gt-wp-content .woocommerce-Address .woocommerce-Address-title :is(h2, h3),
body.woocommerce-account .gt-page__content .woocommerce-Address .woocommerce-Address-title :is(h2, h3),
body.woocommerce-account .gt-woo-content .woocommerce-Address .woocommerce-Address-title :is(h2, h3),
.woocommerce-account .woocommerce-Address .woocommerce-Address-title :is(h2, h3),
.woocommerce-account .woocommerce-Address-title :is(h2, h3),
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h3 {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1.0625rem !important;
  font-weight: 700 !important;
  line-height: 1.35;
  color: var(--gt-text-heading, #0f172a);
  scroll-margin-top: 0 !important;
}
.woocommerce-account .woocommerce-Address address {
  width: 100%;
  flex: 1 0 auto;
  font-style: normal;
  color: var(--gt-text-muted, #64748b);
  font-size: 0.9375rem;
  line-height: 1.65;
  margin: 0 0 1.5rem;
}
.woocommerce-account .woocommerce-Address .edit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: auto;
  padding: 0.5625rem 1.125rem;
  border-radius: 10px;
  border: 1px solid var(--gt-border, #cbd5e1);
  background: #fff;
  color: var(--gt-primary, #5233eb) !important;
  font-size: 0.8125rem;
  font-weight: var(--gt-btn-font-weight, 600);
  text-decoration: none !important;
  transition: border-color 0.15s ease, color 0.15s ease;
}
.woocommerce-account .woocommerce-Address .edit:hover {
  border-color: var(--gt-primary, #5233eb);
  color: var(--gt-primary, #5233eb) !important;
}
.woocommerce .col2-set::before,
.woocommerce .col2-set::after,
.woocommerce .u-columns::before,
.woocommerce .u-columns::after {
  display: none !important;
  content: none !important;
}
.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2,
.woocommerce .u-column1,
.woocommerce .u-column2 {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
}
.woocommerce #customer_login {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
  align-items: start;
}
@media (max-width: 768px) {
  .woocommerce #customer_login { grid-template-columns: 1fr; }
}
.woocommerce-MyAccount-content .shop_table .button,
.woocommerce-MyAccount-content .woocommerce-orders-table .button {
  padding: 0.5rem 0.875rem;
  font-size: 0.8125rem;
}
.woocommerce table.woocommerce-table--order-downloads .button {
  white-space: nowrap;
}
.woocommerce .woocommerce-MyAccount-downloads-file {
  font-size: 0.8125rem;
}
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
  font-family: var(--gt-font-display, var(--gt-font, 'Outfit', system-ui, sans-serif));
  font-weight: 800;
  color: var(--gt-text-heading, #0f172a);
}

/* My Account — welcome banner & intro */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notices-wrapper {
  margin-bottom: 1.25rem;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notices-wrapper:empty {
  display: none;
  margin: 0;
}
.gt-account-welcome {
  margin-bottom: 1.25rem;
}
.gt-account-welcome .woocommerce-message {
  margin: 0;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
.gt-account-welcome .woocommerce-message {
  background: color-mix(in srgb, var(--gt-primary) 8%, #fff);
  border: 1px solid color-mix(in srgb, var(--gt-primary) 18%, transparent);
  border-radius: 12px;
  padding: 1rem 1.25rem;
  font-size: 0.875rem;
  line-height: 1.65;
  color: var(--gt-text, #334155);
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message::before,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info::before,
.gt-account-welcome .woocommerce-message::before {
  display: none;
}

/* My Account — Downloads & Orders (marketplace-style) */
.woocommerce-account .woocommerce-MyAccount-content > p,
.woocommerce-account .woocommerce-MyAccount-content .gt-account-dashboard-greeting,
.woocommerce-account .woocommerce-MyAccount-content .gt-account-dashboard-intro {
  color: var(--gt-text-muted, #64748b);
  font-size: 0.9375rem;
  line-height: 1.65;
  margin-bottom: 1.25rem;
}
.woocommerce-account .woocommerce-MyAccount-content .gt-account-dashboard-greeting {
  color: var(--gt-text-heading, #0f172a);
  margin-bottom: 0.5rem;
}
.woocommerce-account .woocommerce-MyAccount-content .gt-account-dashboard-greeting strong {
  font-weight: 700;
}
.woocommerce-account .woocommerce-MyAccount-content .gt-account-dashboard-intro {
  font-size: 0.875rem;
  margin-bottom: 2rem;
}
.woocommerce-account .woocommerce-MyAccount-content .gt-account-dashboard-intro a {
  color: var(--gt-primary, #5233eb);
  font-weight: 600;
  text-decoration: none;
}
.woocommerce-account .woocommerce-MyAccount-content .gt-account-dashboard-intro a:hover {
  opacity: 0.88;
}
.woocommerce-account .woocommerce-MyAccount-content > table:first-child,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notices-wrapper:not(:empty) + table,
.woocommerce-account .woocommerce-MyAccount-content .gt-account-dashboard-intro + table {
  margin-top: 0;
}
.woocommerce-account .woocommerce-MyAccount-content > h2,
.woocommerce-account .woocommerce-MyAccount-content > h3 {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  margin: 2.5rem 0 1rem;
}
.woocommerce-account .woocommerce-MyAccount-content > h2:first-of-type,
.woocommerce-account .woocommerce-MyAccount-content > h3:first-of-type {
  margin-top: 0;
}
/* Standalone tables on dashboard only */
.gt-account-endpoint--dashboard .woocommerce-MyAccount-content .woocommerce-table--order-downloads,
.gt-account-endpoint--dashboard .woocommerce-MyAccount-content .woocommerce-orders-table.woocommerce-MyAccount-orders {
  box-shadow: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-Address,
.woocommerce-account .gt-account-welcome .woocommerce-message {
  box-shadow: none;
}
/* Account tables — reset global cell chrome first */
.woocommerce-account .woocommerce-MyAccount-content table.shop_table :is(th, td),
.woocommerce-account table.woocommerce-table--order-downloads :is(th, td),
.woocommerce-account table.woocommerce-orders-table :is(th, td),
.woocommerce-account .woocommerce table.shop_table :is(th, td) {
  border: none !important;
}
.woocommerce-account .woocommerce table.shop_table {
  border-color: var(--gt-account-border);
  box-shadow: none;
}
/* Mockup grid — border-right + row border-bottom only */
.woocommerce-account .woocommerce-MyAccount-content table.shop_table :is(th, td):not(:last-child),
.woocommerce-account table.woocommerce-table--order-downloads :is(th, td):not(:last-child),
.woocommerce-account table.woocommerce-orders-table :is(th, td):not(:last-child) {
  border-right: 1px solid var(--gt-account-grid) !important;
}
.woocommerce-account .woocommerce-MyAccount-content table.shop_table thead th,
.woocommerce-account table.woocommerce-table--order-downloads thead th,
.woocommerce-account table.woocommerce-orders-table thead th {
  border-bottom: 1px solid var(--gt-account-thead-divider) !important;
}
.woocommerce-account .woocommerce-MyAccount-content table.shop_table thead th:not(:last-child),
.woocommerce-account table.woocommerce-table--order-downloads thead th:not(:last-child),
.woocommerce-account table.woocommerce-orders-table thead th:not(:last-child) {
  border-right-color: var(--gt-account-thead-divider) !important;
}
.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody tr:not(:last-child) :is(th, td),
.woocommerce-account table.woocommerce-table--order-downloads tbody tr:not(:last-child) :is(th, td),
.woocommerce-account table.woocommerce-orders-table tbody tr:not(:last-child) :is(th, td) {
  border-bottom: 1px solid var(--gt-account-grid) !important;
}
.woocommerce-account .woocommerce-table--order-downloads thead th,
.woocommerce-account .woocommerce-orders-table thead th,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table thead th {
  background: var(--gt-account-thead-bg) !important;
  padding: 0.875rem 1.25rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gt-account-thead-text) !important;
  text-align: left;
}
.woocommerce-account .woocommerce-table--order-downloads tbody td,
.woocommerce-account .woocommerce-orders-table tbody td,
.woocommerce-account .woocommerce-orders-table tbody th,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody td,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody th {
  padding: 1rem 1.25rem;
  vertical-align: middle;
  font-size: 0.9375rem;
  font-weight: 400;
  text-transform: none;
  letter-spacing: normal;
  color: var(--gt-text-heading, #0f172a);
  background: #fff !important;
}
.woocommerce-account .woocommerce-table--order-downloads tbody td a:not(.button):not(.woocommerce-MyAccount-downloads-file) {
  color: var(--gt-primary, #5233eb);
  font-weight: 700;
  text-decoration: none;
}
.woocommerce-account .woocommerce-table--order-downloads tbody td a:not(.button):not(.woocommerce-MyAccount-downloads-file):hover {
  text-decoration: underline;
}
.gt-account-endpoint--dashboard .woocommerce-MyAccount-content .woocommerce-table--order-downloads tbody tr:last-child td,
.gt-account-endpoint--dashboard .woocommerce-MyAccount-content .woocommerce-orders-table tbody tr:last-child :is(th, td) {
  border-bottom: none !important;
}
.woocommerce-account .woocommerce-table--order-downloads .download-product a,
.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-number a {
  color: var(--gt-primary, #5233eb);
  font-weight: 700;
  text-decoration: none;
}
.woocommerce-account .woocommerce-table--order-downloads .download-product a:hover,
.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-number a:hover {
  text-decoration: underline;
}
.woocommerce-account .woocommerce-table--order-downloads .download-file a,
.woocommerce-account a.woocommerce-MyAccount-downloads-file,
.woocommerce-account .woocommerce-MyAccount-downloads-file a,
.woocommerce-account .woocommerce-table--order-downloads .download-file .button,
.woocommerce-account .woocommerce-table--order-downloads a.button.alt {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: min(100%, 320px);
  padding: 0.5rem 1.125rem !important;
  border-radius: 999px !important;
  background: var(--gt-primary, #5233eb) !important;
  color: #fff !important;
  font-size: 0.8125rem !important;
  font-weight: var(--gt-btn-font-weight, 600) !important;
  text-decoration: none !important;
  border: none !important;
  box-shadow: none !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transform: none !important;
}
.woocommerce-account .woocommerce-table--order-downloads .download-file a:hover,
.woocommerce-account a.woocommerce-MyAccount-downloads-file:hover,
.woocommerce-account .woocommerce-MyAccount-downloads-file a:hover,
.woocommerce-account .woocommerce-table--order-downloads .download-file .button:hover,
.woocommerce-account .woocommerce-table--order-downloads a.button.alt:hover {
  background: var(--gt-primary-dark, #4338ca) !important;
  color: #fff !important;
  opacity: 0.95;
  transform: none !important;
  box-shadow: none !important;
}
.gt-account-endpoint--dashboard .woocommerce-table--order-downloads .download-file a,
.gt-account-endpoint--dashboard a.woocommerce-MyAccount-downloads-file,
.gt-account-endpoint--dashboard .woocommerce-table--order-downloads a.button.alt {
  background: #fff !important;
  color: var(--gt-primary, #5233eb) !important;
  border: 1px solid var(--gt-border, #cbd5e1) !important;
}
.gt-account-endpoint--dashboard .woocommerce-table--order-downloads .download-file a:hover,
.gt-account-endpoint--dashboard a.woocommerce-MyAccount-downloads-file:hover,
.gt-account-endpoint--dashboard .woocommerce-table--order-downloads a.button.alt:hover {
  border-color: var(--gt-primary, #5233eb) !important;
  color: var(--gt-primary, #5233eb) !important;
  background: #fff !important;
}
.woocommerce-account .woocommerce-orders-table .woocommerce-button,
.woocommerce-account .woocommerce-orders-table .button.view {
  padding: 0.5rem 1rem !important;
  border-radius: 999px !important;
  font-size: 0.8125rem !important;
  font-weight: var(--gt-btn-font-weight, 600) !important;
  border: 1px solid var(--gt-border, #cbd5e1) !important;
  background: #fff !important;
  color: var(--gt-text-heading, #0f172a) !important;
  box-shadow: none !important;
}
.woocommerce-account .woocommerce-orders-table .woocommerce-button:hover,
.woocommerce-account .woocommerce-orders-table .button.view:hover {
  border-color: var(--gt-primary, #5233eb) !important;
  color: var(--gt-primary, #5233eb) !important;
}
.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-status mark,
.woocommerce-account .woocommerce-orders-table mark.order-status {
  display: inline-flex;
  padding: 0.3125rem 0.875rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: color-mix(in srgb, var(--gt-primary) 14%, #fff);
  color: var(--gt-primary, #5233eb);
  line-height: 1.4;
}
.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-status .status-completed mark {
  background: color-mix(in srgb, var(--gt-primary) 14%, #fff);
  color: var(--gt-primary, #5233eb);
}
.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-status .status-processing mark {
  background: #eff6ff;
  color: #2563eb;
}
.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-status .status-on-hold mark {
  background: #fffbeb;
  color: #d97706;
}
.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-status .status-cancelled mark,
.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-status .status-failed mark,
.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-status .status-refunded mark {
  background: #fef2f2;
  color: #dc2626;
}
.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-total {
  font-weight: 700;
}
@media (min-width: 769px) {
  .woocommerce-account table.woocommerce-table--order-downloads.shop_table_responsive thead,
  .woocommerce-account table.woocommerce-orders-table.shop_table_responsive thead {
    display: table-header-group;
  }
  .woocommerce-account table.woocommerce-table--order-downloads.shop_table_responsive tr,
  .woocommerce-account table.woocommerce-orders-table.shop_table_responsive tr {
    display: table-row;
    margin-bottom: 0;
    border: none;
    border-radius: 0;
    overflow: visible;
  }
  .woocommerce-account table.woocommerce-table--order-downloads.shop_table_responsive td,
  .woocommerce-account table.woocommerce-orders-table.shop_table_responsive td {
    display: table-cell;
    text-align: left;
  }
  .woocommerce-account table.woocommerce-table--order-downloads.shop_table_responsive td::before,
  .woocommerce-account table.woocommerce-orders-table.shop_table_responsive td::before {
    display: none;
  }
}

/* Orders table — responsive stack */
.woocommerce-orders-table__cell::before {
  display: none;
}
@media (max-width: 768px) {
  .woocommerce table.shop_table.shop_table_responsive:not(.cart) thead { display: none; }
  .woocommerce table.shop_table.shop_table_responsive:not(.cart) tr {
    display: block;
    margin-bottom: 1rem;
    border: 1px solid var(--gt-border, #cbd5e1);
    border-radius: 12px;
    overflow: hidden;
  }
  .woocommerce table.shop_table.shop_table_responsive:not(.cart) td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    border-bottom: 1px solid var(--gt-border-light, #e2e8f0);
    text-align: right;
  }
  .woocommerce-account table.shop_table.shop_table_responsive tr {
    border-color: var(--gt-account-border);
    border-radius: var(--gt-account-radius);
  }
  .woocommerce-account table.shop_table.shop_table_responsive td {
    border-bottom-color: var(--gt-account-border);
  }
  .woocommerce table.shop_table.shop_table_responsive:not(.cart) td::before {
    display: block;
    content: attr(data-title);
    font-weight: 700;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--gt-text-muted, #64748b);
    text-align: left;
    flex-shrink: 0;
  }
  .woocommerce table.shop_table.shop_table_responsive:not(.cart) td:last-child { border-bottom: none; }
}

.woocommerce mark.order-status {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: color-mix(in srgb, var(--gt-primary) 14%, #fff);
  color: var(--gt-primary, #5233eb);
}

/* View order — intro sentence marks (reset browser yellow highlight) */
.woocommerce-account .gt-account-panel--view-order > p {
  color: var(--gt-text-muted, #64748b);
  font-size: 0.9375rem;
  line-height: 1.65;
  margin: 0 0 1.5rem;
}
.woocommerce-account .woocommerce-MyAccount-content mark.order-number,
.woocommerce-account .woocommerce-MyAccount-content mark.order-date {
  background: transparent;
  color: var(--gt-text-heading, #0f172a);
  font-weight: 700;
  padding: 0;
}
.woocommerce-account .woocommerce-MyAccount-content mark.order-status {
  background: color-mix(in srgb, var(--gt-primary) 14%, #fff);
  color: var(--gt-primary, #5233eb);
  font-weight: 700;
  padding: 0.25rem 0.75rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* View order — order details table + order again spacing */
.woocommerce-account .woocommerce-order-details {
  margin: 0 0 1.5rem;
}
.woocommerce-account .woocommerce-order-details__title {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  margin: 2rem 0 1rem;
  scroll-margin-top: 0;
}
.woocommerce-account .gt-account-panel--view-order .woocommerce-order-details__title:first-child,
.woocommerce-account .woocommerce-order-downloads + .woocommerce-order-details .woocommerce-order-details__title {
  margin-top: 0;
}
.woocommerce-account .woocommerce-order-details table.order_details {
  margin-bottom: 0;
}
.woocommerce-account .woocommerce-order-details .order-again {
  margin: 1.25rem 0 0;
  padding: 0;
}
.woocommerce-account .woocommerce-order-details table.order_details .amount,
.woocommerce-account .woocommerce-order-details table.order_details .woocommerce-Price-amount {
  color: var(--gt-text-heading, #0f172a);
  font-weight: 600;
}
.woocommerce-account .woocommerce-order-details table.order_details .product-name a {
  color: var(--gt-text-heading, #0f172a);
  font-weight: 600;
  text-decoration: none;
}
.woocommerce-account .woocommerce-order-details table.order_details .product-name a:hover {
  color: var(--gt-primary, #5233eb);
}
.woocommerce-account .woocommerce-order-details table.order_details tfoot th,
.woocommerce-account .woocommerce-order-details table.order_details tfoot td {
  border-top: 1px solid var(--gt-account-grid, #eef2f7) !important;
  font-size: 0.9375rem;
}
.woocommerce-account .woocommerce-order-details table.order_details tfoot th {
  font-weight: 700;
  background: #fff !important;
}
body.woocommerce-account .gt-wp-content .woocommerce-order-details table.order_details tfoot th {
  background: #fff !important;
}

/* Forms */
.woocommerce form .form-row { margin-bottom: 1rem; }
.woocommerce form .form-row-first,
.woocommerce form .form-row-last {
  width: 100%;
}
@media (min-width: 640px) {
  .woocommerce form .form-row-first,
  .woocommerce form .form-row-last { width: 48%; display: inline-block; vertical-align: top; }
  .woocommerce form .form-row-first { margin-right: 4%; }
}
.woocommerce form .form-row label {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--gt-text, #334155);
  margin-bottom: 0.35rem;
  display: block;
}
.woocommerce form .input-text,
.woocommerce form select,
.woocommerce form textarea {
  width: 100%;
  padding: 0.75rem 1rem;
  border-radius: 12px;
  border: 1px solid var(--gt-border, #cbd5e1);
  font-size: 0.875rem;
  color: var(--gt-text-heading, #0f172a);
  background: var(--gt-input-bg, #fff);
  box-sizing: border-box;
}
.woocommerce form .input-text:focus,
.woocommerce form select:focus,
.woocommerce form textarea:focus {
  outline: none;
  border-color: var(--gt-primary, #5233eb);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--gt-primary) 10%, transparent);
}

/* Show / hide password toggle (WooCommerce injects button.show-password-input) */
.woocommerce .password-input {
  display: block;
  position: relative;
  width: 100%;
}
.woocommerce .password-input input.input-text {
  padding-right: 2.75rem;
}
.woocommerce .password-input input::-ms-reveal {
  display: none;
}
.woocommerce button.show-password-input {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  margin: 0;
  padding: 0;
  border: 0 !important;
  border-radius: 0.5rem;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--gt-text-muted, #64748b);
  cursor: pointer;
  transform: translateY(-50%);
  -webkit-appearance: none;
  appearance: none;
}
.woocommerce button.show-password-input::before {
  content: "";
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  /* Eye (hidden / show) */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3E%3Cpath fill='%2364748b' d='M17.3 3.3c-.4-.4-1.1-.4-1.6 0L13.3 5.7A9.4 9.4 0 0 0 10 5.1C6.2 5.2 2.8 7.2 1 10.5c.2.4.5.8.8 1.2A12 12 0 0 0 4.7 14.4L3 16.1c-.4.4-.5 1.1 0 1.6.4.4 1.1.5 1.6 0L17.3 4.9c.4-.5.4-1.2 0-1.6ZM6.7 12.3 5.4 13.6A9.4 9.4 0 0 1 2.3 10.7c1.2-1.7 2.8-2.9 4.7-3.5-1.3 1.4-1.4 3.6-.3 5.1Zm3.4-3.3c-.5-.5-.4-1.3.1-1.8.5-.4 1.2-.4 1.7 0L10.1 9Zm8.2.5c-.5-.7-1.1-1.4-1.8-1.9l-1 1c.8.6 1.5 1.3 2.1 2.2C16 13.4 13.1 15 10 15h-.8l-1 1c.7-.1 1.3 0 1.9 0 3.3 0 6.4-1.6 8.3-4.3.3-.4.5-.8.8-1.2-.3-.3-.5-.7-.8-1Zm-4.3.5-4 4c2.2 0 4-1.8 4-4Z'/%3E%3C/svg%3E");
  opacity: 0.9;
}
.woocommerce button.show-password-input.display-password::before {
  /* Eye open (password visible) */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3E%3Cpath fill='%235233eb' d='M18.3 9.5C15 4.9 8.5 3.8 3.9 7.2c-1.2.9-2.2 2.1-3 3.4.2.4.5.8.8 1.2C5 16.4 11.3 17.4 15.9 14.2c.9-.7 1.7-1.4 2.4-2.4.3-.4.5-.8.8-1.2-.3-.4-.5-.8-.8-1.1ZM10.1 7.2c.5-.5 1.3-.5 1.8 0s.5 1.3 0 1.8-1.3.5-1.8 0-.5-1.3 0-1.8ZM10 14.9c-3.1 0-6-1.6-7.7-4.2C3.5 9 5.1 7.8 7 7.2c-.7.8-1 1.7-1 2.7C6 12.1 7.7 14 10 14c2.2 0 4.1-1.7 4.1-4v-.1c0-1-.4-2-1.1-2.7 1.9.6 3.5 1.8 4.7 3.5-1.7 2.6-4.6 4.2-7.7 4.2Z'/%3E%3C/svg%3E");
}
.woocommerce button.show-password-input:hover {
  background: color-mix(in srgb, var(--gt-primary, #5233eb) 8%, transparent) !important;
}
.woocommerce button.show-password-input:focus-visible {
  outline: 2px solid var(--gt-primary, #5233eb);
  outline-offset: 2px;
}

/* Select2 (WooCommerce country / state fields) */
.woocommerce .select2-container {
  width: 100% !important;
  max-width: 100%;
}
.woocommerce .select2-container--default .select2-selection--single {
  min-height: 46px;
  height: auto;
  padding: 0.625rem 2.25rem 0.625rem 1rem;
  border-radius: 12px;
  border: 1px solid var(--gt-border, #cbd5e1);
  background: var(--gt-input-bg, #fff);
  display: flex;
  align-items: center;
}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 0;
  line-height: 1.5;
  color: var(--gt-text-heading, #0f172a);
  font-size: 0.875rem;
}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 100%;
  top: 0;
  right: 0.75rem;
}
.woocommerce .select2-container--default.select2-container--open .select2-selection--single,
.woocommerce .select2-container--default.select2-container--focus .select2-selection--single {
  border-color: var(--gt-primary, #5233eb);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--gt-primary) 10%, transparent);
}
.select2-dropdown {
  border: 1px solid var(--gt-border, #cbd5e1);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 12px 32px -8px rgb(15 23 42 / 0.12);
}
.select2-container--default .select2-results__option {
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background: var(--gt-primary, #5233eb);
  color: #fff;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
  border-radius: 8px;
  border-color: var(--gt-border, #cbd5e1);
  padding: 0.5rem 0.75rem;
}

/* Pagination */
.woocommerce nav.woocommerce-pagination { margin-top: 2.5rem; text-align: center; }
.woocommerce nav.woocommerce-pagination ul {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.35rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  height: 2.5rem;
  padding: 0 0.5rem;
  border-radius: 10px;
  border: 1px solid var(--gt-border, #cbd5e1);
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--gt-text, #475569);
  text-decoration: none;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--gt-primary, #5233eb);
  color: #fff;
  border-color: var(--gt-primary, #5233eb);
}

/* ─── Dark mode extras ────────────────────────────────── */
html.theme-dark .woocommerce .woocommerce-message,
html.theme-dark .woocommerce .woocommerce-info {
  background: color-mix(in srgb, var(--gt-primary) 15%, transparent);
  border-color: color-mix(in srgb, var(--gt-primary) 30%, transparent);
  color: var(--gt-text);
}
html.theme-dark .woocommerce a.button.secondary,
html.theme-dark .woocommerce .woocommerce-MyAccount-content a.button {
  background: var(--gt-bg-subtle) !important;
  border-color: var(--gt-border) !important;
  color: #c4b5fd !important;
}
html.theme-dark .woocommerce-checkout #payment {
  background: var(--gt-bg-subtle);
}

/* ═══════════════════════════════════════════════════════════
   Extended WooCommerce — product types, auth, thank you, etc.
   Native class selectors for WordPress theme integration.
   ═══════════════════════════════════════════════════════════ */

/* Archive taxonomy */
.woocommerce.tax-product_cat .term-description,
.woocommerce.tax-product_tag .term-description {
  color: var(--gt-text-muted);
  margin-bottom: 1.5rem;
  line-height: 1.75;
}

/* Product types */
.woocommerce div.product.product-type-variable form.variations_form { margin-bottom: 1.5rem; }
.woocommerce div.product.product-type-variable table.variations {
  width: 100%;
  margin-bottom: 1rem;
  border-collapse: separate;
  border-spacing: 0 0.5rem;
}
.woocommerce div.product.product-type-variable table.variations td,
.woocommerce div.product.product-type-variable table.variations th {
  padding: 0.35rem 0;
  vertical-align: middle;
  font-size: 0.875rem;
}
.woocommerce div.product.product-type-variable table.variations label { font-weight: 600; color: var(--gt-text); }
.woocommerce div.product.product-type-variable .reset_variations {
  font-size: 0.8125rem;
  color: var(--gt-text-muted);
  margin-left: 0.5rem;
}
.woocommerce div.product.product-type-grouped table.group_table { width: 100%; margin-bottom: 1rem; }
.woocommerce div.product.product-type-grouped table.group_table td { padding: 0.75rem 0; vertical-align: middle; }
.woocommerce div.product.product-type-external .single_add_to_cart_button { background: var(--gt-btn-primary-bg, linear-gradient(135deg, var(--gt-primary), var(--gt-secondary))) !important; }

/* Stock */
.woocommerce div.product .stock {
  font-size: 0.8125rem;
  font-weight: 700;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  display: inline-block;
  margin-bottom: 1rem;
}
.woocommerce div.product .stock.in-stock { background: rgba(16, 185, 129, 0.12); color: #059669; }
.woocommerce div.product .stock.out-of-stock { background: rgba(239, 68, 68, 0.1); color: #dc2626; }
html.theme-dark .woocommerce div.product .stock.in-stock { color: #6ee7b7; }
html.theme-dark .woocommerce div.product .stock.out-of-stock { color: #fca5a5; }
.woocommerce ul.products li.product.outofstock .button,
.woocommerce ul.products li.product.outofstock .add_to_cart_button {
  opacity: 0.55;
  pointer-events: none;
}

/* Reviews / rating */
.woocommerce .star-rating {
  overflow: hidden;
  position: relative;
  height: 1em;
  line-height: 1;
  font-size: 1em;
  width: 5.4em;
  font-family: inherit;
  letter-spacing: 0.08em;
  color: #f59e0b;
}
.woocommerce .star-rating::before { content: '★★★★★'; color: #e2e8f0; float: left; top: 0; left: 0; position: absolute; }
.woocommerce .star-rating span { overflow: hidden; float: left; top: 0; left: 0; position: absolute; padding-top: 1.5em; }
.woocommerce .star-rating span::before { content: '★★★★★'; top: 0; position: absolute; left: 0; color: #f59e0b; }

/* Review form — star picker (WC default styles removed with dequeue) */
.woocommerce p.stars {
  display: inline-block;
  margin: 0.25rem 0 1rem;
  line-height: 1;
  font-size: 0;
}
.woocommerce p.stars a {
  position: relative;
  display: inline-block;
  width: 1.35em;
  height: 1.35em;
  margin-right: 0.15em;
  text-indent: -999em;
  overflow: hidden;
  text-decoration: none;
  font-size: 1.25rem;
}
.woocommerce p.stars a::before {
  content: '★';
  position: absolute;
  inset: 0;
  text-indent: 0;
  display: block;
  line-height: 1.35em;
  text-align: center;
  color: #e2e8f0;
}
.woocommerce p.stars:hover a::before { color: #f59e0b; }
.woocommerce p.stars a:hover ~ a::before { color: #e2e8f0; }
.woocommerce p.stars.selected a:not(.active)::before { color: #f59e0b; }
.woocommerce p.stars.selected a.active::before { color: #f59e0b; }
.woocommerce p.stars.selected a.active ~ a::before { color: #e2e8f0; }

.woocommerce #reviews #comments .commentlist { list-style: none; margin: 0; padding: 0; }
.woocommerce #reviews #comments .commentlist li {
  padding: 1rem 0;
  border-bottom: 1px solid var(--gt-border-light);
}
.woocommerce #reviews #comments .commentlist li .comment-text {
  border: 1px solid var(--gt-border-light, #e2e8f0);
  border-radius: 12px;
  padding: 1rem 1.25rem;
  background: var(--gt-surface, #fff);
}
.woocommerce #reviews #comments .commentlist li .meta {
  font-size: 0.8125rem;
  color: var(--gt-text-muted, #64748b);
  margin-bottom: 0.5rem;
}
.woocommerce #review_form #respond {
  background: var(--gt-surface, #fff);
  border: 1px solid var(--gt-border, #cbd5e1);
  border-radius: 16px;
  padding: 1.25rem;
}
.woocommerce #review_form #respond .comment-reply-title {
  font-family: var(--gt-font-display, var(--gt-font, 'Outfit', system-ui, sans-serif));
  font-size: 1.125rem;
  font-weight: 800;
  color: var(--gt-text-heading, #0f172a);
  margin-bottom: 1rem;
}
.woocommerce #review_form #respond .comment-form-rating {
  margin-bottom: 1rem;
}
.woocommerce #review_form #respond .comment-form-rating label {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--gt-text, #334155);
  margin-bottom: 0.35rem;
}
.woocommerce #review_form #respond .comment-form-comment label {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--gt-text, #334155);
  margin-bottom: 0.35rem;
}
.woocommerce #review_form #respond textarea,
.woocommerce #review_form #respond input:not([type="hidden"]) {
  margin-top: 0.35rem;
}
.woocommerce #review_form #respond textarea {
  min-height: 8rem;
  resize: vertical;
}
.woocommerce #review_form #respond .form-submit {
  margin-top: 1rem;
  margin-bottom: 0;
}

/* Upsells / cross-sells */
.woocommerce .upsells.products { margin-top: 3rem; }

.woocommerce .cross-sells {
  margin-top: 0;
  width: 100%;
}

body.woocommerce-cart :is(.gt-wp-content, .gt-woo-content, .gt-page__content) .cross-sells > h2,
body.woocommerce-cart :is(.gt-wp-content, .gt-woo-content, .gt-page__content) .cart_totals > h2 {
  font-family: var(--gt-font-display, var(--gt-font, 'Outfit', system-ui, sans-serif)) !important;
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  margin: 0 0 0.75rem !important;
  padding: 0 !important;
  letter-spacing: -0.01em;
  text-transform: none;
  color: var(--gt-text-heading, #0f172a);
  scroll-margin-top: 0;
}

.woocommerce .upsells.products > h2,
.woocommerce .cross-sells > h2 {
  font-family: var(--gt-font-display, var(--gt-font, 'Outfit', system-ui, sans-serif));
  font-size: 0.9375rem;
  font-weight: 700;
  margin: 0 0 0.75rem;
  color: var(--gt-text-heading, #0f172a);
  letter-spacing: -0.01em;
  text-transform: none;
}

body.woocommerce-cart .cross-sells ul.products {
  display: flex !important;
  flex-direction: column;
  gap: 0.625rem;
  grid-template-columns: none !important;
}

body.woocommerce-cart .cross-sells ul.products li.gt-cross-sell-card {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.75rem;
  margin: 0 !important;
  width: 100% !important;
  padding: 0;
  border: 1px solid var(--gt-border-light, #e2e8f0);
  border-radius: 12px;
  background: var(--gt-surface, #fff);
  overflow: hidden;
  box-shadow: none;
  transition: border-color 0.2s ease;
}

body.woocommerce-cart .cross-sells ul.products li.gt-cross-sell-card:hover {
  transform: none;
  border-color: color-mix(in srgb, var(--gt-primary, #5233eb) 22%, transparent);
}

.gt-cross-sell-card__media {
  display: block;
  flex-shrink: 0;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 8px;
  background: var(--gt-bg-muted, #f8fafc);
  overflow: hidden;
}

.gt-cross-sell-card__img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  margin: 0 !important;
}

.gt-cross-sell-card__body {
  display: flex;
  flex: 1;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 0.625rem;
  min-width: 0;
  padding: 0 0.625rem 0 0;
}

.gt-cross-sell-card__info {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 0.125rem;
  min-width: 0;
}

.gt-cross-sell-card__title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--gt-text-heading, #0f172a);
  text-decoration: none;
}

.gt-cross-sell-card__title:hover {
  color: var(--gt-primary, #5233eb);
}

body.woocommerce-cart .cross-sells ul.products li.gt-cross-sell-card .gt-cross-sell-card__price,
body.woocommerce-cart .cross-sells ul.products li.gt-cross-sell-card .price {
  padding: 0 !important;
  margin: 0 !important;
  font-size: 0.6875rem !important;
  font-weight: 700 !important;
  line-height: 1.25;
  color: var(--gt-text-muted, #64748b);
}

.gt-cross-sell-card__price {
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--gt-text-muted, #64748b);
}

.gt-cross-sell-card__price .woocommerce-Price-amount {
  color: var(--gt-primary, #5233eb);
  font-weight: 800;
  font-size: inherit;
}

.gt-cross-sell-card__price del,
.gt-cross-sell-card__price .gt-price-pair__regular {
  color: var(--gt-text-muted, #94a3b8) !important;
  font-weight: 600 !important;
  font-size: 0.6875rem !important;
  text-decoration: line-through;
}

.gt-cross-sell-card__price ins,
.gt-cross-sell-card__price .woocommerce-Price-amount:not(del .woocommerce-Price-amount) {
  text-decoration: none;
  background: none;
}

.gt-cross-sell-card__price ins .amount,
.gt-cross-sell-card__price ins .woocommerce-Price-amount {
  color: var(--gt-primary, #5233eb) !important;
  font-weight: 800 !important;
}

.gt-cross-sell-card__action {
  flex-shrink: 0;
  align-self: center;
}

.gt-cross-sell-card__action .button,
.gt-cross-sell-card__action .add_to_cart_button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: auto !important;
  min-height: 0;
  margin: 0 !important;
  padding: 0.4rem 0.65rem !important;
  font-size: 0.6875rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  border-radius: 999px !important;
  white-space: nowrap;
  border: 1px solid var(--gt-border-light, #e2e8f0) !important;
  background: var(--gt-surface, #fff) !important;
  color: var(--gt-text-heading, #0f172a) !important;
  box-shadow: none !important;
  transform: none !important;
}

.gt-cross-sell-card__action .button:hover,
.gt-cross-sell-card__action .add_to_cart_button:hover {
  border-color: color-mix(in srgb, var(--gt-primary, #5233eb) 35%, transparent) !important;
  color: var(--gt-primary, #5233eb) !important;
  background: color-mix(in srgb, var(--gt-primary, #5233eb) 5%, #fff) !important;
  transform: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

/* Mini-cart drawer cross-sells */
.gt-cart-cross-sells {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

.gt-cart-cross-sells__title {
  margin: 0 0 0.75rem;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--gt-text-muted, #94a3b8);
}

.gt-cart-cross-sells__list {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.gt-cart-cross-sell {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.75rem;
  border-radius: 14px;
  background: var(--gt-surface, #fff);
  border: 1px solid var(--gt-border-light, #e2e8f0);
  box-shadow: 0 1px 2px rgb(15 23 42 / 0.04);
}

.gt-cart-cross-sell__media {
  display: block;
  flex-shrink: 0;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 10px;
  overflow: hidden;
  background: var(--gt-bg-muted, #f8fafc);
  box-shadow: 0 1px 2px rgb(15 23 42 / 0.06);
}

.gt-cart-cross-sell__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gt-cart-cross-sell__content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.4rem;
}

.gt-cart-cross-sell__title {
  display: block;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--gt-text-heading, #0f172a);
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.gt-cart-cross-sell__title:hover {
  color: var(--gt-primary, #5233eb);
}

.gt-cart-cross-sell__price {
  display: block;
  font-size: 0.75rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--gt-primary, #5233eb);
  white-space: normal;
}

.gt-cart-cross-sell__price .gt-price-pair {
  flex-wrap: nowrap;
}

.gt-cart-cross-sell__btn {
  align-self: stretch;
  width: 100%;
  justify-content: center;
  margin: 0 !important;
  padding: 0.45rem 0.65rem !important;
  font-size: 0.6875rem !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  border-radius: 10px !important;
  white-space: nowrap;
}

/* Empty cart */
.woocommerce-cart .cart-empty,
.woocommerce .cart-empty.woocommerce-info {
  text-align: center;
  padding: 2rem;
  margin-bottom: 1.5rem;
}
.woocommerce .return-to-shop { text-align: center; margin-top: 1rem; }
.woocommerce .return-to-shop .button { margin: 0 auto; }

/* Thank you / order received */
.woocommerce-order-received .woocommerce-order {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  max-width: 48rem;
  margin-inline: auto;
}
.woocommerce-order-received .woocommerce-notice--success,
.woocommerce-order-received .woocommerce-thankyou-order-received {
  background: rgba(16, 185, 129, 0.1);
  border: 1px solid rgba(16, 185, 129, 0.25);
  border-radius: 12px;
  padding: 1rem 1.25rem;
  color: var(--gt-text, #334155);
  margin: 0 0 1.5rem;
  list-style: none;
}
.woocommerce-order-received ul.order_details {
  list-style: none !important;
  margin: 0 0 1.5rem;
  padding: 0 !important;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}
@media (min-width: 640px) {
  .woocommerce-order-received ul.order_details {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 900px) {
  .woocommerce-order-received ul.order_details {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}
.woocommerce-order-received ul.order_details::before,
.woocommerce-order-received ul.order_details::after {
  display: none !important;
  content: none !important;
}
body.woocommerce-order-received .gt-wp-content ul.order_details > li,
body.woocommerce-order-received .article-body ul.order_details > li,
.woocommerce-order-received ul.order_details > li {
  list-style: none !important;
  float: none !important;
  margin: 0 !important;
  padding: 0.875rem 1rem;
  border: 1px solid var(--gt-border, #e2e8f0) !important;
  border-right: 1px solid var(--gt-border, #e2e8f0) !important;
  border-radius: 12px;
  background: #fff;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: var(--gt-text-muted, #64748b);
  min-width: 0;
}
.woocommerce-order-received ul.order_details > li::marker {
  content: none !important;
}
.woocommerce-order-received ul.order_details li strong {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--gt-text-heading, #0f172a);
  overflow-wrap: anywhere;
  word-break: break-word;
}
.woocommerce-order-received ul.order_details li .amount {
  color: inherit;
  font-weight: inherit;
}
.woocommerce-order-received .gt-thankyou-theme-notice {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 1.5rem 0 0 !important;
  font-size: 0.875rem;
  line-height: 1.65;
  color: var(--gt-text-muted, #64748b);
}
.woocommerce-order-received .gt-thankyou-theme-notice::before {
  display: none !important;
}
.woocommerce-order-received .gt-thankyou-theme-notice strong {
  color: var(--gt-text-heading, #0f172a);
  font-weight: 700;
}
.woocommerce-order-received .gt-thankyou-theme-notice a {
  color: var(--gt-primary, #5233eb);
  font-weight: 600;
  text-decoration: none;
}
.woocommerce-order-received .gt-thankyou-theme-notice a:hover {
  opacity: 0.88;
}
.woocommerce-order-received .woocommerce-order-details {
  margin: 0 0 1.5rem;
}
.woocommerce-order-received .woocommerce-order-details__title,
.woocommerce-order-received .woocommerce-customer-details .woocommerce-column__title {
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  margin: 0 0 1rem;
  scroll-margin-top: 0;
  color: var(--gt-text-heading, #0f172a);
}
.woocommerce-order-received .woocommerce-customer-details {
  margin-top: 2rem;
}
.woocommerce-order-received .woocommerce-customer-details address {
  font-style: normal;
  color: var(--gt-text-muted, #64748b);
  font-size: 0.9375rem;
  line-height: 1.65;
}
.woocommerce-order-received .woocommerce-customer-details--email a,
.woocommerce-order-received .woocommerce-customer-details a {
  color: var(--gt-primary, #5233eb);
  font-weight: 600;
  text-decoration: none;
}
.woocommerce-order-received table.order_details,
.woocommerce-order-received table.woocommerce-table--order-details {
  width: 100%;
  border: 1px solid var(--gt-account-border, #e2e8f0) !important;
  border-radius: var(--gt-account-radius, 16px);
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden;
  background: #fff;
  margin: 0;
}
.woocommerce-order-received table.order_details :is(th, td),
.woocommerce-order-received table.woocommerce-table--order-details :is(th, td) {
  border: none !important;
  padding: 1rem 1.25rem;
  vertical-align: middle;
  font-size: 0.9375rem;
  color: var(--gt-text-heading, #0f172a);
  background: #fff;
}
.woocommerce-order-received table.order_details :is(th, td):not(:last-child),
.woocommerce-order-received table.woocommerce-table--order-details :is(th, td):not(:last-child) {
  border-right: 1px solid var(--gt-account-grid, #eef2f7) !important;
}
.woocommerce-order-received table.order_details thead th,
.woocommerce-order-received table.woocommerce-table--order-details thead th {
  background: var(--gt-account-thead-bg, #f8f9fc) !important;
  padding: 0.875rem 1.25rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gt-account-thead-text, #64748b) !important;
  text-align: left;
  border-bottom: 1px solid var(--gt-account-thead-divider, #e9edf3) !important;
}
.woocommerce-order-received table.order_details tbody tr:not(:last-child) td,
.woocommerce-order-received table.woocommerce-table--order-details tbody tr:not(:last-child) td {
  border-bottom: 1px solid var(--gt-account-grid, #eef2f7) !important;
}
.woocommerce-order-received table.order_details tfoot th,
.woocommerce-order-received table.order_details tfoot td,
.woocommerce-order-received table.woocommerce-table--order-details tfoot th,
.woocommerce-order-received table.woocommerce-table--order-details tfoot td {
  border-top: 1px solid var(--gt-account-grid, #eef2f7) !important;
}
.woocommerce-order-received table.order_details tfoot th {
  font-weight: 700;
  text-align: left;
}
body.woocommerce-order-received .gt-wp-content table.order_details tfoot th,
body.woocommerce-order-received .gt-wp-content table.woocommerce-table--order-details tfoot th {
  background: #fff !important;
}
.woocommerce-order-received table.order_details .product-name a {
  color: var(--gt-text-heading, #0f172a);
  font-weight: 600;
  text-decoration: none;
}
.woocommerce-order-received table.order_details .product-name a:hover {
  color: var(--gt-primary, #5233eb);
}
.woocommerce-order-received table.order_details .amount,
.woocommerce-order-received table.order_details .woocommerce-Price-amount {
  color: var(--gt-text-heading, #0f172a);
  font-weight: 600;
}
.woocommerce-order-received table.order_details .product-quantity {
  font-weight: 600;
  color: var(--gt-text-muted, #64748b);
}

/* Legacy overview list (non order-received contexts) */
.woocommerce ul.order_details:not(.woocommerce-thankyou-order-details) {
  list-style: none;
  margin: 0 0 1.5rem;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.woocommerce ul.order_details:not(.woocommerce-thankyou-order-details) li {
  background: var(--gt-bg-muted);
  border: 1px solid var(--gt-border-light);
  border-radius: 10px;
  padding: 0.625rem 1rem;
  font-size: 0.8125rem;
  color: var(--gt-text-muted);
}
.woocommerce ul.order_details:not(.woocommerce-thankyou-order-details) li strong {
  color: var(--gt-text-heading);
  display: block;
  margin-top: 0.15rem;
}

/* Login / register / lost password */
.woocommerce-form-login,
.woocommerce-form-register,
.woocommerce-ResetPassword {
  background: var(--gt-surface);
  border: 1px solid var(--gt-border);
  border-radius: 16px;
  padding: clamp(1.25rem, 3vw, 2rem);
}
.woocommerce #customer_login .u-column1 .woocommerce-form-login,
.woocommerce #customer_login .u-column2 .woocommerce-form-register {
  max-width: none;
}
.woocommerce #customer_login h2 {
  font-family: var(--gt-font-display, var(--gt-font, 'Outfit', system-ui, sans-serif));
  font-weight: 800;
  font-size: 1.25rem;
  color: var(--gt-text-heading);
  margin-bottom: 1.25rem;
}
.woocommerce-form-login .woocommerce-form-login__rememberme {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: var(--gt-text-muted);
  margin: 0.75rem 0 1rem;
}
.woocommerce-form-login .lost_password {
  font-size: 0.875rem;
  margin-top: 0.75rem;
}
.woocommerce-form-login .lost_password a,
.woocommerce-privacy-policy-text a { color: var(--gt-primary); font-weight: 600; }
.woocommerce form .form-row-wide { width: 100%; }
.woocommerce form .woocommerce-form__label-for-checkbox {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: var(--gt-text);
}

/* Inputs: checkbox, radio */
.woocommerce input[type="checkbox"],
.woocommerce input[type="radio"] {
  accent-color: var(--gt-primary, #5233eb);
  width: 1rem;
  height: 1rem;
}

/* Widgets / filters */
.woocommerce.widget_price_filter .price_slider_wrapper { padding-top: 0.5rem; }
.woocommerce.widget_price_filter .ui-slider {
  position: relative;
  height: 4px;
  background: var(--gt-border-light);
  border-radius: 4px;
  margin-bottom: 1rem;
}
.woocommerce.widget_layered_nav ul { list-style: none; margin: 0; padding: 0; }
.woocommerce.widget_layered_nav li { margin-bottom: 0.35rem; }
.woocommerce.widget_layered_nav a { color: var(--gt-text); font-size: 0.875rem; text-decoration: none; }
.woocommerce.widget_layered_nav a:hover { color: var(--gt-primary); }
.woocommerce .woocommerce-widget-layered-nav-dropdown select { width: 100%; }

/* Wishlist / compare plugin compatibility (common classes) */
.woocommerce .yith-wcwl-add-to-wishlist a,
.woocommerce a.compare,
.woocommerce .tinvwl_add_to_wishlist_button {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--gt-text-muted);
  text-decoration: none;
}
.woocommerce .yith-wcwl-add-to-wishlist a:hover,
.woocommerce a.compare:hover { color: var(--gt-primary); }

/* Block checkout compatibility */
.wc-block-components-text-input input,
.wc-block-components-select select {
  border-radius: 12px !important;
  border-color: var(--gt-border) !important;
  background: var(--gt-input-bg) !important;
  color: var(--gt-text-heading) !important;
}

/* Dark mode — extended */
html.theme-dark .woocommerce div.product .woocommerce-Tabs-panel,
html.theme-dark .woocommerce #review_form #respond,
html.theme-dark .woocommerce .gt-sidebar .widget,
html.theme-dark .woocommerce-cart .cart_totals,
html.theme-dark .woocommerce-cart table.cart,
html.theme-dark .woocommerce-checkout .woocommerce-billing-fields,
html.theme-dark .woocommerce-checkout .woocommerce-additional-fields,
html.theme-dark .woocommerce-checkout #order_review,
html.theme-dark .woocommerce-checkout .woocommerce-checkout-review-order,
html.theme-dark .woocommerce-checkout #wc-stripe-express-checkout-element,
html.theme-dark .woocommerce-checkout #wc-stripe-payment-request-wrapper,
html.theme-dark .woocommerce-checkout .wcpay-express-checkout,
html.theme-dark .woocommerce-form-login,
html.theme-dark .woocommerce-form-register,
html.theme-dark .woocommerce-order-received .woocommerce-order {
  background: var(--gt-surface);
  border-color: var(--gt-border);
}
html.theme-dark .gt-account-panel--dashboard {
  background: transparent;
  border: none !important;
}
html.theme-dark .woocommerce-account .woocommerce-MyAccount-navigation,
html.theme-dark .woocommerce-account .gt-account-panel--edit-address,
html.theme-dark .woocommerce-account .gt-account-panel--edit-account,
html.theme-dark .woocommerce-account .gt-account-panel--payment-methods,
html.theme-dark .woocommerce-account .gt-account-panel--add-payment-method,
html.theme-dark .woocommerce-account .woocommerce-MyAccount-content table.shop_table,
html.theme-dark .woocommerce-account table.woocommerce-table--order-downloads,
html.theme-dark .woocommerce-account table.woocommerce-orders-table {
  background: var(--gt-surface);
  border: 1px solid var(--gt-account-border, var(--gt-border)) !important;
}
html.theme-dark .woocommerce-account .woocommerce-table--order-downloads thead th,
html.theme-dark .woocommerce-account .woocommerce-orders-table thead th,
html.theme-dark .woocommerce-account .woocommerce-MyAccount-content table.shop_table thead th {
  background: color-mix(in srgb, var(--gt-text-heading, #f8fafc) 6%, var(--gt-surface)) !important;
  color: var(--gt-text-muted, #94a3b8) !important;
  --gt-account-thead-divider: var(--gt-border);
}
html.theme-dark .woocommerce-account .woocommerce-Address {
  background: var(--gt-surface);
  border-color: var(--gt-account-border, var(--gt-border));
}
html.theme-dark .woocommerce-account .woocommerce-Address .edit {
  background: var(--gt-surface);
  border-color: var(--gt-border);
  color: var(--gt-primary) !important;
}
html.theme-dark .woocommerce-account .woocommerce-orders-table tbody th,
html.theme-dark .woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody th {
  background: var(--gt-surface) !important;
  color: var(--gt-text-heading, #f8fafc);
}
html.theme-dark .woocommerce .star-rating::before { color: #334155; }
html.theme-dark .woocommerce-order-received .woocommerce-notice--success {
  background: rgba(16, 185, 129, 0.15);
  border-color: rgba(16, 185, 129, 0.3);
}
html.theme-dark .woocommerce ul.order_details li { background: var(--gt-bg-subtle); border-color: var(--gt-border); }
html.theme-dark .woocommerce-MyAccount-navigation {
  background: var(--gt-surface);
}
html.theme-dark .woocommerce-MyAccount-navigation ul li {
  background: var(--gt-surface);
}
html.theme-dark .woocommerce-MyAccount-navigation {
  border-color: var(--gt-account-border, var(--gt-border));
}
html.theme-dark .woocommerce-MyAccount-navigation ul li:not(:last-child) {
  border-bottom-color: var(--gt-account-border, var(--gt-border));
}
html.theme-dark .woocommerce-MyAccount-navigation ul li.is-active {
  background: color-mix(in srgb, var(--gt-primary) 16%, var(--gt-surface));
}
html.theme-dark .woocommerce-MyAccount-navigation ul li.is-active > a,
html.theme-dark .woocommerce-MyAccount-navigation ul li.is-active > a:hover {
  color: var(--gt-primary);
  opacity: 1;
}
html.theme-dark .woocommerce-MyAccount-navigation ul li:not(.is-active):hover {
  background: color-mix(in srgb, var(--gt-primary) 10%, var(--gt-surface));
}
html.theme-dark .woocommerce-MyAccount-navigation ul li:not(.is-active):hover > a {
  background: color-mix(in srgb, var(--gt-primary) 18%, transparent);
  color: #c4b5fd;
}
html.theme-dark .woocommerce div.product p.price,
html.theme-dark .woocommerce ul.products li.product .price { color: #a9a4ff; }
html.theme-dark .woocommerce .woocommerce-result-count,
html.theme-dark .woocommerce div.product .product_meta,
html.theme-dark .woocommerce div.product .woocommerce-product-details__short-description { color: var(--gt-text-muted); }
