/*
 * WooCommerce marketplace system.
 * Kept separate so the storefront always loads after WooCommerce's own CSS.
 */

:root {
  --store-navy: #111b31;
  --store-navy-2: #1d2b43;
  --store-accent: var(--blue-600, #1677ff);
  --store-accent-2: var(--cyan-500, #11b8e7);
  --store-rose: #f43f5e;
  --store-red: #e11d48;
  --store-text: #0f172a;
  --store-muted: #5c6b82;
  --store-line: #e2e8f0;
  --store-soft: #f8fafc;
}

body.woocommerce-shop,
body.tax-product_cat,
body.tax-product_tag {
  background: #fff;
}

.woocommerce-shop .site-header,
.tax-product_cat .site-header,
.tax-product_tag .site-header {
  position: relative;
  background: var(--store-navy);
  box-shadow: none;
}

.gts-store-strip {
  overflow: hidden;
  color: #c8d2e1;
  border-top: 1px solid rgba(255,255,255,.06);
  border-bottom: 1px solid #263752;
  background: #172238;
}

.gts-store-strip__frame {
  display: grid;
  width: min(calc(100% - 48px), 1400px);
  min-width: 0;
  grid-template-columns: minmax(0, 1fr) 330px;
  align-items: center;
  gap: 24px;
  margin-inline: auto;
}
.gts-store-strip__navigation {
  display: grid;
  min-width: 0;
  grid-template-columns: 38px minmax(0, 1fr) 38px;
  align-items: stretch;
}

.gts-store-strip__inner {
  display: flex;
  overflow-x: auto;
  width: 100%;
  min-width: 0;
  min-height: 58px;
  align-items: stretch;
  gap: 30px;
  cursor: grab;
  overscroll-behavior-inline: contain;
  scroll-behavior: smooth;
  scroll-padding-inline: 10px;
  scrollbar-width: none;
  touch-action: pan-y pinch-zoom;
  -webkit-overflow-scrolling: touch;
}
.gts-store-strip__inner::-webkit-scrollbar { display: none; }
.gts-store-strip__inner.is-dragging {
  cursor: grabbing;
  scroll-behavior: auto;
  user-select: none;
}
.gts-store-strip__inner:focus-visible {
  outline: 2px solid #57c7ff;
  outline-offset: -3px;
}
.gts-store-strip__control {
  display: grid;
  min-width: 0;
  place-items: center;
  padding: 0;
  color: #b9c7da;
  border: 0;
  background: #172238;
  cursor: pointer;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: color .2s ease, background .2s ease, opacity .2s ease;
}
.gts-store-strip__control.is-visible {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
.gts-store-strip__control:hover,
.gts-store-strip__control:focus-visible {
  color: #fff;
  background: #20304c;
  outline: 0;
}
.gts-store-strip__control:disabled {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  cursor: default;
}
.gts-store-strip__control .icon { width: 18px; height: 18px; }
.gts-store-strip__control--prev .icon { transform: rotate(90deg); }
.gts-store-strip__control--next .icon { transform: rotate(-90deg); }
.gts-store-strip a {
  position: relative;
  display: inline-flex;
  min-width: max-content;
  align-items: center;
  color: #aebbd0;
  font-size: 14px;
  font-weight: 700;
  transition: color .2s ease;
}
.gts-store-strip a::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  content: "";
  border-radius: 3px 3px 0 0;
  background: transparent;
}
.gts-store-strip a:hover,
.gts-store-strip a.is-active { color: #57c7ff; }
.gts-store-strip a.is-active::after {
  background: linear-gradient(90deg, var(--store-accent), var(--store-accent-2));
}
.gts-store-strip__search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 54px;
  height: 48px;
  overflow: hidden;
  border: 1px solid #34435c;
  border-radius: 10px;
  background: #202c42;
}
.gts-store-strip__search input[type="search"] {
  min-width: 0;
  padding: 0 16px;
  color: #f2f6fb;
  border: 0;
  background: transparent;
  font: inherit;
  outline: 0;
}
.gts-store-strip__search input[type="search"]::placeholder { color: #8795aa; }
.gts-store-strip__search:focus-within {
  border-color: #35bfff;
  box-shadow: 0 0 0 3px rgba(22, 167, 255, .16);
}
.gts-store-strip__search button {
  display: grid;
  place-items: center;
  padding: 0;
  color: #fff;
  border: 0;
  background: linear-gradient(135deg, var(--store-accent), var(--store-accent-2));
  cursor: pointer;
}
.gts-store-strip__search button:hover { filter: brightness(1.08); }
.gts-store-strip__search svg { width: 21px; height: 21px; }

.gts-marketplace {
  min-height: calc(100vh - 148px);
  padding: 42px 0 118px;
  color: var(--store-text);
  background: #fff;
  font-size: 16px;
}

.gts-marketplace__container {
  width: min(calc(100% - 48px), 1400px);
}

.gts-marketplace__breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 24px;
  color: #64748b;
  font-size: 15px;
}

.gts-marketplace__breadcrumb a { transition: color .2s ease; }
.gts-marketplace__breadcrumb a:hover { color: var(--store-accent); }
.gts-marketplace__breadcrumb strong { color: var(--store-text); font-weight: 700; }
.gts-marketplace__breadcrumb span { color: #94a3b8; font-size: 22px; line-height: 1; }

.gts-marketplace__intro { margin-bottom: 34px; }
.gts-marketplace__intro h1 {
  margin: 0 0 12px;
  color: var(--store-text);
  font-family: var(--font-sans);
  font-size: clamp(34px, 3vw, 46px);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -.035em;
}
.gts-marketplace__intro p {
  max-width: 1320px;
  margin: 0;
  color: #42526a;
  font-size: 17px;
  line-height: 1.65;
}

.gts-marketplace__layout {
  display: grid;
  grid-template-columns: 270px minmax(0, 1fr);
  align-items: start;
  gap: 30px;
}

.gts-category-panel {
  position: sticky;
  top: 24px;
  overflow: hidden;
  color: #e7edf7;
  border: 1px solid #263752;
  border-radius: 18px;
  background: linear-gradient(155deg, #21304a, #17243a);
  box-shadow: 0 18px 45px rgba(15, 23, 42, .13);
}

.gts-category-panel__heading {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 22px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, .09);
}
.gts-category-panel__heading > span:last-child { display: grid; gap: 2px; }
.gts-category-panel__heading strong { color: #fff; font-size: 17px; }
.gts-category-panel__heading small { color: #8fa0b8; font-size: 12px; }
.gts-category-panel__icon {
  display: grid;
  width: 48px;
  height: 48px;
  flex: 0 0 auto;
  place-items: center;
  color: #fff;
  border-radius: 14px;
  background: linear-gradient(145deg, var(--store-accent), var(--store-accent-2));
  box-shadow: 0 10px 24px rgba(22, 119, 255, .3);
}
.gts-category-panel__icon svg { width: 23px; height: 23px; }

.gts-category-panel__nav { padding: 16px 14px 20px; }
.gts-category-panel__nav a {
  display: flex;
  min-height: 43px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: #dce5f1;
  border: 1px solid transparent;
  border-radius: 10px;
  transition: color .2s ease, border-color .2s ease, background .2s ease;
}
.gts-category-panel__nav a > span {
  min-width: 0;
  white-space: nowrap;
}
.gts-category-panel__nav a small {
  display: grid;
  min-width: 28px;
  height: 25px;
  place-items: center;
  padding: 0 7px;
  color: #becbe0;
  border-radius: 7px;
  background: #334763;
  font-size: 11px;
  font-weight: 800;
}
.gts-category-panel__parent {
  padding: 9px 12px;
  font-weight: 800;
}
.gts-category-panel__group {
  margin-top: 6px;
}
.gts-category-panel__type-row {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 2px;
  color: #f4f8fd;
  border: 1px solid transparent;
  border-radius: 10px;
  transition: color .2s ease, border-color .2s ease, background .2s ease;
}
.gts-category-panel__group.is-open .gts-category-panel__type-row:not(.is-active) {
  color: #b9ddff;
  border-color: rgba(77, 169, 255, .22);
  background: rgba(22, 119, 255, .08);
}
.gts-category-panel__type-row:hover,
.gts-category-panel__type-row.is-active {
  color: #68d1ff;
  border-color: rgba(22, 119, 255, .45);
  background: rgba(22, 119, 255, .14);
}
.gts-category-panel__nav .gts-category-panel__type-link {
  min-width: 0;
  padding: 9px 10px 9px 2px;
  color: inherit;
  border: 0;
  background: transparent;
  font-weight: 800;
}
.gts-category-panel__nav .gts-category-panel__type-link:hover {
  color: inherit;
  border-color: transparent;
  background: transparent;
}
.gts-category-panel__toggle {
  display: grid;
  width: 26px;
  height: 26px;
  margin-left: 4px;
  place-items: center;
  padding: 0;
  color: #b8c7da;
  border: 0;
  border-radius: 6px;
  background: #334763;
  cursor: pointer;
  transition: color .2s ease, background .2s ease;
}
.gts-category-panel__toggle-spacer {
  display: block;
  width: 34px;
  height: 34px;
}
.gts-category-panel__toggle:hover,
.gts-category-panel__toggle:focus-visible { color: #fff; background: rgba(255,255,255,.08); outline: 0; }
.gts-category-panel__toggle .icon { width: 14px; height: 14px; transition: transform .2s ease; }
.gts-category-panel__group.is-open .gts-category-panel__toggle .icon { transform: rotate(180deg); }
.gts-category-panel__children[hidden] { display: none; }
.gts-category-panel__child {
  position: relative;
  margin-left: 12px;
  padding: 8px 10px 8px 16px;
  font-size: 14px;
}
.gts-category-panel__child::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 1px;
  content: "";
  background: rgba(148, 163, 184, .25);
}
.gts-category-panel__child span::before {
  margin-right: 10px;
  color: #6f829d;
  content: "•";
}
.gts-category-panel__nav a:hover,
.gts-category-panel__nav a.is-active {
  color: #68d1ff;
  border-color: rgba(22, 119, 255, .45);
  background: rgba(22, 119, 255, .14);
}
.gts-category-panel__nav a.is-active small { color: #9fe7ff; background: rgba(22, 119, 255, .28); }

.gts-marketplace__content { min-width: 0; }
.gts-catalog-toolbar {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 14px;
  min-height: 82px;
  margin-bottom: 28px;
  padding: 16px 18px;
  border: 1px solid #dce3eb;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 2px 4px rgba(15, 23, 42, .08), 0 10px 25px rgba(15, 23, 42, .04);
}

.gts-catalog-search {
  position: relative;
  width: min(300px, 100%);
  min-width: 240px;
  flex: 0 1 300px;
}
.gts-catalog-search svg {
  position: absolute;
  top: 50%;
  left: 18px;
  width: 20px;
  height: 20px;
  color: #94a3b8;
  transform: translateY(-50%);
}
.gts-catalog-search input[type="search"] {
  width: 100%;
  height: 56px;
  padding: 0 18px 0 52px;
  color: var(--store-text);
  border: 2px solid #e2e8f0;
  border-radius: 15px;
  background: var(--store-soft);
  font-size: 15px;
  outline: 0;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.gts-catalog-search input[type="search"]:focus {
  border-color: var(--store-accent);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(22, 119, 255, .12);
}

.gts-sort-pills {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  flex-wrap: nowrap;
  justify-content: space-between;
  gap: 8px;
}
.gts-sort-pill {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 7px;
  padding: 10px 12px;
  color: #475569;
  border-radius: 10px;
  background: #f1f5f9;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
  transition: color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease;
}
.gts-sort-pill > span::before { font-size: 15px; line-height: 1; }
.gts-sort-pill--popular > span::before { content: "♨"; }
.gts-sort-pill--newest > span::before { content: "◷"; }
.gts-sort-pill--up > span::before { content: "↗"; }
.gts-sort-pill--down > span::before { content: "↘"; }
.gts-sort-pill--rating > span::before { content: "☆"; }
.gts-sort-pill:hover { color: var(--store-text); background: #e8edf3; transform: translateY(-1px); }
.gts-sort-pill.is-active {
  color: #fff;
  background: linear-gradient(135deg, var(--store-accent), var(--store-accent-2));
  box-shadow: 0 8px 18px rgba(22, 119, 255, .25);
}
.gts-sort-mobile { display: none; }

.gts-catalog-results .woocommerce-result-count {
  float: none;
  margin: 0 0 18px;
  color: #59677a;
  font-size: 14px;
}
.gts-catalog-results .woocommerce-result-count strong { color: var(--store-text); }
.gts-catalog-results .woocommerce-ordering { display: none !important; }
.gts-catalog-results { min-height: 590px; }

.woocommerce .gts-catalog-results ul.products,
.woocommerce-page .gts-catalog-results ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  clear: both;
  gap: 28px;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce .gts-catalog-results ul.products::before,
.woocommerce .gts-catalog-results ul.products::after { display: none !important; }

.woocommerce .gts-catalog-results ul.products li.product,
.woocommerce-page .gts-catalog-results ul.products li.product {
  position: relative;
  display: flex;
  overflow: hidden;
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 0 16px;
  flex-direction: column;
  border: 1px solid var(--store-line);
  border-radius: 15px;
  background: linear-gradient(145deg, #fff 55%, #f8fafc);
  box-shadow: none;
  transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
.woocommerce .gts-catalog-results ul.products li.product:hover {
  border-color: #4da9ff;
  box-shadow: 0 22px 45px rgba(22, 119, 255, .14);
  transform: translateY(-5px);
}
.woocommerce .gts-catalog-results li.product .woocommerce-LoopProduct-link {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
}
.woocommerce .gts-catalog-results li.product a img {
  width: 100%;
  margin: 0 0 13px !important;
  padding: 13px;
  aspect-ratio: 1;
  object-fit: contain;
  border-radius: 0;
  background: linear-gradient(145deg, #f8fafc, #eef2f7);
  transition: filter .25s ease, transform .3s ease;
}
.woocommerce .gts-catalog-results li.product:hover a img { filter: brightness(1.03) contrast(1.03); transform: scale(1.012); }
.woocommerce .gts-catalog-results li.product .woocommerce-loop-product__title {
  display: -webkit-box;
  overflow: hidden;
  min-height: 40px;
  margin: 0;
  padding: 0 16px !important;
  color: var(--store-text);
  font-size: 13px;
  font-weight: 750;
  line-height: 1.42;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  transition: color .2s ease;
}
.woocommerce .gts-catalog-results li.product:hover .woocommerce-loop-product__title { color: #0b63ce; }

.woocommerce .gts-catalog-results li.product .gts-product-rating {
  display: flex;
  min-height: 22px;
  align-items: center;
  gap: 5px;
  margin: 6px 16px 3px;
  color: #94a3b8;
  font-size: 12px;
}
.woocommerce .gts-catalog-results li.product .gts-product-rating > span { color: var(--store-accent-2); font-size: 16px; }
.woocommerce .gts-catalog-results li.product .gts-product-rating strong { color: #58677a; font-weight: 650; }
.woocommerce .gts-catalog-results li.product .gts-product-rating small { font-size: 11px; }

.woocommerce .gts-catalog-results li.product .price {
  display: flex;
  min-height: 34px;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 16px 10px !important;
  color: var(--store-text);
  font-size: 19px;
  font-weight: 800;
  line-height: 1.25;
}
.woocommerce .gts-catalog-results li.product .price del {
  order: 2;
  color: #8491a3;
  font-size: 13px;
  font-weight: 500;
  opacity: 1;
}
.woocommerce .gts-catalog-results li.product .price ins { color: var(--store-text); text-decoration: none; }

.woocommerce .gts-catalog-results span.onsale {
  z-index: 4;
  top: 12px !important;
  right: auto !important;
  left: 12px !important;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 6px 10px;
  color: #fff;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--store-rose), var(--store-red));
  box-shadow: 0 9px 19px rgba(225, 29, 72, .27);
  font-size: 10px;
  font-weight: 850;
  line-height: 1;
}
.woocommerce .gts-catalog-results span.onsale::before { margin-right: 4px; content: "%"; }

.woocommerce .gts-catalog-results li.product .product-card-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  margin: 0 16px;
}
.woocommerce .gts-catalog-results li.product .product-card-actions .button,
.woocommerce .gts-catalog-results li.product .product-card-actions .added_to_cart {
  display: inline-flex;
  min-height: 41px;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 9px 11px;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 750;
  line-height: 1.15;
  text-align: center;
  box-shadow: none;
}
.woocommerce .gts-catalog-results li.product .product-card-actions .button .icon {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
  margin-right: 7px;
}
.woocommerce .gts-catalog-results li.product .product-details-button {
  color: #475569 !important;
  border: 1px solid #dbe3ec !important;
  background: #fff !important;
}
.woocommerce .gts-catalog-results li.product .product-details-button:hover { color: var(--store-text) !important; background: #f8fafc !important; }
.woocommerce .gts-catalog-results li.product .add_to_cart_button {
  color: #fff !important;
  border: 1px solid transparent !important;
  background: linear-gradient(135deg, var(--blue-600), var(--cyan-500)) !important;
  box-shadow: 0 7px 16px rgba(22, 119, 255, .22) !important;
}
.woocommerce .gts-catalog-results li.product .add_to_cart_button:hover {
  background: linear-gradient(135deg, #0868ec, #0aa7d2) !important;
  box-shadow: 0 11px 22px rgba(22, 119, 255, .3) !important;
}

.woocommerce .gts-catalog-results nav.woocommerce-pagination { margin-top: 42px; }
.woocommerce .gts-catalog-results nav.woocommerce-pagination ul { border: 0; }
.woocommerce .gts-catalog-results nav.woocommerce-pagination ul li { margin: 0 4px; border: 0; }
.woocommerce .gts-catalog-results nav.woocommerce-pagination a,
.woocommerce .gts-catalog-results nav.woocommerce-pagination span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid var(--store-line);
  border-radius: 10px;
}
.woocommerce .gts-catalog-results nav.woocommerce-pagination .current { color: #fff; border-color: var(--store-accent); background: var(--store-accent); }

@media (max-width: 1450px) {
  .gts-marketplace__container { width: min(calc(100% - 44px), 1320px); }
  .gts-marketplace__layout { grid-template-columns: 260px minmax(0, 1fr); gap: 24px; }
  .gts-catalog-toolbar { gap: 10px; padding-inline: 14px; }
  .gts-catalog-search { min-width: 210px; flex-basis: 260px; }
  .gts-sort-pill { padding-inline: 10px; }
}

@media (max-width: 1050px) {
  .gts-marketplace__layout { grid-template-columns: 1fr; }
  .gts-category-panel { position: static; }
  .gts-category-panel__nav { display: grid; overflow: visible; gap: 0; }
  .gts-category-panel__nav a { min-width: 0; }
}

@media (max-width: 900px) {
  .gts-catalog-toolbar { align-items: stretch; flex-direction: column; }
  .gts-catalog-search { width: 100%; flex: 0 0 auto; }
}

@media (max-width: 760px) {
  .gts-store-strip__frame { width: 100%; grid-template-columns: minmax(0, 1fr); gap: 0; }
  .gts-store-strip__navigation { grid-template-columns: 36px minmax(0, 1fr) 36px; }
  .gts-store-strip__search { display: none; }
  .gts-store-strip__inner { min-height: 52px; gap: 23px; }
  .gts-store-strip a { font-size: 13px; }
  .gts-marketplace { padding: 27px 0 74px; }
  .gts-marketplace__container { width: min(calc(100% - 28px), 1720px); }
  .gts-marketplace__intro { margin-bottom: 28px; }
  .gts-marketplace__intro h1 { font-size: 34px; }
  .gts-marketplace__intro p { font-size: 15px; }
  .gts-catalog-toolbar { padding: 14px; border-radius: 16px; }
  .gts-sort-pills { display: none; }
  .gts-sort-mobile { display: block; }
  .gts-catalog-results { min-height: 0; }
  .gts-sort-mobile select {
    width: 100%;
    height: 52px;
    padding: 0 42px 0 15px;
    color: #475569;
    border: 2px solid #e2e8f0;
    border-radius: 13px;
    background: #f8fafc;
    font-size: 14px;
    font-weight: 700;
  }
  .woocommerce .gts-catalog-results ul.products,
  .woocommerce-page .gts-catalog-results ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .woocommerce .gts-catalog-results li.product a img { padding: 9px; }
  .woocommerce .gts-catalog-results li.product .woocommerce-loop-product__title { min-height: 39px; padding: 0 11px !important; font-size: 12px; }
  .woocommerce .gts-catalog-results li.product .gts-product-rating { margin: 6px 11px 3px; font-size: 10px; }
  .woocommerce .gts-catalog-results li.product .price { margin: 0 11px 10px !important; font-size: 17px; }
  .woocommerce .gts-catalog-results li.product .product-card-actions { grid-template-columns: 1fr; margin: 0 11px; }
  .woocommerce .gts-catalog-results li.product .product-card-actions .button { min-height: 39px; font-size: 11px; }
}

/* Single product -------------------------------------------------------- */

body.single-product {
  color: #101828;
  background: #f8fafc;
  font-family: "Inter", "Segoe UI", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

.single-product .commerce-shell--product {
  padding: 38px 0 104px;
  background:
    radial-gradient(circle at 8% 0, rgba(22,119,255,.08), transparent 24%),
    #f8fafc;
}

.single-product .commerce-container { width: min(calc(100% - 48px), 1280px); }
.single-product .woocommerce-breadcrumb {
  margin: 0 0 28px;
  color: #6a7282;
  font-family: inherit;
  font-size: 14px;
  line-height: 1.5;
}
.single-product .woocommerce-breadcrumb a { color: #4a5565; font-weight: 600; }
.single-product .woocommerce-breadcrumb a:hover { color: var(--store-accent); }

.single-product .woocommerce div.product {
  overflow: visible;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font-family: inherit;
}

.single-product .woocommerce div.product div.images {
  width: 47%;
  margin: 0 0 54px;
  padding: 28px;
  border: 1px solid #e5e7eb;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 18px 45px rgba(16,24,40,.07);
}

.single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
  overflow: hidden;
  border-radius: 16px;
  background: #f3f4f6;
}

.single-product .woocommerce div.product div.images img {
  width: 100%;
  aspect-ratio: 1;
  border-radius: 16px;
  background: linear-gradient(145deg, #f9fafb, #eef1f5);
  object-fit: contain;
}

.single-product .woocommerce div.product div.summary {
  width: 47%;
  margin: 0 0 54px;
  padding: 10px 0 0;
}

.single-product .gts-single-product-eyebrow {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 13px;
}

.single-product .gts-single-product-eyebrow span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 9px;
  color: #075fbd;
  border: 1px solid rgba(22,119,255,.25);
  border-radius: 8px;
  background: rgba(22,119,255,.09);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .02em;
}

.single-product .woocommerce div.product .product_title {
  max-width: 690px;
  margin: 0 0 16px;
  color: #101828;
  font-family: inherit;
  font-size: clamp(36px, 3.4vw, 48px);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -.038em;
  text-wrap: balance;
}

.single-product .product-summary-meta {
  gap: 8px;
  margin: 0 0 22px;
}

.single-product .product-summary-meta span {
  padding: 6px 9px;
  color: #4a5565;
  border-color: #e5e7eb;
  border-radius: 8px;
  background: #f9fafb;
  font-size: 11px;
  font-weight: 700;
}

.single-product .woocommerce div.product div.summary p.price,
.single-product .woocommerce div.product div.summary span.price {
  gap: 11px;
  margin: 0 0 9px;
  color: #101828;
  font-family: inherit;
  font-size: 34px;
  font-weight: 850;
  line-height: 1.2;
}

.single-product .woocommerce div.product div.summary p.price ins { color: #101828; text-decoration: none; }
.single-product .woocommerce div.product div.summary p.price del { order: 2; color: #99a1af; font-size: 17px; font-weight: 600; }
.single-product .gts-single-product-discount {
  display: inline-flex;
  margin: 0 0 20px;
  padding: 6px 9px;
  color: #fff;
  border-radius: 8px;
  background: #f04438;
  box-shadow: 0 8px 18px rgba(240,68,56,.18);
  font-size: 11px;
  font-weight: 850;
  line-height: 1;
}

.single-product .woocommerce-product-details__short-description {
  margin-bottom: 25px;
  color: #4a5565;
  font-family: inherit;
  font-size: 16px;
  line-height: 1.7;
}
.single-product .woocommerce-product-details__short-description p { margin-bottom: 12px; }
.single-product .woocommerce-product-details__short-description strong { color: #364153; }
.single-product .woocommerce-product-details__short-description code { padding: 2px 5px; color: #364153; border-radius: 5px; background: #eef1f5; }

.single-product .woocommerce div.product form.cart {
  display: grid;
  grid-template-columns: 82px repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 11px;
  margin: 0 0 24px;
}

.single-product .woocommerce div.product form.cart::before,
.single-product .woocommerce div.product form.cart::after {
  display: none;
  content: none;
}

.single-product .woocommerce div.product form.cart .quantity {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
}

.single-product .woocommerce .quantity .qty {
  width: 82px;
  height: 54px;
  color: #101828;
  border: 1px solid #d1d5dc;
  border-radius: 10px;
  background: #fff;
  font-family: inherit;
  font-weight: 750;
}

.single-product .woocommerce div.product form.cart .single_add_to_cart_button {
  width: 100%;
  min-height: 54px;
  grid-column: 2 / -1;
  grid-row: 1;
  margin: 0;
  padding: 14px 22px;
  color: #fff;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(135deg, var(--blue-600), var(--cyan-500));
  box-shadow: 0 12px 24px rgba(22,119,255,.25);
  font-family: inherit;
  font-size: 15px;
  font-weight: 800;
}
.single-product .woocommerce div.product form.cart .single_add_to_cart_button:hover {
  color: #fff;
  background: linear-gradient(135deg, #0868ec, #0aa7d2);
  box-shadow: 0 16px 30px rgba(22,119,255,.32);
  transform: translateY(-1px);
}

.single-product .gts-live-demo-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  grid-column: 3;
  grid-row: 1;
  gap: 9px;
  min-height: 54px;
  padding: 14px 18px;
  color: #101828;
  border: 1px solid #d1d5dc;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(16,24,40,.07);
  font-family: inherit;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
  transition: border-color .2s ease, box-shadow .2s ease, color .2s ease, transform .2s ease;
}

.single-product .woocommerce div.product form.cart .gts-live-demo-button ~ .single_add_to_cart_button {
  grid-column: 2;
}

.single-product .gts-live-demo-button .icon {
  width: 18px;
  height: 18px;
}

.single-product .gts-live-demo-button:hover,
.single-product .gts-live-demo-button:focus-visible {
  color: var(--store-accent);
  border-color: var(--store-accent);
  box-shadow: 0 12px 24px rgba(22,119,255,.14);
  transform: translateY(-1px);
}

.single-product .gts-live-demo-button:focus-visible {
  outline: 3px solid rgba(22,119,255,.2);
  outline-offset: 3px;
}

.single-product .product-assurance {
  margin: 0;
  padding: 21px;
  border-color: #e5e7eb;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(16,24,40,.05);
}
.single-product .product-assurance > strong { margin-bottom: 14px; color: #101828; font-size: 14px; font-weight: 800; }
.single-product .product-assurance ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px 16px; }
.single-product .product-assurance li { grid-template-columns: 20px 1fr; gap: 8px; color: #4a5565; font-size: 12px; line-height: 1.45; }
.single-product .product-assurance .icon { width: 17px; height: 17px; color: #00a86b; }

.single-product .woocommerce div.product .product_meta {
  gap: 7px;
  margin-top: 20px;
  padding-top: 17px;
  color: #6a7282;
  border-color: #e5e7eb;
  font-family: inherit;
  font-size: 12px;
  line-height: 1.55;
}
.single-product .woocommerce div.product .product_meta a { color: #075fbd; font-weight: 650; }
.single-product .woocommerce div.product .product_meta .tagged_as { display: none; }

.single-product .woocommerce div.product > span.onsale {
  z-index: 6;
  top: 18px;
  right: auto;
  left: 18px;
  padding: 8px 11px;
  border-radius: 8px;
  background: #f04438;
  box-shadow: 0 9px 20px rgba(240,68,56,.25);
  font-family: inherit;
  font-size: 11px;
}

.single-product .woocommerce div.product .woocommerce-tabs {
  overflow: hidden;
  clear: both;
  margin-top: 0;
  padding: 0;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 38px rgba(16,24,40,.06);
}

.single-product .woocommerce div.product .woocommerce-tabs ul.tabs {
  gap: 4px;
  margin: 0;
  padding: 14px 18px 0;
  border-bottom: 1px solid #e5e7eb;
  background: #f9fafb;
}
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li {
  border-radius: 9px 9px 0 0;
  background: transparent;
}
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a {
  padding: 11px 16px;
  color: #6a7282;
  font-family: inherit;
  font-size: 14px;
  font-weight: 750;
}
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: linear-gradient(135deg, var(--store-accent), var(--store-accent-2));
}
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #fff; }
.single-product .woocommerce div.product .woocommerce-tabs .panel {
  max-width: 980px;
  margin: 0;
  padding: 38px 42px 46px;
  color: #4a5565;
  font-family: inherit;
  font-size: 16px;
  line-height: 1.75;
}
.single-product .woocommerce div.product .woocommerce-tabs .panel h2,
.single-product .woocommerce div.product .woocommerce-tabs .panel h3,
.single-product .woocommerce div.product .woocommerce-tabs .panel h4 { color: #101828; font-family: inherit; letter-spacing: -.025em; }
.single-product .woocommerce div.product .woocommerce-tabs .panel h2 { margin-bottom: 22px; font-size: 32px; font-weight: 800; }
.single-product .woocommerce div.product .woocommerce-tabs .panel h3 { margin: 42px 0 13px; font-size: 25px; font-weight: 800; }
.single-product .woocommerce div.product .woocommerce-tabs .panel h4 { margin: 28px 0 9px; font-size: 19px; font-weight: 800; }
.single-product .woocommerce div.product .woocommerce-tabs .panel li { margin-bottom: 7px; }
.single-product .woocommerce div.product .woocommerce-tabs .panel strong { color: #364153; }

.single-product .woocommerce .related.products,
.single-product .woocommerce .upsells.products {
  width: 100%;
  clear: both;
  padding-top: 64px;
}
.single-product .woocommerce .related.products > h2,
.single-product .woocommerce .upsells.products > h2 {
  margin: 0 0 24px;
  color: #101828;
  font-family: inherit;
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -.03em;
}

/* Related and upsell products need their own card context. Without these
   scoped rules they inherit single-product price sizing and WooCommerce's
   floated loop widths, which compresses a one-item result into a thin card. */
.single-product .woocommerce .related.products ul.products,
.single-product .woocommerce .upsells.products ul.products {
  display: grid !important;
  width: 100%;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 20px;
  margin: 0 !important;
  padding: 0 !important;
}

.single-product .woocommerce .related.products ul.products::before,
.single-product .woocommerce .related.products ul.products::after,
.single-product .woocommerce .upsells.products ul.products::before,
.single-product .woocommerce .upsells.products ul.products::after {
  display: none !important;
}

.single-product .woocommerce .related.products ul.products li.product,
.single-product .woocommerce .upsells.products ul.products li.product {
  position: relative;
  display: flex;
  overflow: hidden;
  width: auto !important;
  min-width: 0;
  max-width: none;
  margin: 0 !important;
  padding: 0 0 15px;
  float: none !important;
  flex-direction: column;
  border: 1px solid #dce4ed;
  border-radius: 15px;
  background: linear-gradient(145deg, #fff 56%, #f8fafc);
  box-shadow: none;
  transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.single-product .woocommerce .related.products ul.products li.product:hover,
.single-product .woocommerce .upsells.products ul.products li.product:hover {
  border-color: #4da9ff;
  box-shadow: 0 18px 38px rgba(22,119,255,.14);
  transform: translateY(-4px);
}

.single-product .woocommerce .related.products li.product .woocommerce-LoopProduct-link,
.single-product .woocommerce .upsells.products li.product .woocommerce-LoopProduct-link {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  flex-direction: column;
}

.single-product .woocommerce .related.products li.product a img,
.single-product .woocommerce .upsells.products li.product a img {
  width: 100%;
  margin: 0 0 13px !important;
  padding: 12px;
  aspect-ratio: 1;
  border-radius: 0;
  background: linear-gradient(145deg, #f8fafc, #eef2f7);
  object-fit: contain;
  transition: filter .25s ease, transform .3s ease;
}

.single-product .woocommerce .related.products li.product:hover a img,
.single-product .woocommerce .upsells.products li.product:hover a img {
  filter: brightness(1.03) contrast(1.03);
  transform: scale(1.012);
}

.single-product .woocommerce .related.products li.product .woocommerce-loop-product__title,
.single-product .woocommerce .upsells.products li.product .woocommerce-loop-product__title {
  display: -webkit-box;
  overflow: hidden;
  min-height: 42px;
  margin: 0;
  padding: 0 15px !important;
  color: #101828;
  font-family: inherit;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.45;
  letter-spacing: -.01em;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.single-product .woocommerce .related.products li.product .gts-product-rating,
.single-product .woocommerce .upsells.products li.product .gts-product-rating {
  display: flex;
  min-height: 22px;
  align-items: center;
  gap: 5px;
  margin: 6px 15px 3px;
  color: #94a3b8;
  font-size: 11px;
}
.single-product .woocommerce .related.products li.product .gts-product-rating > span,
.single-product .woocommerce .upsells.products li.product .gts-product-rating > span { color: var(--store-accent-2); font-size: 15px; }
.single-product .woocommerce .related.products li.product .gts-product-rating strong,
.single-product .woocommerce .upsells.products li.product .gts-product-rating strong { color: #58677a; font-weight: 650; }

.single-product .woocommerce div.product .related.products li.product span.price,
.single-product .woocommerce div.product .upsells.products li.product span.price {
  display: flex;
  min-height: 33px;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 15px 10px !important;
  color: #101828;
  font-family: inherit;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.25;
}
.single-product .woocommerce div.product .related.products li.product span.price del,
.single-product .woocommerce div.product .upsells.products li.product span.price del {
  order: 2;
  color: #8491a3;
  font-size: 12px;
  font-weight: 500;
  opacity: 1;
}
.single-product .woocommerce div.product .related.products li.product span.price ins,
.single-product .woocommerce div.product .upsells.products li.product span.price ins { color: #101828; text-decoration: none; }

.single-product .woocommerce .related.products span.onsale,
.single-product .woocommerce .upsells.products span.onsale {
  z-index: 4;
  top: 11px !important;
  right: auto !important;
  left: 11px !important;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 6px 9px;
  color: #fff;
  border-radius: 999px;
  background: linear-gradient(135deg, #f43f5e, #fb002f);
  box-shadow: 0 8px 17px rgba(225,29,72,.25);
  font-size: 10px;
  font-weight: 850;
  line-height: 1;
}

.single-product .woocommerce .related.products li.product .product-card-actions,
.single-product .woocommerce .upsells.products li.product .product-card-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 0 15px;
}

.single-product .woocommerce .related.products li.product .product-card-actions .button,
.single-product .woocommerce .related.products li.product .product-card-actions .added_to_cart,
.single-product .woocommerce .upsells.products li.product .product-card-actions .button,
.single-product .woocommerce .upsells.products li.product .product-card-actions .added_to_cart {
  display: inline-flex;
  min-width: 0;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 9px 10px;
  border-radius: 9px;
  font-size: 11px;
  font-weight: 750;
  line-height: 1.15;
  text-align: center;
  white-space: normal;
  box-shadow: none;
}

.single-product .woocommerce .related.products li.product .product-card-actions .button .icon,
.single-product .woocommerce .upsells.products li.product .product-card-actions .button .icon {
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
  margin-right: 6px;
}

.single-product .woocommerce .related.products li.product .product-details-button,
.single-product .woocommerce .upsells.products li.product .product-details-button {
  color: #475569 !important;
  border: 1px solid #dbe3ec !important;
  background: #fff !important;
}

.single-product .woocommerce .related.products li.product .add_to_cart_button,
.single-product .woocommerce .upsells.products li.product .add_to_cart_button {
  color: #fff !important;
  border: 1px solid transparent !important;
  background: linear-gradient(135deg, var(--blue-600), var(--cyan-500)) !important;
  box-shadow: 0 7px 16px rgba(22,119,255,.22) !important;
}

@media (max-width: 900px) {
  .single-product .commerce-container { width: min(calc(100% - 36px), 760px); }
  .single-product .woocommerce div.product div.images,
  .single-product .woocommerce div.product div.summary { width: 100%; float: none; }
  .single-product .woocommerce div.product div.images { margin-bottom: 34px; }
  .single-product .product-assurance ul { grid-template-columns: 1fr; }
  .single-product .woocommerce .related.products ul.products,
  .single-product .woocommerce .upsells.products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .single-product .commerce-shell--product { padding: 26px 0 72px; }
  .single-product .commerce-container { width: min(calc(100% - 28px), 760px); }
  .single-product .woocommerce-breadcrumb { margin-bottom: 20px; font-size: 12px; }
  .single-product .woocommerce div.product div.images { padding: 16px; border-radius: 17px; }
  .single-product .woocommerce div.product .product_title { font-size: 33px; }
  .single-product .woocommerce div.product form.cart { grid-template-columns: 72px minmax(0, 1fr); }
  .single-product .woocommerce .quantity .qty { width: 72px; }
  .single-product .woocommerce div.product form.cart .gts-live-demo-button { grid-column: 1 / -1; grid-row: 2; }
  .single-product .woocommerce div.product form.cart .gts-live-demo-button ~ .single_add_to_cart_button { grid-column: 2; grid-row: 1; }
  .single-product .woocommerce div.product .woocommerce-tabs ul.tabs { overflow-x: auto; padding-right: 12px; padding-left: 12px; }
  .single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a { min-width: max-content; padding: 10px 13px; }
  .single-product .woocommerce div.product .woocommerce-tabs .panel { padding: 28px 21px 34px; font-size: 15px; }
  .single-product .woocommerce div.product .woocommerce-tabs .panel h2 { font-size: 27px; }
  .single-product .woocommerce div.product .woocommerce-tabs .panel h3 { font-size: 22px; }
  .single-product .woocommerce .related.products,
  .single-product .woocommerce .upsells.products { padding-top: 44px; }
  .single-product .woocommerce .related.products > h2,
  .single-product .woocommerce .upsells.products > h2 { font-size: 25px; }
  .single-product .woocommerce .related.products ul.products,
  .single-product .woocommerce .upsells.products ul.products { grid-template-columns: 1fr; }
}

/* Cart and checkout foundations ----------------------------------------- */

body.woocommerce-cart,
body.woocommerce-checkout {
  overflow-x: hidden;
  background:
    radial-gradient(circle at 10% 0%, rgba(33,150,243,.09), transparent 28%),
    #f6f9fc;
}

.woocommerce-cart .site-header,
.woocommerce-checkout .site-header {
  position: relative;
  background: var(--store-navy);
  box-shadow: 0 8px 26px rgba(15,23,42,.12);
}

.woocommerce-cart #main-content > .container.section,
.woocommerce-checkout #main-content > .container.section {
  width: min(calc(100% - 48px), 1400px);
  padding-top: 52px;
  padding-bottom: 110px;
}

.woocommerce-cart .entry-page > .section-heading,
.woocommerce-checkout .entry-page > .section-heading {
  display: grid;
  max-width: 780px;
  gap: 0;
  margin-bottom: 34px;
}

.woocommerce-cart .commerce-kicker,
.woocommerce-checkout .commerce-kicker {
  display: inline-flex;
  width: max-content;
  align-items: center;
  gap: 7px;
  margin-bottom: 13px;
  padding: 7px 11px;
  color: #0d6bb7;
  border: 1px solid #bfe0f7;
  border-radius: 999px;
  background: rgba(238,248,255,.94);
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .09em;
  line-height: 1;
  text-transform: uppercase;
}
.woocommerce-cart .commerce-kicker .icon,
.woocommerce-checkout .commerce-kicker .icon { width: 14px; height: 14px; }

.woocommerce-cart .entry-page > .section-heading .section-title,
.woocommerce-checkout .entry-page > .section-heading .section-title {
  margin: 0;
  color: var(--store-text);
  font-family: var(--font-sans);
  font-size: clamp(42px, 4vw, 54px);
  font-weight: 850;
  line-height: 1.04;
  letter-spacing: -.045em;
}

.woocommerce-cart .commerce-intro,
.woocommerce-checkout .commerce-intro {
  max-width: 680px;
  margin: 12px 0 0;
  color: #59677a;
  font-size: 16px;
  line-height: 1.65;
}

.woocommerce-cart .commerce-assurances,
.woocommerce-checkout .commerce-assurances {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 16px;
}
.woocommerce-cart .commerce-assurances span,
.woocommerce-checkout .commerce-assurances span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #40516a;
  font-size: 12px;
  font-weight: 750;
}
.woocommerce-cart .commerce-assurances .icon,
.woocommerce-checkout .commerce-assurances .icon { width: 16px; height: 16px; color: #16a36a; }

/* Cart ------------------------------------------------------------------ */

.woocommerce-cart .entry-content { color: #475569; }
.woocommerce-cart .wp-block-woocommerce-cart.alignwide {
  max-width: none;
  margin: 0;
  padding: 0;
  font-family: var(--font-sans);
}
.woocommerce-cart .wc-block-cart {
  align-items: start;
  gap: 28px;
}
.woocommerce-cart .wc-block-cart__main {
  width: calc(64% - 14px) !important;
  padding: 26px 30px !important;
  border: 1px solid #dce4ed;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(15,23,42,.07);
}
.woocommerce-cart .wc-block-cart__sidebar {
  position: sticky;
  top: 28px;
  overflow: hidden;
  width: calc(36% - 14px) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #dce4ed;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(15,23,42,.09);
}
.woocommerce-cart .wc-block-cart-items {
  width: 100%;
  margin: 0 !important;
  border: 0 !important;
}
.woocommerce-cart .wc-block-cart-items th {
  padding: 0 0 16px !important;
  color: #607089;
  border-bottom: 1px solid #e5eaf0 !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.woocommerce-cart .wc-block-cart-items td {
  padding-top: 22px !important;
  padding-bottom: 22px !important;
  border-bottom-color: #e8edf3 !important;
}
.woocommerce-cart .wc-block-cart-item__image { width: 86px; padding-right: 18px !important; }
.woocommerce-cart .wc-block-cart-item__image img {
  width: 80px;
  height: 80px;
  border-radius: 14px;
  object-fit: cover;
}
.woocommerce-cart .wc-block-components-product-name {
  color: #21314c;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.4;
}
.woocommerce-cart .wc-block-components-product-price,
.woocommerce-cart .wc-block-components-formatted-money-amount { color: #21314c; font-weight: 800; }
.woocommerce-cart .wc-block-components-quantity-selector {
  overflow: hidden;
  border: 1px solid #cbd7e4;
  border-radius: 10px;
  background: #fbfdff;
}
.woocommerce-cart .wc-block-cart-item__remove-link {
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
.woocommerce-cart .wc-block-cart-item__remove-link:hover { color: var(--blue-600) !important; }
.woocommerce-cart .wc-block-cart__totals-title {
  margin: 0 !important;
  padding: 24px !important;
  color: #21314c;
  border-bottom: 1px solid #e5eaf0;
  background: #f9fbfd;
  font-size: 20px !important;
  font-weight: 850 !important;
  letter-spacing: -.02em;
  text-transform: none !important;
}
.woocommerce-cart .wc-block-components-totals-wrapper {
  padding: 18px 24px !important;
  border-top-color: #e5eaf0 !important;
}
.woocommerce-cart .wc-block-components-totals-item { color: #52627a; font-size: 13px; }
.woocommerce-cart .wc-block-components-totals-footer-item {
  color: #21314c;
  font-size: 20px;
  font-weight: 850;
}
.woocommerce-cart .wc-block-components-totals-coupon { padding: 4px 24px !important; }
.woocommerce-cart .wc-block-components-totals-coupon__form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 112px;
  align-items: stretch;
  gap: 10px;
}
.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__input {
  width: 100%;
  min-width: 0;
  flex: none;
}
.woocommerce-cart .wc-block-components-totals-coupon__input input {
  min-height: 54px;
  color: #21314c;
  border: 1px solid #cbd7e4 !important;
  border-radius: 11px !important;
  background: #fbfdff !important;
  box-shadow: inset 0 1px 2px rgba(15,23,42,.03);
  font-family: var(--font-sans);
}
.woocommerce-cart .wc-block-components-totals-coupon__input input:focus {
  border-color: var(--blue-500) !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(33,150,243,.13) !important;
}
.woocommerce-cart .wc-block-components-totals-coupon__button,
.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button {
  width: 100%;
  min-height: 54px;
  margin: 0;
  padding: 0 18px !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 11px !important;
  background: linear-gradient(135deg, var(--blue-600), var(--cyan-500)) !important;
  box-shadow: 0 10px 22px rgba(22,119,255,.2) !important;
  font-family: var(--font-sans);
  font-weight: 800;
  opacity: 1;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease, opacity .2s ease;
}
.woocommerce-cart .wc-block-components-totals-coupon__button:not(:disabled):hover,
.woocommerce-cart .wc-block-components-totals-coupon__button:not(:disabled):focus-visible {
  color: #fff !important;
  box-shadow: 0 14px 28px rgba(22,119,255,.3) !important;
  filter: brightness(1.04);
  transform: translateY(-1px);
}
.woocommerce-cart .wc-block-components-totals-coupon__button:disabled {
  color: rgba(255,255,255,.9) !important;
  background: linear-gradient(135deg, #72aef9, #69cce9) !important;
  box-shadow: none !important;
  opacity: .72;
  cursor: not-allowed;
}
.woocommerce-cart .wc-block-cart__submit-container { padding: 22px 24px 24px; }
.woocommerce-cart .wc-block-components-payment-method-icons { justify-content: center; padding: 0 24px 24px; }

/* Classic cart fallback. */
.woocommerce-cart form.woocommerce-cart-form,
.woocommerce-cart .cart-collaterals .cart_totals {
  padding: 28px;
  border: 1px solid #dce4ed;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(15,23,42,.07);
}
.woocommerce-cart .cart-collaterals .cart_totals h2 { color: #21314c; font-family: var(--font-sans); font-weight: 850; }

/* Cart actions ----------------------------------------------------------- */

.woocommerce-cart .wc-block-cart__submit-button,
.woocommerce-cart .wc-block-cart__submit-button.contained,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  min-height: 58px;
  color: #fff !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, var(--blue-600), var(--cyan-500)) !important;
  box-shadow: 0 14px 28px rgba(22, 119, 255, .24) !important;
  font-weight: 800;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.woocommerce-cart .wc-block-cart__submit-button:hover,
.woocommerce-cart .wc-block-cart__submit-button:focus-visible,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:focus-visible {
  color: #fff !important;
  background: linear-gradient(135deg, #0868ec, #0aa7d2) !important;
  box-shadow: 0 18px 34px rgba(22, 119, 255, .32) !important;
  filter: brightness(1.02);
  transform: translateY(-1px);
}

/* Checkout block --------------------------------------------------------- */

.woocommerce-checkout #main-content > .container.section {
  width: min(calc(100% - 48px), 1400px);
  padding-top: 52px;
  padding-bottom: 110px;
}

.woocommerce-checkout .entry-page > .section-heading {
  display: grid;
  max-width: 760px;
  gap: 0;
  margin-bottom: 34px;
}

.woocommerce-checkout .checkout-kicker {
  display: inline-flex;
  width: max-content;
  align-items: center;
  gap: 7px;
  margin-bottom: 13px;
  padding: 7px 11px;
  color: #0d6bb7;
  border: 1px solid #c7e2f5;
  border-radius: 999px;
  background: rgba(238,248,255,.92);
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .09em;
  line-height: 1;
  text-transform: uppercase;
}
.woocommerce-checkout .checkout-kicker .icon { width: 14px; height: 14px; }

.woocommerce-checkout .entry-page > .section-heading .section-title {
  margin: 0;
  color: var(--store-text);
  font-family: var(--font-sans);
  font-size: clamp(42px, 4vw, 54px);
  font-weight: 800;
  letter-spacing: -.04em;
}

.woocommerce-checkout .checkout-intro {
  max-width: 680px;
  margin: 12px 0 0;
  color: #59677a;
  font-size: 16px;
  line-height: 1.65;
}

.woocommerce-checkout .checkout-assurances {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 16px;
}
.woocommerce-checkout .checkout-assurances span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #40516a;
  font-size: 12px;
  font-weight: 750;
}
.woocommerce-checkout .checkout-assurances .icon { width: 16px; height: 16px; color: #16a36a; }

.woocommerce-checkout .entry-content {
  color: #475569;
}

.woocommerce-checkout .wp-block-woocommerce-checkout {
  max-width: none;
  align-items: start;
  margin: 0;
  padding: 0;
  font-family: var(--font-sans);
}

.woocommerce-checkout .wc-block-components-main {
  width: calc(64% - 14px) !important;
  padding: 34px !important;
  border: 1px solid #dce4ed;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(15,23,42,.07);
}

.woocommerce-checkout .wc-block-components-sidebar {
  width: calc(36% - 14px) !important;
  margin: 0 !important;
  padding-left: 0 !important;
}

.woocommerce-checkout .wc-block-components-checkout-step {
  margin-bottom: 26px;
  padding: 0;
}

.woocommerce-checkout .wc-block-components-checkout-step__heading {
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #edf1f5;
}

.woocommerce-checkout .wc-block-components-checkout-step__title,
.woocommerce-checkout .wc-block-components-title {
  color: #21314c;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.25;
}

.woocommerce-checkout .wc-block-components-text-input input,
.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input,
.woocommerce-checkout .wc-block-components-address-form__address_2-toggle {
  min-height: 58px;
  border-color: #ccd8e5;
  border-radius: 12px;
  background: #fbfdff;
  box-shadow: inset 0 1px 2px rgba(15,23,42,.025);
}

.woocommerce-checkout .wc-block-components-text-input input:focus,
.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input:focus {
  border-color: var(--blue-500);
  box-shadow: 0 0 0 3px rgba(33, 150, 243, .12);
  background: #fff;
}

.woocommerce-checkout .wc-block-components-notice-banner.is-error,
.woocommerce-checkout .wc-block-components-notice-banner.is-warning {
  padding: 16px 18px;
  border: 1px solid #fecaca;
  border-radius: 13px;
  background: #fff7f7;
  box-shadow: none;
  line-height: 1.55;
}

.woocommerce-checkout .wc-block-checkout__actions_row {
  padding-top: 24px;
  border-top: 1px solid var(--store-line);
}

.woocommerce-checkout .wc-block-components-checkout-place-order-button {
  min-height: 54px;
  color: #fff;
  border: 0;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--blue-600), var(--cyan-500));
  box-shadow: 0 14px 28px rgba(22, 119, 255, .22);
  font-weight: 800;
  transition: transform .2s ease, box-shadow .2s ease;
}

.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
  color: #fff;
  box-shadow: 0 18px 34px rgba(22, 119, 255, .3);
  transform: translateY(-1px);
}

.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
  overflow: hidden;
  height: auto !important;
  min-height: 0 !important;
  border: 1px solid #dce4ed;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(15, 23, 42, .09);
}

.woocommerce-checkout .wc-block-components-checkout-order-summary__title {
  padding: 23px 24px;
  color: #21314c;
  border-bottom: 1px solid #e5eaf0;
  background: #fbfdff;
  font-size: 20px;
  font-weight: 800;
}

.woocommerce-checkout .wc-block-components-checkout-order-summary__title::after {
  color: #64748b;
}

.woocommerce-checkout .wc-block-components-order-summary {
  padding: 0;
}

.woocommerce-checkout .wc-block-components-order-summary-item {
  display: grid;
  grid-template-columns: 66px minmax(0, 1fr) minmax(82px, auto);
  gap: 14px;
  padding: 22px 24px;
}

.woocommerce-checkout .wc-block-components-order-summary-item__image {
  width: 66px;
  align-self: start;
}

.woocommerce-checkout .wc-block-components-order-summary-item__image > img {
  width: 66px;
  height: 66px;
  border-radius: 12px;
  object-fit: cover;
}

.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
  top: -7px;
  right: -7px;
  min-width: 22px;
  height: 22px;
  color: #fff;
  border: 2px solid #fff;
  background: #64748b;
  font-size: 11px;
}

.woocommerce-checkout .wc-block-components-order-summary-item__description {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: start;
  gap: 6px;
  padding: 0;
}

.woocommerce-checkout .wc-block-components-product-name {
  overflow: hidden;
  color: #21314c;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.4;
  text-overflow: ellipsis;
}

/* The checkout block uses the generic `.price` class; keep it independent
   from the theme's large pricing-card typography. */
.woocommerce-checkout .wc-block-components-product-price.price,
.woocommerce-checkout .wc-block-components-product-price {
  display: flex;
  min-width: max-content;
  align-items: baseline;
  justify-content: flex-end;
  gap: 6px;
  margin: 0;
  color: var(--store-text);
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: 0;
  white-space: nowrap;
}

.woocommerce-checkout .wc-block-components-product-price__value,
.woocommerce-checkout .wc-block-formatted-money-amount {
  font-family: var(--font-sans);
  font-size: inherit;
  line-height: inherit;
  letter-spacing: 0;
}

.woocommerce-checkout .wc-block-components-product-price__regular {
  color: #94a3b8;
  font-size: 11px;
}

.woocommerce-checkout .wc-block-components-product-price__value.is-discounted {
  color: var(--store-text);
  font-size: 16px;
  font-weight: 850;
}

.woocommerce-checkout .wc-block-components-sale-badge {
  padding: 4px 7px;
  color: #047857;
  border: 0;
  border-radius: 999px;
  background: #d1fae5;
  font-size: 9px;
  font-weight: 800;
  white-space: nowrap;
}

.woocommerce-checkout .wc-block-components-product-metadata {
  margin: 0;
  color: #64748b;
  font-size: 11px;
}

.woocommerce-checkout .wc-block-components-product-metadata__description {
  display: none;
}

.woocommerce-checkout .wc-block-cart-item__prices,
.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices {
  display: none;
}

.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
  align-self: start;
  justify-self: end;
  margin: 0;
  padding: 0;
}

.woocommerce-checkout .wc-block-components-totals-wrapper {
  min-height: 0 !important;
  padding: 17px 24px;
  border-top-color: #e5eaf0;
}

.woocommerce-checkout .wc-block-components-totals-item {
  color: #475569;
  font-size: 13px;
}

.woocommerce-checkout .wc-block-components-totals-footer-item {
  margin-top: 0 !important;
  color: #21314c;
  font-size: 18px;
  font-weight: 850;
}

.woocommerce-checkout .wc-block-components-notice-banner {
  border-radius: 12px;
  font-size: 13px;
}

.woocommerce-checkout .wc-block-checkout__terms {
  display: block;
  margin: 24px 0 0;
  padding: 19px;
  color: #475569;
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  background: #fff;
  font-size: 13px;
  line-height: 1.55;
}
.woocommerce-checkout .wc-block-checkout__terms-checkbox-wrapper { margin: 1px 0 0; }
.woocommerce-checkout .wc-block-checkout__terms .wc-block-components-checkbox { width: 100%; margin: 0; }
.woocommerce-checkout .wc-block-checkout__terms .wc-block-components-checkbox label {
  display: grid;
  width: 100%;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: start;
  gap: 11px;
}
.woocommerce-checkout .wc-block-checkout__terms .wc-block-components-checkbox__input,
.woocommerce-checkout .wc-block-checkout__terms .wc-block-components-checkbox__mark { grid-column: 1; grid-row: 1; }
.woocommerce-checkout .wc-block-checkout__terms .wc-block-components-checkbox__label { width: auto; grid-column: 2; grid-row: 1; }
.woocommerce-checkout .wc-block-checkout__terms a { color: var(--blue-600); font-weight: 750; text-decoration: underline; text-underline-offset: 2px; }
.woocommerce-checkout .wc-block-checkout__terms a:hover { color: var(--store-navy); }

/* Country stays populated in the Store API because WooCommerce needs it to
   resolve the address schema, but the checkout intentionally shows only the
   four customer-facing fields requested for this digital store. */
.woocommerce-checkout .wc-block-components-address-form__country,
.woocommerce-checkout .wc-block-components-address-form__last_name,
.woocommerce-checkout .wc-block-components-address-form__company,
.woocommerce-checkout .wc-block-components-address-form__address_2,
.woocommerce-checkout .wc-block-components-address-form__city,
.woocommerce-checkout .wc-block-components-address-form__state,
.woocommerce-checkout .wc-block-components-address-form__postcode,
.woocommerce-checkout .wp-block-woocommerce-checkout-order-note-block {
  display: none !important;
}

.woocommerce-checkout .wc-block-components-address-form {
  display: grid;
  grid-template-columns: 1fr;
}

.woocommerce-checkout .wc-block-components-address-form__first_name,
.woocommerce-checkout .wc-block-components-address-form__address_1,
.woocommerce-checkout .wc-block-components-address-form__phone {
  width: 100%;
  grid-column: 1 / -1;
}

/* Classic checkout -------------------------------------------------------
   SSLCommerz 6.2 registers a WC_Payment_Gateway but no Checkout Block
   payment method, so the compatible shortcode checkout receives the same
   visual treatment as the block layout above. */
.woocommerce-checkout form.checkout.woocommerce-checkout {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: minmax(0, 1.45fr) minmax(350px, .85fr);
  align-items: start;
  gap: 0 28px;
  margin: 0;
  font-family: var(--font-sans);
}

.woocommerce-checkout form.checkout #customer_details {
  min-width: 0;
  grid-column: 1;
  grid-row: 1 / span 2;
  width: 100%;
  padding: 34px;
  border: 1px solid #dce4ed;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(15,23,42,.07);
}

.woocommerce-checkout form.checkout #customer_details::before {
  display: block;
  margin-bottom: 24px;
  padding-bottom: 14px;
  color: #21314c;
  border-bottom: 1px solid #edf1f5;
  content: "Contact and billing information";
  font-size: 18px;
  font-weight: 800;
  line-height: 1.25;
}

.woocommerce-checkout form.checkout .col2-set,
.woocommerce-checkout form.checkout .col2-set .col-1,
.woocommerce-checkout form.checkout .col2-set .col-2 {
  width: 100%;
  float: none;
}

.woocommerce-checkout form.checkout .col2-set .col-2,
.woocommerce-checkout form.checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout form.checkout #billing_country_field {
  display: none;
}

.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.woocommerce-checkout form.checkout .form-row {
  width: 100%;
  margin: 0;
  padding: 0;
}

.woocommerce-checkout form.checkout .form-row label {
  display: block;
  margin: 0 0 7px;
  color: #40516a;
  font-size: 13px;
  font-weight: 750;
}

.woocommerce-checkout form.checkout .form-row .required {
  color: #ef4444;
  text-decoration: none;
}

.woocommerce-checkout form.checkout .input-text,
.woocommerce-checkout form.checkout select,
.woocommerce-checkout form.checkout .select2-selection {
  width: 100%;
  min-height: 56px;
  padding: 13px 15px;
  color: #21314c;
  border: 1px solid #ccd8e5;
  border-radius: 12px;
  outline: 0;
  background: #fbfdff;
  box-shadow: inset 0 1px 2px rgba(15,23,42,.025);
  font: inherit;
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.woocommerce-checkout form.checkout .input-text:focus,
.woocommerce-checkout form.checkout select:focus,
.woocommerce-checkout form.checkout .select2-container--open .select2-selection {
  border-color: var(--blue-500);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(33,150,243,.12);
}

.woocommerce-checkout form.checkout #order_review_heading {
  min-width: 0;
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  padding: 25px 26px 19px;
  color: #21314c;
  border: 1px solid #dce4ed;
  border-bottom: 0;
  border-radius: 20px 20px 0 0;
  background: #fbfdff;
  font-family: var(--font-sans);
  font-size: 20px;
  font-weight: 800;
  line-height: 1.25;
}

.woocommerce-checkout form.checkout #order_review {
  overflow: hidden;
  min-width: 0;
  grid-column: 2;
  grid-row: 2;
  padding: 0 26px 26px;
  border: 1px solid #dce4ed;
  border-top: 0;
  border-radius: 0 0 20px 20px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(15,23,42,.09);
}

.woocommerce-checkout form.checkout table.shop_table {
  width: 100%;
  table-layout: fixed;
  margin: 0 0 22px;
  border: 0;
  border-collapse: collapse;
  border-radius: 0;
}

.woocommerce-checkout form.checkout table.shop_table th,
.woocommerce-checkout form.checkout table.shop_table td {
  padding: 16px 0;
  color: #475569;
  border: 0;
  border-bottom: 1px solid #e8edf3;
  background: transparent;
  font-size: 13px;
  line-height: 1.45;
}

.woocommerce-checkout form.checkout table.shop_table th {
  color: #21314c;
  font-weight: 800;
}

.woocommerce-checkout form.checkout table.shop_table th:last-child,
.woocommerce-checkout form.checkout table.shop_table td:last-child {
  text-align: right;
}

.woocommerce-checkout form.checkout table.shop_table .order-total th,
.woocommerce-checkout form.checkout table.shop_table .order-total td {
  padding-top: 20px;
  color: #21314c;
  border-bottom: 0;
  font-size: 18px;
  font-weight: 850;
}

.woocommerce-checkout form.checkout #payment {
  color: #475569;
  border: 1px solid #dce4ed;
  border-radius: 14px;
  background: #f8fafc;
}

.woocommerce-checkout form.checkout #payment ul.payment_methods {
  margin: 0;
  padding: 18px;
  border-bottom: 1px solid #dce4ed;
}

.woocommerce-checkout form.checkout #payment ul.payment_methods li {
  margin: 0;
  line-height: 1.45;
}

.woocommerce-checkout form.checkout #payment ul.payment_methods li > label {
  display: inline-flex;
  width: calc(100% - 26px);
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: #21314c;
  font-size: 13px;
  font-weight: 800;
}

.woocommerce-checkout form.checkout #payment ul.payment_methods li img {
  width: auto;
  max-width: 150px;
  max-height: 34px;
  margin: 0;
  object-fit: contain;
}

.woocommerce-checkout form.checkout #payment div.payment_box {
  margin: 14px 0 0;
  padding: 14px;
  color: #475569;
  border-radius: 10px;
  background: #eef6ff;
  font-size: 12px;
  line-height: 1.55;
}

.woocommerce-checkout form.checkout #payment div.payment_box::before {
  border-bottom-color: #eef6ff;
}

.woocommerce-checkout form.checkout #payment .place-order {
  padding: 18px;
}

.woocommerce-checkout form.checkout .woocommerce-privacy-policy-text {
  display: none;
}

.woocommerce-checkout form.checkout .gts-checkout-policy-consent {
  margin: 0 0 16px;
  padding: 15px;
  border: 1px solid #cbd5e1;
  border-radius: 11px;
  background: #fff;
}

.woocommerce-checkout form.checkout .gts-checkout-policy-consent label {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) auto;
  align-items: start;
  gap: 9px;
  margin: 0;
  color: #475569;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.55;
}

.woocommerce-checkout form.checkout .gts-checkout-policy-consent input {
  width: 17px;
  height: 17px;
  margin: 2px 0 0;
  accent-color: var(--blue-600);
}

.woocommerce-checkout form.checkout .gts-checkout-policy-consent a {
  color: var(--blue-600);
  font-weight: 750;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.woocommerce-checkout form.checkout #place_order {
  width: 100%;
  min-height: 52px;
  margin: 0;
  padding: 13px 22px;
  color: #fff;
  border: 0;
  border-radius: 11px;
  background: linear-gradient(135deg, var(--blue-600), var(--cyan-500));
  box-shadow: 0 14px 28px rgba(22,119,255,.22);
  font-size: 14px;
  font-weight: 800;
  transition: transform .2s ease, box-shadow .2s ease;
}

.woocommerce-checkout form.checkout #place_order:hover {
  color: #fff;
  box-shadow: 0 18px 34px rgba(22,119,255,.3);
  transform: translateY(-1px);
}

.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info {
  margin-bottom: 24px;
  border: 1px solid #dce4ed;
  border-top: 3px solid var(--blue-500);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(15,23,42,.06);
}

@media (min-width: 901px) {
  .woocommerce-checkout .wc-block-components-sidebar {
    position: sticky;
    top: 28px;
    align-self: start;
  }
}

@media (max-width: 900px) {
  .woocommerce-cart #main-content > .container.section,
  .woocommerce-checkout #main-content > .container.section {
    width: min(calc(100% - 36px), 760px);
    padding-top: 56px;
    padding-bottom: 76px;
  }
  .woocommerce-cart .wc-block-cart { gap: 18px; }
  .woocommerce-cart .wc-block-cart__main,
  .woocommerce-cart .wc-block-cart__sidebar {
    position: static;
    width: 100% !important;
  }
  .woocommerce-cart .wc-block-cart__main { padding: 24px !important; }
  .woocommerce-cart form.woocommerce-cart-form,
  .woocommerce-cart .cart-collaterals .cart_totals { width: 100%; }
  .woocommerce-checkout .wc-block-components-main,
  .woocommerce-checkout .wc-block-components-sidebar {
    width: 100% !important;
    padding: 0;
  }
  .woocommerce-checkout .wc-block-components-main { padding: 28px !important; }
  .woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block { margin-top: 12px; }
  .woocommerce-checkout form.checkout.woocommerce-checkout { grid-template-columns: 1fr; gap: 18px; }
  .woocommerce-checkout form.checkout #customer_details,
  .woocommerce-checkout form.checkout #order_review_heading,
  .woocommerce-checkout form.checkout #order_review { grid-column: 1; }
  .woocommerce-checkout form.checkout #customer_details { grid-row: 1; }
  .woocommerce-checkout form.checkout #order_review_heading { grid-row: 2; margin-top: 2px; }
  .woocommerce-checkout form.checkout #order_review { grid-row: 3; }
}

@media (max-width: 520px) {
  .woocommerce-cart #main-content > .container.section,
  .woocommerce-checkout #main-content > .container.section { width: min(calc(100% - 28px), 760px); padding-top: 42px; }
  .woocommerce-cart .entry-page,
  .woocommerce-cart .entry-content,
  .woocommerce-checkout .entry-page,
  .woocommerce-checkout .entry-content { width: 100%; min-width: 0; }
  .woocommerce-cart .entry-page > .section-heading,
  .woocommerce-checkout .entry-page > .section-heading { margin-bottom: 28px; }
  .woocommerce-cart .entry-page > .section-heading .section-title,
  .woocommerce-checkout .entry-page > .section-heading .section-title { font-size: 39px; }
  .woocommerce-cart .commerce-intro,
  .woocommerce-checkout .checkout-intro { font-size: 15px; }
  .woocommerce-cart .commerce-assurances,
  .woocommerce-checkout .checkout-assurances { gap: 11px; }
  .woocommerce-cart .wc-block-cart__main { padding: 18px !important; border-radius: 16px; }
  .woocommerce-cart .wc-block-cart__sidebar { border-radius: 16px; }
  .woocommerce-cart .wc-block-cart-item__image { width: 66px; padding-right: 12px !important; }
  .woocommerce-cart .wc-block-cart-item__image img { width: 60px; height: 60px; border-radius: 11px; }
  .woocommerce-cart .wc-block-cart__totals-title,
  .woocommerce-cart .wc-block-components-totals-wrapper,
  .woocommerce-cart .wc-block-cart__submit-container { padding-right: 18px !important; padding-left: 18px !important; }
  .woocommerce-checkout .wc-block-components-main { padding: 21px !important; border-radius: 16px; }
  .woocommerce-checkout .wc-block-components-order-summary-item { grid-template-columns: 54px minmax(0, 1fr) auto; padding: 15px; }
  .woocommerce-checkout .wc-block-components-order-summary-item__image,
  .woocommerce-checkout .wc-block-components-order-summary-item__image > img { width: 54px; height: 54px; }
  .woocommerce-checkout .wc-block-components-checkout-order-summary__title,
  .woocommerce-checkout .wc-block-components-totals-wrapper { padding-right: 15px; padding-left: 15px; }
  .woocommerce-checkout form.checkout #customer_details { padding: 22px; border-radius: 16px; }
  .woocommerce-checkout form.checkout #order_review_heading { padding: 21px 20px 16px; border-radius: 16px 16px 0 0; }
  .woocommerce-checkout form.checkout #order_review { padding: 0 20px 20px; border-radius: 0 0 16px 16px; }
  .woocommerce-checkout form.checkout #payment ul.payment_methods,
  .woocommerce-checkout form.checkout #payment .place-order { padding: 15px; }
}
