

:root {
  --ecom-radius: var(--gv-radius-lg, 8px);
  --ecom-radius-lg: var(--gv-radius-xl, 10px);
  --ecom-content-max: 1560px;
  --ecom-page-gutter: 24px;
  --ecom-shadow: 0 12px 34px rgba(15, 23, 42, .08);
}

/* ----- Shared public commerce bar ------------------------------------------------ */

/* ----- Category menu ------------------------------------------------------------- */

/* Homepage storefront styles are owned by resources/styles/public/homepage.css. */

/* ----- Store page ---------------------------------------------------------------- */
.public-store-main,
.public-product-main {
  min-height: 64vh;
  padding: 18px 0 34px;
}
.public-store-main > .public-site-container,
.public-product-main > .public-site-container {
  width: min(var(--ecom-content-max), calc(100% - (var(--ecom-page-gutter) * 2)));
  max-width: none;
}
.public-store-breadcrumb {
  display: flex;
  align-items: center;
}


.public-store-layout {
  display: grid;
  grid-template-columns: 250px minmax(0,1fr);
  gap: 14px;
  align-items: start;
}
.public-store-filters {
  border: 1px solid var(--theme-border, #dfe5e8);
  border-radius:var(--ecom-radius);
  background: var(--theme-surface, #fff);
  overflow: hidden;
}
.public-store-filter-head {
  min-height: 62px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 13px;
  border-bottom: 1px solid var(--theme-border, #dfe5e8);
}
.public-store-filter-head > div {
  display: grid;
  gap: 2px;
}
.public-store-filter-head strong {
  font-size: 14px;
}
.public-store-filter-head small {
  color: var(--theme-text-muted, #7b8790);
}
.public-store-filter-head > a {
  color: var(--accent, #18181b);
  font-size: 10px;
  font-weight:600;
  text-decoration: none;
}
.public-store-filter-section > strong {
  font-size: 10px;
  font-weight:600;
  text-transform: uppercase;
  letter-spacing: .035em;
}
.public-store-filter-section {
  display: grid;
  gap: 5px;
  padding: 13px;
  border-bottom: 1px solid var(--theme-border, #dfe5e8);
}
.public-store-filter-section:last-child {
  border-bottom: 0;
}
.public-store-filter-section > a,
.public-store-group-filter-scroll > a {
  min-height: 34px;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border-radius:8px;
  color: var(--theme-text-secondary, #61707a);
  font-size: 11px;
  text-decoration: none;
}
.public-store-filter-section a:hover,
.public-store-filter-section a.is-active {
  background: color-mix(in srgb, var(--accent, #18181b) 11%, var(--theme-surface-subdued, #f6f8f9));
  color: var(--theme-text, #172027);
}
.public-store-filter-section a b {
  color: var(--theme-text-muted, #7b8790);
  font-size: 9px;
}
.public-store-group-filter-scroll {
  max-height: 300px;
  overflow-y: auto;
  padding-inline-end: 3px;
  scrollbar-width: thin;
}
.public-store-results {
  align-content: start;
  min-width: 0;
  display: grid;
  gap: 10px;
}
.public-store-applied {
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 7px 10px;
  border-radius:10px;
  background: var(--theme-text, #11181d);
  color: var(--theme-surface, #fff);
}
.public-store-applied > strong {
  flex: 0 0 auto;
  font-size: 10px;
}
.public-store-applied > div {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 5px;
  overflow-x: auto;
  scrollbar-width: none;
}
.public-store-applied > div::-webkit-scrollbar { display:none; }
.public-store-applied > div a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 7px;
  border-radius:7px;
  background: var(--accent, #18181b);
  color: var(--accent-contrast, #06130d);
  font-size: 10px;
  font-weight:600;
  text-decoration: none;
  white-space: nowrap;
}
.public-store-clear-all {
  margin-inline-start: auto;
  color: inherit;
  opacity: .72;
  font-size: 10px;
  text-decoration: none;
  white-space: nowrap;
}
.public-store-results-head {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid var(--theme-border, #dfe5e8);
  border-radius:10px;
  background: var(--theme-surface, #fff);
}
.public-store-results-head > div:first-child {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.public-store-results-head h1 {
  margin: 0;
  font-size: 15px;
  line-height: 1.35;
}
.public-store-results-head h1 span,
.public-store-results-head small {
  color: var(--theme-text-muted, #7b8790);
  font-size: 10px;
  font-weight:600;
}
.public-store-results-controls {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 7px;
}
.public-store-results-controls select {
  height: 36px;
  min-width: 148px;
  padding: 0 31px 0 10px;
  border: 1px solid var(--theme-border-strong, #ccd6db);
  border-radius:9px;
  background: var(--theme-surface-subdued, #f6f8f9);
  color: var(--theme-text, #172027);
}
.public-store-view-toggle {
  display: grid;
  grid-template-columns: repeat(2,34px);
  gap: 3px;
  padding: 3px;
  border: 1px solid var(--theme-border, #dfe5e8);
  border-radius:9px;
  background: var(--theme-surface-subdued, #f6f8f9);
}
.public-store-view-toggle a {
  height: 30px;
  display: grid;
  place-items: center;
  border-radius:7px;
  color: var(--theme-text-muted, #7b8790);
}
.public-store-view-toggle a.is-active {
  background: var(--theme-surface, #fff);
  color: var(--theme-text, #172027);
}
.public-store-products {
  display: grid;
  gap: 10px;
}
.public-store-products.is-grid {
  grid-template-columns: repeat(3, minmax(0,1fr));
}
.public-product-card {
  min-width: 0;
  display: grid;
  grid-template-rows: auto minmax(0,1fr);
  border: 1px solid var(--theme-border, #dfe5e8);
  border-radius:var(--ecom-radius);
  background: var(--theme-surface, #fff);
  overflow: hidden;
  transition: border-color .16s ease, box-shadow .16s ease;
}
.public-product-card:hover {
  border-color: color-mix(in srgb, var(--accent, #18181b) 35%, var(--theme-border, #dfe5e8));
  box-shadow: var(--ecom-shadow);
}
.public-product-card-media {
  position: relative;
  width: 100%;
  aspect-ratio: var(--gv-product-image-ratio, 16 / 9);
  display: grid;
  place-items: center;
  overflow: hidden;
  background: var(--theme-surface-subdued, #f4f7f8);
  color: var(--theme-text-muted, #7b8790);
}
.public-product-card-media img {
  width: 100%;
  height: 100%;
  object-fit: contain ;
}
.public-product-card-media em {
  position: absolute;
  top: 9px;
  left: 9px;
  padding: 4px 7px;
  border-radius:999px;
  background: var(--accent, #18181b);
  color: var(--accent-contrast, #06130d);
  font-size: 9px;
  font-style: normal;
  font-weight:600;
  text-transform: uppercase;
}
.public-product-card-body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px;
}
.public-product-card-meta {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 7px;
}
.public-product-card-meta > span {
  flex: 0 0 auto;
  padding: 3px 6px;
  border-radius:999px;
  background: color-mix(in srgb, var(--accent, #18181b) 11%, transparent);
  color: var(--accent, #18181b);
  font-size: 9px;
  font-weight:600;
}
.public-product-card-meta small {
  min-width: 0;
  overflow: hidden;
  color: var(--theme-text-muted, #7b8790);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.public-product-card-title {
  min-height: 2.7em;
  color: var(--theme-text, #172027);
  font-size: 13px;
  font-weight:600;
  line-height: 1.35;
  text-decoration: none;
}
.public-product-card-body p {
  margin: 0;
  color: var(--theme-text-secondary, #61707a);
  font-size: 11px;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.public-product-card-body footer {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding-top: 3px;
}
.public-product-card-body footer strong {
  font-size: 14px;
}
.public-product-card-open {
  border: 1px solid var(--theme-border, #dfe5e8);
}

/* list view */
.public-store-products.is-list .public-product-card {
  grid-template-columns: 78px minmax(0,1fr);
  grid-template-rows: auto;
  min-height: 82px;
}
.public-store-products.is-list .public-product-card-media {
  min-height: 82px;
}
.public-store-products.is-list .public-product-card-body {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  grid-template-areas:
    "meta footer"
    "title footer"
    "desc footer";
  align-content: center;
  column-gap: 16px;
  padding: 9px 11px;
}
.public-store-products.is-list .public-product-card-meta { grid-area: meta; }
.public-store-products.is-list .public-product-card-title {
  grid-area: title;
  min-height: 0;
}
.public-store-products.is-list .public-product-card-body p { grid-area: desc; }
.public-store-products.is-list .public-product-card-body footer {
  grid-area: footer;
  margin: 0;
  min-width: 130px;
}
.public-store-empty {
  min-height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 1px dashed var(--theme-border-strong, #ccd6db);
  border-radius:var(--ecom-radius);
  color: var(--theme-text-secondary, #61707a);
}
.public-store-empty > div {
  display: grid;
  gap: 4px;
}
.public-store-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding-top: 6px;
}
.public-store-pagination a,
.public-store-pagination span {
  min-width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  padding: 0 9px;
  border: 1px solid var(--theme-border, #dfe5e8);
  border-radius:8px;
  color: var(--theme-text-secondary, #61707a);
  text-decoration: none;
  font-size: 11px;
}
.public-store-pagination a.is-active {
  border-color: var(--accent, #18181b);
  background: var(--accent, #18181b);
  color: var(--accent-contrast, #06130d);
}

/* ----- Product detail page -------------------------------------------------------- */
.public-product-hero {
  display: grid;
  grid-template-columns: minmax(320px, .9fr) minmax(0,1.25fr);
  gap: 28px;
  align-items: start;
  padding: 12px 0 20px;
}
.public-product-image {
  min-height: 420px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--theme-border, #dfe5e8);
  border-radius:var(--ecom-radius-lg);
  background: var(--theme-surface-subdued, #f4f7f8);
  color: var(--theme-text-muted, #7b8790);
}
.public-product-image img {
  width: 100%;
  height: 100%;
  max-height: 520px;
  object-fit: contain;
}
.public-product-summary {
  min-width: 0;
  display: grid;
  gap: 13px;
  padding-top: 4px;
}
.public-product-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.public-product-title-row > div {
  min-width: 0;
}
.public-product-title-row h1 {
  margin: 0;
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.16;
  letter-spacing: -.025em;
}
.public-product-title-row > div > a {
  display: inline-block;
  margin-top: 5px;
  color: var(--theme-text-muted, #7b8790);
  font-size: 11px;
  text-decoration: none;
}
.public-product-inline-description {
  min-width: 0;
  max-width: 720px;
  margin: 0;
  color: var(--theme-text-secondary, #61707a);
  line-height: 1.6;
}
.public-product-inline-description > :first-child { margin-top: 0; }
.public-product-inline-description > :last-child { margin-bottom: 0; }
.public-product-featured {
  flex: 0 0 auto;
  padding: 5px 8px;
  border-radius:999px;
  background: color-mix(in srgb, var(--accent, #18181b) 14%, transparent);
  color: var(--accent, #18181b);
  font-size: 9px;
  font-weight:600;
  text-transform: uppercase;
}
.public-product-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.public-product-badges span {
  padding: 4px 7px;
  border-radius:6px;
  border: 1px solid var(--theme-border, #dfe5e8);
  background: var(--theme-surface-subdued, #f6f8f9);
  color: var(--theme-text-secondary, #61707a);
  font-size: 9px;
  font-weight:600;
}
.public-product-badges span.is-stock {
  border-color: color-mix(in srgb, var(--accent, #18181b) 40%, var(--theme-border, #dfe5e8));
  color: var(--accent, #18181b);
}
.public-product-delivery {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--theme-text-secondary, #61707a);
  font-size: 11px;
}
.public-product-price {
  display: grid;
  gap: 2px;
}
.public-product-price small {
  color: var(--theme-text-muted, #7b8790);
  font-size: 9px;
  font-weight:600;
  text-transform: uppercase;
}
.public-product-price strong {
  font-size: 27px;
  letter-spacing: -.02em;
}
.public-product-requirements {
  padding-top: 2px;
}
.public-product-section-label {
  display: grid;
  gap: 2px;
  margin-bottom: 8px;
}
.public-product-section-label small {
  color: var(--theme-text-muted, #7b8790);
}


.public-product-buy {
  align-items: center;
  padding-top: 3px;
}
.public-product-buy-button {
  min-width: 210px;
  min-height: 44px;
  justify-content: center;
}
.public-product-login-note {
  color: var(--theme-text-muted, #7b8790);
  line-height: 1.45;
}
.public-product-description,
.public-product-related {
  margin-top: 16px;
  border-top: 1px solid var(--theme-border, #dfe5e8);
  padding-top: 18px;
}
.public-product-description > header,
.public-product-related > header {
  margin-bottom: 12px;
}
.public-product-description h2,
.public-product-related h2 {
  margin: 0;
  font-size: 16px;
}
.public-product-rich {
  max-width: 920px;
  color: var(--theme-text-secondary, #61707a);
  line-height: 1.7;
}
.public-product-instructions {
  max-width: 920px;
  margin-top: 18px;
  padding: 14px;
  border: 1px solid var(--theme-border, #dfe5e8);
  border-radius:10px;
  background: var(--theme-surface-subdued, #f6f8f9);
}
.public-product-instructions h3 {
  margin: 0 0 8px;
  font-size: 13px;
}
.public-product-related-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 10px;
}
.public-product-related-grid article {
  min-width: 0;
  display: grid;
  grid-template-rows: auto minmax(0,1fr);
  overflow: hidden;
  border: 1px solid var(--theme-border, #dfe5e8);
  border-radius:10px;
  background: var(--theme-surface, #fff);
}
.public-product-related-media {
  width: 100%;
  aspect-ratio: var(--gv-product-image-ratio, 16 / 9);
  display: grid;
  place-items: center;
  overflow: hidden;
  background: var(--theme-surface-subdued, #f4f7f8);
  color: var(--theme-text-muted, #7b8790);
}
.public-product-related-media img {
  width: 100%;
  height: 100%;
  object-fit: contain ;
}
.public-product-related-grid article > div {
  min-width: 0;
  display: grid;
  gap: 8px;
  padding: 10px;
}
.public-product-related-grid article > div > a {
  min-height: 2.7em;
  color: var(--theme-text, #172027);
  font-size: 11px;
  font-weight:600;
  line-height: 1.35;
  text-decoration: none;
}
.public-product-related-grid footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.public-product-related-grid footer span {
  color: var(--theme-text-muted, #7b8790);
  font-size: 9px;
}
.public-product-not-found {
  min-height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}
.public-product-not-found > div {
  display: grid;
  gap: 4px;
}
.public-product-not-found h1,
.public-product-not-found p {
  margin: 0;
}

/* ----- Public order modal --------------------------------------------------------- */
.public-site #gv-order-modal.slide-over-shell {
  position: fixed;
  inset: 0;
  z-index: 1600;
  visibility: hidden;
  pointer-events: none;
}
.public-site #gv-order-modal.slide-over-shell.open {
  visibility: visible;
  pointer-events: auto;
}
.public-site #gv-order-modal .slide-over-backdrop {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  opacity: 0;
  background: rgba(4,8,11,.72);
  backdrop-filter: blur(5px);
  transition: opacity .18s ease;
}
.public-site #gv-order-modal.open .slide-over-backdrop {
  opacity: 1;
}
.public-site #gv-order-modal .slide-over-panel {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 2;
  width: min(720px, calc(100vw - 26px));
  max-height: calc(100dvh - 28px);
  overflow: hidden;
  border: 1px solid var(--theme-border, #dfe5e8);
  border-radius:var(--gv-radius-lg, 8px);
  background: var(--theme-surface-elevated, #fff);
  color: var(--theme-text, #172027);
  box-shadow: 0 30px 90px rgba(0,0,0,.42);
  opacity: 0;
  transform: translate(-50%,-48%) scale(.985);
  transition: opacity .18s ease, transform .2s ease;
}
.public-site #gv-order-modal.open .slide-over-panel {
  opacity: 1;
  transform: translate(-50%,-50%) scale(1);
}
.public-site #gv-order-modal .slide-over-close {
  position: absolute;
  z-index: 12;
  top: 10px;
  inset-inline-end: 10px;
}
.public-site #gv-order-modal .slide-over-panel-content,
.public-site #gv-order-modal .client-order-shell,
.public-site #gv-order-modal .client-order-panel,
.public-site #gv-order-modal .slide-over-order-form {
  width: 100%;
  max-height: inherit;
  min-height: 0;
}
.public-site #gv-order-modal .client-order-shell,
.public-site #gv-order-modal .client-order-panel,
.public-site #gv-order-modal .slide-over-order-form {
  display: flex;
  flex-direction: column;
}
.public-site #gv-order-modal .client-order-panel {
  overflow: hidden;
  border: 0;
  border-radius:0;
  background: var(--theme-surface-elevated, #fff);
  box-shadow: none;
}
.public-site #gv-order-modal .client-order-head {
  flex: 0 0 auto;
  padding-block: 22px 17px;
  padding-inline: 18px 58px;
  border-bottom: 1px solid var(--theme-border, #dfe5e8);
}
.public-site #gv-order-modal :is(.client-order-form-section,.slide-over-order-footer) { background: transparent; }
.public-site #gv-order-modal .client-order-customer-content {
  margin: 0;
  padding: 13px 18px 14px;
  border-bottom: 1px solid var(--theme-border, #dfe5e8);
  background: transparent;
  color: var(--theme-text, #172027);
}
.public-site #gv-order-modal .client-order-customer-content > :first-child { margin-top: 0; }
.public-site #gv-order-modal .client-order-customer-content > :last-child { margin-bottom: 0; }
.public-site #gv-order-modal .client-order-title h1 {
  margin: 0;
  font-size: clamp(17px, 1rem + .3vw, 21px);
  line-height: 1.3;
  font-weight:600;
}
.public-site #gv-order-modal .client-order-form-section {
  min-height: 0;
  overflow: auto;
  padding: 18px 18px 20px;
}
.public-site #gv-order-modal .slide-over-field-flow { width:100%; display:grid; grid-template-columns:minmax(0,1fr); gap:20px; align-items:start; }
.public-site #gv-order-modal .slide-over-field-flow > .field { min-width:0; width:100%; display:grid; align-content:start; gap:8px; padding:0; border:0; border-radius:0; background:transparent; }
.public-site #gv-order-modal .slide-over-field-flow > .field { grid-column:1 / -1; }
.public-site #gv-order-modal .slide-over-field-flow > .field > label {
  margin: 0;
  line-height: 1.35;
}
.public-site #gv-order-modal :is(input.input,select.input,textarea.input) {
  width: 100%;
}
.public-site #gv-order-modal .slide-over-order-footer {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(170px,auto);
  align-items: center;
  gap: 12px;
  padding: 12px 18px;
  border-top: 1px solid var(--theme-border, #dfe5e8);
  background: transparent;
}
.public-site #gv-order-modal .order-price-inline,
.public-site #gv-order-modal .order-submit-actions {
  display: grid;
  gap: 4px;
}
.public-site #gv-order-modal .order-submit-button {
  width: 100%;
}
.public-site #gv-order-modal .smart-imei-control,
.public-site #gv-order-modal .choice-grid {
  display: grid;
  gap: 8px;
}

/* ----- Responsive ---------------------------------------------------------------- */
@media (max-width: 1180px) {
  .public-store-products.is-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  
  .public-product-related-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
}
@media (max-width: 900px) {
  .public-store-layout {
    grid-template-columns: 1fr;
  }
  .public-store-filters {
    display: grid;
    grid-template-columns: minmax(220px,1fr) minmax(0,1fr);
  }
  .public-store-filter-head {
    grid-column: 1 / -1;
  }
  .public-store-filter-groups {
    grid-column: 1 / -1;
  }
  .public-store-group-filter-scroll {
    max-height: 180px;
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 3px;
  }
  .public-product-hero {
    grid-template-columns: minmax(260px,.78fr) minmax(0,1.2fr);
    gap: 18px;
  }
  .public-product-image {
    min-height: 330px;
  }
  
  .public-product-related-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
@media (max-width: 700px) {
  
  
  
  .public-store-results-head,
  .public-store-applied {
    align-items: flex-start;
    flex-direction: column;
  }
  .public-store-results-controls {
    width: 100%;
  }
  .public-store-results-controls form {
    flex: 1 1 auto;
  }
  .public-store-results-controls select {
    width: 100%;
  }
  .public-product-hero {
    grid-template-columns: 1fr;
  }
  .public-product-image {
    min-height: 260px;
    max-height: 400px;
  }
  .public-product-buy {
    align-items: stretch;
    flex-direction: column;
  }
  .public-product-buy-button {
    width: 100%;
  }
  .public-site #gv-order-modal .slide-over-panel {
    width: calc(100vw - 10px);
    max-height: calc(100dvh - 10px);
    border-radius:var(--gv-radius-lg, 8px);
  }
  .public-site #gv-order-modal .slide-over-field-flow > .field {
    flex-basis: 100%;
  }
  .public-site #gv-order-modal .slide-over-order-footer {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 700px) {
  .public-store-filters {
    grid-template-columns: 1fr;
  }
  .public-store-filter-head,
  .public-store-filter-groups {
    grid-column: auto;
  }
  .public-store-group-filter-scroll {
    grid-template-columns: 1fr;
  }
  .public-store-products.is-grid {
    grid-template-columns: 1fr;
  }
  .public-product-card {
    grid-template-columns: minmax(0,1fr);
    grid-template-rows: auto minmax(0,1fr);
    min-height: 118px;
  }
  .public-product-card-media {
    min-height: 0;
  }
  .public-store-products.is-list .public-product-card {
    grid-template-columns: 72px minmax(0,1fr);
  }
  .public-store-products.is-list .public-product-card-body {
    grid-template-columns: 1fr;
    grid-template-areas:
      "meta"
      "title"
      "desc"
      "footer";
  }
  .public-store-products.is-list .public-product-card-body footer {
    min-width: 0;
  }
  
  .public-product-related-grid {
    grid-template-columns: 1fr;
  }
  
  .public-product-related-grid article {
    grid-template-columns: 92px minmax(0,1fr);
    grid-template-rows: auto;
  }
  
  .public-store-pagination {
    flex-wrap: wrap;
  }
}


.public-commerce-cart-button {
  font: inherit;
  font-size: 12px;
  font-weight:600;
  cursor: pointer;
}
.public-commerce-cart-button[hidden] { display: none ; }
.public-commerce-cart-button b {
  min-width: 19px;
  height: 19px;
  display: grid;
  place-items: center;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--accent, #18181b);
  color: var(--accent-contrast, #06130d);
  font-size: 9px;
}

.public-commerce-cart[hidden] { display: none; }

.public-commerce-cart-panel {
  pointer-events: auto;
  color: var(--theme-text, #172027);
}

.public-commerce-cart-panel > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid var(--theme-border, #dfe5e8);
}
.public-commerce-cart-panel > header > div { display:flex; align-items:baseline; gap:8px; }
.public-commerce-cart-panel > header strong { font-size:16px; }
.public-commerce-cart-panel > header small { color:var(--theme-text-muted,#7b8790); }
.public-commerce-cart-body { padding:0 12px; scrollbar-width:thin; }
.public-commerce-cart-item {
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:11px;
  padding:12px 0;
  border-bottom:1px solid var(--theme-border,#dfe5e8);
}
.public-commerce-cart-item-media {
  width:64px; height:64px; display:grid; place-items:center; overflow:hidden;
  border:1px solid var(--theme-border,#dfe5e8); border-radius:9px;
  background:var(--theme-surface-subdued,#f4f7f8); color:var(--theme-text-muted,#7b8790);
}
.public-commerce-cart-item-media img { width:100%; height:100%; object-fit:cover; }
.public-commerce-cart-item-copy { min-width:0; display:grid; align-content:start; gap:3px; }
.public-commerce-cart-item-title { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:start; }
.public-commerce-cart-item-title a {
  min-width:0; color:var(--theme-text,#172027); font-size:12px; font-weight:600; line-height:1.35;
  text-decoration:none; overflow:hidden; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2;
}
.public-commerce-cart-item-title strong { font-size:12px; white-space:nowrap; }
.public-commerce-cart-item-copy small { color:var(--theme-text-secondary,#61707a); font-size:10px; line-height:1.35; }

.public-commerce-cart-item-actions { display:flex; align-items:center; gap:12px; padding-top:3px; }
.public-commerce-cart-item-actions a,
.public-commerce-cart-item-actions button {
  padding:0; border:0; background:transparent; color:var(--accent,#18181b); font:inherit; font-size:10px; font-weight:600;
  text-decoration:none; cursor:pointer;
}
.public-commerce-cart-item-actions button { color:#d9434e; }
.public-commerce-cart-panel > footer {
  display:grid; gap:9px; padding:12px;
  border-top:1px solid var(--theme-border,#dfe5e8);
}
.public-commerce-cart-total { display:flex; align-items:end; justify-content:space-between; gap:12px; }
.public-commerce-cart-total span { color:var(--theme-text-secondary,#61707a); font-size:12px; font-weight:600; }
.public-commerce-cart-total strong { font-size:20px; }
.public-commerce-cart-panel > footer > small { color:var(--theme-text-muted,#7b8790); font-size:9px; line-height:1.4; }


.public-commerce-cart-empty { min-height:220px; display:grid; place-items:center; align-content:center; gap:7px; text-align:center; padding:26px; }
.public-commerce-cart-empty strong { font-size:15px; }
.public-commerce-cart-empty span { color:var(--theme-text-muted,#7b8790); font-size:11px; }
.public-commerce-cart-loading { padding:24px; color:var(--theme-text-muted,#7b8790); }

/* Product fields and cart actions */
.public-product-cart-form { display:grid; gap:14px; }
.public-product-entry-fields { display:grid; gap:10px; }
.public-product-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.public-product-choice-grid label { min-height:38px; display:flex; align-items:center; gap:7px; padding:8px 9px; border:1px solid var(--theme-border,#dfe5e8); border-radius:9px; background:var(--theme-surface-subdued,#f6f8f9); }
.public-product-note { margin-top:2px; }
.public-product-buy { display:grid; grid-template-columns:minmax(130px,.65fr) minmax(170px,1fr) auto; gap:8px; }
.public-product-buy .button { min-height:42px; justify-content:center; }
.public-product-add-cart { border-color:var(--accent,#18181b); }
.public-product-cart-form.is-busy { opacity:.72; pointer-events:none; }
.public-product-cart-error { padding:9px 10px; border:1px solid rgba(217,67,78,.34); border-radius:9px; background:rgba(217,67,78,.09); color:#d9434e; font-size:11px; font-weight:600; }

/* Checkout — public storefront foundation */
.public-checkout-main {
  min-height: 68vh;
  padding: 22px 0 44px;
}

.public-checkout-breadcrumb {
  margin-bottom: 15px;
}
.public-checkout-heading {
  display: flex;
  justify-content: space-between;
  margin: 0 0 18px;
}
.public-checkout-heading > div {
  min-width: 0;
}
.public-checkout-eyebrow {
  display: block;
  margin-bottom: 5px;
  color: var(--accent,#18181b);
  font-size: 10px;
  font-weight:600;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.public-checkout-heading h1 {
  margin: 0;
  font-size: clamp(28px,3vw,38px);
  line-height: 1.08;
}
.public-checkout-heading p {
  max-width: 660px;
  margin: 7px 0 0;
  color: var(--theme-text-secondary,#61707a);
  line-height: 1.55;
}
.public-checkout-continue {
  flex: 0 0 auto;
}

.public-checkout-layout {
  display: grid;
  align-items: start;
}
.public-checkout-card,
.public-checkout-empty {
  overflow: hidden;
  border: 1px solid var(--theme-border,#dfe5e8);
  background: var(--theme-surface,#fff);
}
.public-checkout-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border-bottom: 1px solid var(--theme-border,#dfe5e8);
}
.public-checkout-panel-head > div {
  display: grid;
  gap: 4px;
}

.public-checkout-panel-head small {
  color: var(--theme-text-muted,#7b8790);
  line-height: 1.45;
}
.public-checkout-count {
  flex: 0 0 auto;
  padding: 5px 9px;
  border-radius:999px;
  background: var(--theme-surface-subdued,#f6f8f9);
  color: var(--theme-text-secondary,#61707a);
  font-size: 10px;
  font-weight:600;
}

.public-checkout-list {
  display: grid;
}
.public-checkout-item {
  display: grid;
  align-items: start;
  border-bottom: 1px solid var(--theme-border,#dfe5e8);
}
.public-checkout-item:last-child {
  border-bottom: 0;
}
.public-checkout-item-index {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius:9px;
  background: var(--theme-surface-subdued,#f6f8f9);
  color: var(--theme-text-muted,#7b8790);
  font-size: 10px;
  font-weight:600;
}
.public-checkout-item-media {
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--theme-border,#dfe5e8);
  color: var(--theme-text-muted,#7b8790);
}
.public-checkout-item-media img {
  width: 100%;
  height: 100%;
}
.public-checkout-item-copy {
  min-width: 0;
  display: grid;
  gap: 9px;
}
.public-checkout-item-title {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: start;
}
.public-checkout-item-title a {
  min-width: 0;
  color: var(--theme-text,#172027);
  font-size: 13px;
  font-weight:600;
  line-height: 1.42;
  text-decoration: none;
}
.public-checkout-item-title strong {
  color: var(--theme-text,#172027);
  font-size: 13px;
  white-space: nowrap;
}
.public-checkout-item-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.public-checkout-item-meta span {
  padding: 4px 7px;
  border-radius:999px;
  background: var(--theme-surface-subdued,#f6f8f9);
  color: var(--theme-text-secondary,#61707a);
  font-size: 9px;
  font-weight:600;
}
.public-checkout-item-summary {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.public-checkout-item-summary > div {
  min-width: 0;
  display: grid;
  gap: 2px;
  border: 1px solid var(--theme-border,#dfe5e8);
}
.public-checkout-item-summary span {
  color: var(--theme-text-muted,#7b8790);
  font-size: 8px;
  font-weight:600;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.public-checkout-item-summary strong {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--theme-text,#172027);
  font-size: 10px;
  line-height: 1.4;
}
.public-checkout-item-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}
.public-checkout-item-actions > a {
  color: var(--accent,#18181b);
  font-size: 10px;
  font-weight:600;
  text-decoration: none;
}
.public-checkout-item-state {
  width: max-content;
  padding: 4px 7px;
  border-radius:999px;
  background: rgba(33,192,139,.1);
  color: var(--accent,#18181b);
  font-size: 9px;
  font-weight:600;
}
.public-checkout-item.is-processing .public-checkout-item-state {
  background: rgba(47,125,246,.1);
  color: #2f7df6;
}
.public-checkout-item.is-complete .public-checkout-item-state {
  background: rgba(33,192,139,.12);
  color: var(--accent,#18181b);
}
.public-checkout-item.is-error .public-checkout-item-state {
  max-width: 100%;
  border-radius:8px;
  background: rgba(217,67,78,.1);
  color: #d9434e;
  line-height: 1.4;
}

.public-checkout-summary {
  position: sticky;
}
.public-checkout-summary-body {
  display: grid;
}
.public-checkout-total-lines {
  display: grid;
}
.public-checkout-total-lines > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--theme-text-secondary,#61707a);
  font-size: 11px;
}
.public-checkout-total-lines > div.is-total {
  margin-top: 2px;
  padding-top: 12px;
  border-top: 1px solid var(--theme-border,#dfe5e8);
  color: var(--theme-text,#172027);
  font-weight:600;
}
.public-checkout-total-lines .is-total strong {
  font-size: 22px;
}

.public-checkout-payment {
  display: grid;
  padding-top: 2px;
}
.public-checkout-payment-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--theme-text-secondary,#61707a);
  font-size: 10px;
}
.public-checkout-payment-title strong {
  color: var(--theme-text,#172027);
  font-size: 11px;
}
.public-checkout-wallet {
  display: grid;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--theme-border,#dfe5e8);
  background: var(--theme-surface-subdued,#f6f8f9);
}
.public-checkout-wallet-icon,
.public-checkout-login-icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius:10px;
  background: color-mix(in srgb,var(--accent,#18181b) 12%,var(--theme-surface,#fff));
  color: var(--accent,#18181b);
}
.public-checkout-wallet > div:last-child {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.public-checkout-wallet span {
  color: var(--theme-text-muted,#7b8790);
  font-size: 9px;
}
.public-checkout-wallet strong {
  font-size: 16px;
}

.public-checkout-login {
  display: grid;
  align-items: start;
}
.public-checkout-login h2 {
  margin: 0;
  font-size: 15px;
}
.public-checkout-login p {
  margin: 5px 0 0;
  color: var(--theme-text-secondary,#61707a);
  font-size: 10px;
  line-height: 1.5;
}
.public-checkout-login .button {
  grid-column: 1 / -1;
  width: 100%;
  min-height: 43px;
  justify-content: center;
}

.public-checkout-balance-error,
.public-checkout-run-error {
  margin: 0;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 10px 11px;
  border: 1px solid rgba(217,67,78,.3);
  border-radius:10px;
  background: rgba(217,67,78,.09);
  color: #d9434e;
  font-size: 10px;
  line-height: 1.45;
}
.public-checkout-wallet-link,
.public-checkout-pay {
  width: 100%;
  justify-content: center;
}
.public-checkout-pay:disabled {
  opacity: .45;
  cursor: not-allowed;
}
.public-checkout-progress {
  display: grid;
  gap: 7px;
  margin: 0;
}
.public-checkout-progress > div:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: var(--theme-text-secondary,#61707a);
  font-size: 10px;
}
.public-checkout-progress > div:last-child {
  height: 6px;
  overflow: hidden;
  border-radius:999px;
  background: var(--theme-surface-subdued,#f6f8f9);
}
.public-checkout-progress i {
  display: block;
  width: 0;
  height: 100%;
  border-radius:inherit;
  background: var(--accent,#18181b);
  transition: width .2s ease;
}
.public-checkout-engine-note {
  color: var(--theme-text-muted,#7b8790);
  font-size: 9px;
  line-height: 1.5;
}
.public-checkout-empty {
  display: grid;
  align-items: center;
  justify-content: center;
}
.public-checkout-empty h2 {
  margin: 0;
  font-size: 18px;
}
.public-checkout-empty p {
  margin: 5px 0 0;
  color: var(--theme-text-secondary,#61707a);
}

/* Cart drawer readability + primary checkout action */
.public-commerce-cart-item-copy small b {
  color: var(--theme-text,#172027);
}
.public-commerce-cart-checkout {
  width: 100%;
  min-height: 43px;
  justify-content: center;
  border-color: var(--accent,#18181b);
  background: var(--accent,#18181b);
  color: var(--gv-primary-text);
  font-weight:600;
}
.public-commerce-cart-checkout:hover {
  filter: brightness(.97);
}
.public-commerce-cart-checkout.is-disabled {
  opacity: .45;
  pointer-events: none;
}

/* Dark public storefront: solid, readable surfaces */
html[data-theme="premium-glass"] .public-checkout-card,
html[data-theme="premium-glass"] .public-checkout-empty {
  background: var(--gv-surface) ;
  color: var(--gv-text) ;
  border-color: var(--gv-border) ;
  box-shadow: 0 16px 38px rgba(0,0,0,.24);
  backdrop-filter: none ;
}
html[data-theme="premium-glass"] .public-checkout-panel-head,
html[data-theme="premium-glass"] .public-checkout-item,
html[data-theme="premium-glass"] .public-checkout-total-lines > div.is-total {
  border-color: var(--gv-border) ;
}
html[data-theme="premium-glass"] .public-checkout-count,
html[data-theme="premium-glass"] .public-checkout-item-index,
html[data-theme="premium-glass"] .public-checkout-item-media,
html[data-theme="premium-glass"] .public-checkout-item-meta span,
html[data-theme="premium-glass"] .public-checkout-item-summary > div,
html[data-theme="premium-glass"] .public-checkout-wallet {
  background: var(--gv-surface-subtle) ;
  border-color: var(--gv-border) ;
  color: var(--gv-text) ;
}
html[data-theme="premium-glass"] .public-checkout-heading h1,
html[data-theme="premium-glass"] .public-checkout-panel-head strong,
html[data-theme="premium-glass"] .public-checkout-item-title a,
html[data-theme="premium-glass"] .public-checkout-item-title strong,
html[data-theme="premium-glass"] .public-checkout-item-summary strong,
html[data-theme="premium-glass"] .public-checkout-total-lines > div.is-total,
html[data-theme="premium-glass"] .public-checkout-payment-title strong,
html[data-theme="premium-glass"] .public-checkout-login h2,
html[data-theme="premium-glass"] .public-checkout-wallet strong,
html[data-theme="premium-glass"] .public-commerce-cart-item-copy small b {
  color: var(--gv-text) ;
}
html[data-theme="premium-glass"] .public-checkout-heading p,
html[data-theme="premium-glass"] .public-checkout-panel-head small,
html[data-theme="premium-glass"] .public-checkout-item-summary span,
html[data-theme="premium-glass"] .public-checkout-total-lines > div,
html[data-theme="premium-glass"] .public-checkout-login p,
html[data-theme="premium-glass"] .public-checkout-wallet span,
html[data-theme="premium-glass"] .public-checkout-engine-note,
html[data-theme="premium-glass"] .public-commerce-cart-item-copy small {
  color: var(--gv-text-muted) ;
}
html[data-theme="premium-glass"] .public-commerce-cart-checkout {
  background: var(--accent,#18181b) ;
  border-color: var(--accent,#18181b) ;
  color: var(--gv-primary-text) ;
}

@media (max-width: 940px) {
  .public-checkout-layout {
    grid-template-columns: 1fr;
  }
  .public-checkout-summary {
    position: static;
  }
}
@media (max-width: 720px) {
  .public-checkout-main {
    padding-top: 14px;
  }
  .public-checkout-continue {
    width: max-content;
  }
  .public-checkout-item-index {
    display: none;
  }
}
@media (max-width: 480px) {
  .public-checkout-shell {
    padding-inline: 12px;
  }
  .public-checkout-heading h1 {
    font-size: 29px;
  }
  .public-checkout-item-title {
    grid-template-columns: 1fr;
    gap: 6px;
  }
  .public-checkout-item-title strong {
    justify-self: start;
  }
  .public-checkout-panel-head {
    padding: 13px 14px;
  }
  .public-checkout-summary-body {
    padding: 14px;
  }
}


/* Admin home service picker */


/* Dark/public premium-glass commerce surfaces are deliberately solid. */
html[data-theme="premium-glass"] .public-commerce-cart-panel,

html[data-theme="premium-glass"] .public-commerce-cart-panel > footer,

html[data-theme="premium-glass"] .public-checkout-items,

html[data-theme="premium-glass"] .public-checkout-summary,

html[data-theme="premium-glass"] .public-checkout-empty{
  background:var(--gv-surface);
  color:var(--gv-text);
  border-color:var(--gv-border);
  backdrop-filter:none;
}
html[data-theme="premium-glass"] .public-commerce-cart-panel > header,

html[data-theme="premium-glass"] .public-commerce-cart-item,

html[data-theme="premium-glass"] .public-commerce-cart-panel > footer,

html[data-theme="premium-glass"] .public-checkout-panel-head,

html[data-theme="premium-glass"] .public-checkout-item{
  border-color:var(--gv-border);
}

html[data-theme="premium-glass"] .public-commerce-cart-item-media,

html[data-theme="premium-glass"] .public-checkout-item-index,

html[data-theme="premium-glass"] .public-checkout-item-media,

html[data-theme="premium-glass"] .public-checkout-item-meta span,

html[data-theme="premium-glass"] .public-product-choice-grid label {
  background:var(--gv-surface-subtle);
  color:var(--gv-text);
  border-color:var(--gv-border);
  backdrop-filter:none;
}
html[data-theme="premium-glass"] .public-commerce-cart-panel :is(strong,a),html[data-theme="premium-glass"] .public-product-card-title,html[data-theme="premium-glass"] .public-product-card-body footer strong,html[data-theme="premium-glass"] .public-checkout-item-title a {
  color:var(--gv-text);
}
html[data-theme="premium-glass"] .public-commerce-cart-item-copy small,html[data-theme="premium-glass"] .public-checkout-heading p{
  color:var(--gv-text-muted);
}
@media (max-width:720px) {
  .public-product-buy { grid-template-columns:1fr 1fr; }
  .public-product-buy > a:last-child { grid-column:1 / -1; }
  .public-checkout-heading { align-items:stretch; flex-direction:column; }
  
  
  
  
  
  
  
}
@media (max-width:480px) {
  .public-product-buy { grid-template-columns:1fr; }
  .public-product-buy > a:last-child { grid-column:auto; }
  .public-checkout-item { grid-template-columns:58px minmax(0,1fr); }
  .public-checkout-item-index { display:none; }
  .public-checkout-item-media { width:58px; height:58px; }
  .public-checkout-empty { grid-template-columns:1fr; text-align:center; }
  
  
  
  
  
}


/* Public dark theme is premium-glass at document level. The category drawer is
   intentionally solid and high-contrast instead of glass/translucent. */
@media (max-width: 560px) {
  .public-commerce-cart-button {
    margin-inline-end:4px;
  }
}


/* Store shell */
.public-store-page .public-store-main,
.public-product-page .public-product-main {
  padding-top: 20px;
  padding-bottom: 42px;
}
.public-store-page .public-store-breadcrumb,
.public-product-page .public-store-breadcrumb {
  margin-bottom: 14px;
  font-size: 11px;
}
.public-store-page .public-store-filters,
.public-store-page .public-store-results-head {
  border-color: color-mix(in srgb, var(--theme-border,#dfe5e8) 92%, transparent);
}
.public-store-page .public-store-filter-head strong {
  letter-spacing: -.01em;
}

/* Store cards */
.public-store-page .public-product-card {
  grid-template-rows: auto minmax(0,1fr);
  border-color: color-mix(in srgb, var(--theme-border,#dfe5e8) 94%, transparent);
}
.public-store-page .public-product-card:hover {
  border-color: color-mix(in srgb,var(--accent,#18181b) 42%,var(--theme-border,#dfe5e8));
}
.public-store-page .public-product-card-media {
  margin: 0;
  border-radius:0;
  background: color-mix(in srgb,var(--theme-surface-subdued,#f4f7f8) 88%,var(--theme-surface,#fff));
}
.public-store-page .public-product-card-media img {
  border-radius:0;
}
.public-store-page .public-product-card-media em {
  box-shadow: 0 5px 14px color-mix(in srgb,var(--accent,#18181b) 24%,transparent);
}
.public-store-page .public-product-card-title {
  letter-spacing: -.005em;
}
.public-store-page .public-product-card-body footer {
  gap: 10px;
  border-top: 1px solid color-mix(in srgb,var(--theme-border,#dfe5e8) 74%,transparent);
}
.public-product-card-price {
  min-width: 0;
  display: grid;
  gap: 1px;
}
.public-product-card-price small {
  color: var(--theme-text-muted,#7b8790);
  font-size: 8px;
  font-weight:600;
  text-transform: uppercase;
  letter-spacing: .045em;
}
.public-store-page .public-product-card-body footer .public-product-card-price strong {
  line-height: 1.15;
  letter-spacing: -.015em;
}
.public-product-card-open {
  width: 36px;
  min-width: 36px;
  height: 36px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border-color: var(--accent,#18181b);
  border-radius:var(--gv-radius-sm, 6px);
  background: var(--accent,#18181b);
  color: var(--accent-contrast,#06130d);
  font-size: 10px;
  font-weight:600;
  text-decoration: none;
  transition: filter .15s ease, box-shadow .15s ease;
}
.public-product-card-open:hover {
  filter: brightness(.97);
  box-shadow: 0 7px 18px color-mix(in srgb,var(--accent,#18181b) 20%,transparent);
}
.public-product-card-open svg {
  width: 20px;
  height: 20px;
}

/* List view keeps the same final controls without oversized rows. */

.public-store-page .public-store-products.is-list .public-product-card-media {
  margin: 0;
}

.public-store-page .public-store-products.is-list .public-product-card-body footer {
  border-top: 0;
  padding-top: 0;
}

/* Product detail */
.public-product-page .public-product-hero {
  grid-template-columns: minmax(380px,.8fr) minmax(0,1.2fr);
  gap: 28px;
  padding: 4px 0 24px;
}
.public-product-page .public-product-image {
  min-height: 420px;
  max-height: 540px;
  padding: 20px;
  border-radius:var(--gv-radius-lg, 8px);
  background: color-mix(in srgb,var(--theme-surface-subdued,#f4f7f8) 90%,var(--theme-surface,#fff));
  box-shadow: 0 8px 26px rgba(15,23,42,.045);
}
.public-product-page .public-product-image img {
  max-height: 500px;
  object-fit: contain;
  border-radius:var(--gv-radius-sm, 6px);
}
.public-product-page .public-product-summary {
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--theme-border,#dfe5e8);
  border-radius:var(--gv-radius-lg, 8px);
  background: var(--theme-surface,#fff);
  box-shadow: 0 10px 28px rgba(15,23,42,.05);
}
.public-product-page .public-product-title-row h1 {
  font-size: clamp(24px,2.6vw,32px);
  line-height: 1.18;
}
.public-product-page .public-product-title-row > div > a {
  margin-top: 6px;
  color: var(--accent,#18181b);
  font-size: 10px;
  font-weight:600;
}
.public-product-page .public-product-badges span {
  min-height: 25px;
  display: inline-flex;
  align-items: center;
  padding: 4px 8px;
  border-radius:var(--gv-radius-sm, 6px);
  font-size: 8px;
  letter-spacing: .025em;
}
.public-product-page .public-product-delivery {
  min-height: 34px;
  width: max-content;
  padding: 0 10px;
  border-radius:var(--gv-radius-sm, 6px);
  background: var(--theme-surface-subdued,#f6f8f9);
  font-size: 10px;
}
.public-product-page .public-product-price {
  padding: 12px 13px;
  border: 1px solid var(--theme-border,var(--gv-border));
  border-radius:var(--gv-radius-lg, 8px);
  background: var(--theme-surface-subdued,var(--gv-surface-subtle));
}
.public-product-page .public-product-price strong {
  color: var(--theme-text,#172027);
  font-size: 28px;
}
.public-product-page .public-product-inline-description {
  font-size: 11px;
  line-height: 1.55;
}
.public-product-page .public-product-entry-fields {
  gap: 11px;
  padding: 13px;
  border: 1px solid var(--theme-border,#dfe5e8);
  border-radius:var(--gv-radius-lg, 8px);
  background: transparent;
}
.public-product-page .public-product-section-label {
  margin-bottom: 1px;
}
.public-product-page .public-product-section-label strong {
  font-size: 12px;
}
.public-product-page .public-product-section-label small {
  font-size: 9px;
  line-height: 1.45;
}
.public-product-page .public-product-note {
  padding: 0 1px;
}
.public-product-page .public-product-buy {
  grid-template-columns: minmax(132px,.72fr) minmax(168px,1fr) minmax(132px,.78fr);
  gap: 9px;
  padding-top: 2px;
}
.public-product-page .public-product-buy .button {
  min-height: 44px;
  border-radius:var(--gv-radius-sm, 6px);
  font-size: 11px;
  font-weight:600;
}
.public-product-page .public-product-add-cart {
  border-color: color-mix(in srgb,var(--accent,#18181b) 48%,var(--theme-border,#dfe5e8));
  background: color-mix(in srgb,var(--accent,#18181b) 7%,var(--theme-surface,#fff));
  color: var(--theme-text,#172027);
}
.public-product-page .public-product-buy-button {
  min-width: 0;
  background: var(--accent,#18181b);
  border-color: var(--accent,#18181b);
  color: var(--accent-contrast,#06130d);
}
.public-product-page .public-product-buy > a:last-child {
  border-color: var(--theme-border,#dfe5e8);
  background: var(--theme-surface-subdued,#f6f8f9);
}
.public-product-page .public-product-login-note {
  padding: 8px 10px;
  border-radius:9px;
  background: var(--theme-surface-subdued,#f6f8f9);
  font-size: 9px;
}
.public-product-page .public-product-description,
.public-product-page .public-product-related {
  margin-top: 18px;
  padding-top: 20px;
}
.public-product-page .public-product-description h2,
.public-product-page .public-product-related h2 {
  font-size: 17px;
}
.public-product-page .public-product-related-grid {
  gap: 12px;
}
.public-product-page .public-product-related-grid article {
  grid-template-rows: auto minmax(0,1fr);
  border-radius:var(--gv-radius-lg, 8px);
  box-shadow: 0 5px 16px rgba(15,23,42,.035);
}
.public-product-page .public-product-related-media {
  margin: 0;
  border-radius:0;
}
.public-product-page .public-product-related-media img {
  width: 100%;
  height: 100%;
  object-fit: contain ;
}

/* Premium dark storefront */
html[data-theme="premium-glass"] .public-store-page .public-store-filters,
html[data-theme="premium-glass"] .public-store-page .public-store-results-head,
html[data-theme="premium-glass"] .public-store-page .public-product-card,
html[data-theme="premium-glass"] .public-product-page .public-product-summary {
  background: var(--gv-surface) ;
  border-color: var(--gv-border) ;
  box-shadow: 0 12px 30px rgba(0,0,0,.18);
}
html[data-theme="premium-glass"] .public-store-page .public-product-card-media,
html[data-theme="premium-glass"] .public-product-page .public-product-image,
html[data-theme="premium-glass"] .public-product-page .public-product-entry-fields,
html[data-theme="premium-glass"] .public-product-page .public-product-delivery,
html[data-theme="premium-glass"] .public-product-page .public-product-login-note {
  background: var(--gv-surface-subtle) ;
  border-color: var(--gv-border) ;
}
html[data-theme="premium-glass"] .public-product-page .public-product-price {
  background: var(--gv-surface-subtle) ;
  border-color: var(--gv-border-strong) ;
}
html[data-theme="premium-glass"] .public-product-page .public-product-add-cart,
html[data-theme="premium-glass"] .public-product-page .public-product-buy > a:last-child {
  background: var(--gv-surface-subtle) ;
  border-color: var(--gv-border) ;
  color: var(--gv-text) ;
}
html[data-theme="premium-glass"] .public-store-page .public-product-card-body footer .public-product-card-price strong,
html[data-theme="premium-glass"] .public-product-page .public-product-price strong {
  color: var(--gv-text) ;
}

@media (max-width:1400px) {
  .public-store-page .public-store-products.is-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
}
@media (max-width:1080px) {
  .public-store-page .public-store-products.is-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
@media (max-width:900px) {
  .public-product-page .public-product-hero {
    grid-template-columns: minmax(250px,.72fr) minmax(0,1.28fr);
    gap: 16px;
  }
  .public-product-page .public-product-image {
    min-height: 310px;
  }
}
@media (max-width:700px) {
  .public-store-page .public-store-results-head {
    gap: 10px;
  }
  .public-product-page .public-product-hero {
    grid-template-columns: 1fr;
  }
  .public-product-page .public-product-image {
    min-height: 230px;
    max-height: 330px;
  }
  .public-product-page .public-product-summary {
    padding: 15px;
  }
  .public-product-page .public-product-buy {
    grid-template-columns: 1fr 1fr;
  }
  .public-product-page .public-product-buy > a:last-child {
    grid-column: 1 / -1;
  }
}
@media (max-width:620px) {
  .public-store-page .public-store-products.is-grid {
    grid-template-columns: 1fr;
  }
  .public-store-page .public-product-card,
  .public-store-page .public-store-products.is-list .public-product-card {
    grid-template-columns: minmax(0,1fr);
    grid-template-rows: auto minmax(0,1fr);
    min-height: 126px;
  }
  .public-store-page .public-product-card-media,
  .public-store-page .public-store-products.is-list .public-product-card-media {
    min-height: 0;
    margin: 0;
  }
  .public-store-page .public-product-card-body,
  .public-store-page .public-store-products.is-list .public-product-card-body {
    display: flex;
    flex-direction: column;
    gap: 7px;
    padding: 10px 11px;
  }
  .public-store-page .public-product-card-body p {
    display: none;
  }
  .public-store-page .public-product-card-body footer,
  .public-store-page .public-store-products.is-list .public-product-card-body footer {
    width: 100%;
    min-width: 0;
    margin-top: auto;
    padding-top: 7px;
    border-top: 1px solid color-mix(in srgb,var(--theme-border,#dfe5e8) 74%,transparent);
  }
  .public-product-page .public-product-buy {
    grid-template-columns: 1fr;
  }
  .public-product-page .public-product-buy > a:last-child {
    grid-column: auto;
  }
}


.public-checkout-page .public-checkout-main {
  padding-top: 20px;
  padding-bottom: 46px;
}
.public-checkout-shell {
  max-width: 1180px;
}
.public-checkout-page .public-checkout-breadcrumb {
  margin-bottom: 14px;
  font-size: 11px;
}
.public-checkout-heading {
  align-items: center;
  gap: 24px;
  margin-bottom: 16px;
}
.public-checkout-title {
  min-width: 0;
}
.public-checkout-page .public-checkout-eyebrow {
  margin-bottom: 4px;
  font-size: 9px;
  letter-spacing: .075em;
}
.public-checkout-page .public-checkout-heading h1 {
  font-size: clamp(25px,2.8vw,33px);
  letter-spacing: -.025em;
}
.public-checkout-page .public-checkout-heading p {
  max-width: 600px;
  margin-top: 6px;
  font-size: 11px;
  line-height: 1.5;
}
.public-checkout-header-side {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 12px;
}
.public-checkout-steps {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 7px 9px;
  border: 1px solid var(--theme-border,#dfe5e8);
  border-radius:var(--gv-radius-lg, 8px);
  background: var(--theme-surface,#fff);
  box-shadow: 0 6px 18px rgba(15,23,42,.035);
}
.public-checkout-steps > span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--theme-text-muted,#7b8790);
  font-size: 9px;
  font-weight:600;
  white-space: nowrap;
}
.public-checkout-steps > span b {
  width: 19px;
  height: 19px;
  display: grid;
  place-items: center;
  border-radius:999px;
  background: var(--theme-surface-subdued,#f6f8f9);
  color: var(--theme-text-secondary,#61707a);
  font-size: 8px;
}
.public-checkout-steps > span.is-complete,
.public-checkout-steps > span.is-current {
  color: var(--theme-text,#172027);
}
.public-checkout-steps > span.is-complete b,
.public-checkout-steps > span.is-current b {
  background: color-mix(in srgb,var(--accent,#18181b) 12%,var(--theme-surface,#fff));
  color: var(--accent,#18181b);
}
.public-checkout-steps > i {
  width: 14px;
  height: 1px;
  background: var(--theme-border,#dfe5e8);
}
.public-checkout-page .public-checkout-continue {
  min-height: 38px;
  padding-inline: 12px;
  border-radius:10px;
  font-size: 10px;
}

.public-checkout-layout {
  grid-template-columns: minmax(0,1.62fr) minmax(318px,.72fr);
  gap: 16px;
}
.public-checkout-card,
.public-checkout-empty {
  border-radius:var(--gv-radius-lg, 8px);
  border-color: color-mix(in srgb,var(--theme-border,#dfe5e8) 94%,transparent);
  box-shadow: 0 8px 26px rgba(15,23,42,.045);
}
.public-checkout-panel-head {
  min-height: 70px;
  padding: 14px 16px;
}
.public-checkout-panel-kicker {
  color: var(--accent,#18181b);
  font-size: 8px;
  font-weight:600;
  letter-spacing: .065em;
  text-transform: uppercase;
}
.public-checkout-panel-head strong {
  font-size: 14px;
  letter-spacing: -.01em;
}
.public-checkout-panel-head small {
  font-size: 9px;
}
.public-checkout-page .public-checkout-count,
.public-checkout-secure-badge {
  min-height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 8px;
  border-radius:8px;
  background: color-mix(in srgb,var(--accent,#18181b) 8%,var(--theme-surface-subdued,#f6f8f9));
  color: var(--accent,#18181b);
  font-size: 8px;
  font-weight:600;
  letter-spacing: .025em;
}

.public-checkout-item {
  grid-template-columns: 28px 82px minmax(0,1fr);
  gap: 13px;
  padding: 15px 16px;
}
.public-checkout-page .public-checkout-item-index {
  width: 26px;
  height: 26px;
  border-radius:8px;
  font-size: 9px;
}
.public-checkout-item-media {
  width: 82px;
  height: 82px;
  padding: 7px;
  border-radius:var(--gv-radius-lg, 8px);
  background: color-mix(in srgb,var(--theme-surface-subdued,#f4f7f8) 88%,var(--theme-surface,#fff));
}
.public-checkout-item-media img {
  object-fit: contain;
  border-radius:7px;
}
.public-checkout-page .public-checkout-item-copy {
  gap: 10px;
}
.public-checkout-item-title {
  gap: 16px;
}
.public-checkout-item-title > div:first-child {
  min-width: 0;
  display: grid;
  gap: 7px;
}
.public-checkout-page .public-checkout-item-title a {
  font-size: 13px;
  line-height: 1.38;
}
.public-checkout-page .public-checkout-item-meta {
  gap: 5px;
}
.public-checkout-page .public-checkout-item-meta span {
  padding: 4px 7px;
  border-radius:8px;
  font-size: 8px;
}
.public-checkout-item-price {
  min-width: 96px;
  display: grid;
  justify-items: end;
  gap: 2px;
}
.public-checkout-item-price small {
  color: var(--theme-text-muted,#7b8790);
  font-size: 8px;
  font-weight:600;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.public-checkout-item-price strong {
  color: var(--theme-text,#172027);
  font-size: 15px;
  letter-spacing: -.015em;
  white-space: nowrap;
}
.public-checkout-item-summary {
  gap: 7px;
}
.public-checkout-item-summary > div {
  padding: 8px 9px;
  border-radius:9px;
  background: color-mix(in srgb,var(--theme-surface-subdued,#f6f8f9) 88%,var(--theme-surface,#fff));
}
.public-checkout-page .public-checkout-item-summary span {
  font-size: 7.5px;
}
.public-checkout-page .public-checkout-item-summary strong {
  font-size: 9.5px;
}
.public-checkout-item-actions {
  min-height: 25px;
  padding-top: 2px;
}
.public-checkout-page .public-checkout-item-actions > a {
  font-size: 9px;
}
.public-checkout-page .public-checkout-item-state {
  min-height: 22px;
  display: inline-flex;
  align-items: center;
  padding: 3px 7px;
  border-radius:7px;
  font-size: 8px;
}

.public-checkout-summary {
  top: 76px;
}
.public-checkout-summary-head {
  min-height: 68px;
}
.public-checkout-summary-body {
  gap: 13px;
  padding: 15px;
}
.public-checkout-total-lines {
  gap: 9px;
  padding: 1px 1px 2px;
}
.public-checkout-page .public-checkout-total-lines > div {
  font-size: 10px;
}
.public-checkout-page .public-checkout-total-lines > div.is-total {
  margin-top: 4px;
  padding: 12px 12px 11px;
  border: 1px solid color-mix(in srgb,var(--accent,#18181b) 26%,var(--theme-border,#dfe5e8));
  border-radius:var(--gv-radius-lg, 8px);
  background: color-mix(in srgb,var(--accent,#18181b) 6%,var(--theme-surface,#fff));
}
.public-checkout-page .public-checkout-total-lines .is-total strong {
  color: var(--theme-text,#172027);
  font-size: 23px;
  letter-spacing: -.025em;
}
.public-checkout-payment {
  gap: 8px;
}
.public-checkout-wallet {
  grid-template-columns: 38px minmax(0,1fr) auto;
  min-height: 68px;
  padding: 10px;
  border-radius:var(--gv-radius-lg, 8px);
}
.public-checkout-wallet-status {
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  padding: 3px 7px;
  border-radius:7px;
  font-size: 8px;
  font-weight:600;
  white-space: nowrap;
}
.public-checkout-wallet-status.is-ready {
  background: rgba(33,192,139,.1);
  color: var(--accent,#18181b);
}
.public-checkout-wallet-status.is-low {
  background: rgba(217,67,78,.09);
  color: #d9434e;
}
.public-checkout-login {
  grid-template-columns: 40px minmax(0,1fr);
  gap: 10px 11px;
  padding-top: 1px;
}
.public-checkout-page .public-checkout-login h2 {
  font-size: 14px;
}
.public-checkout-page .public-checkout-login p {
  font-size: 9px;
}
.public-checkout-page .public-checkout-login .button,
.public-checkout-pay,
.public-checkout-wallet-link {
  min-height: 44px;
  border-radius:10px;
  font-size: 10px;
  font-weight:600;
}
.public-checkout-balance-error {
  border-radius:9px;
  font-size: 9px;
}
.public-checkout-submit-zone {
  display: grid;
  gap: 8px;
  padding-top: 2px;
}
.public-checkout-pay {
  background: var(--accent,#18181b);
  border-color: var(--accent,#18181b);
  color: var(--accent-contrast,#06130d);
  box-shadow: 0 8px 20px color-mix(in srgb,var(--accent,#18181b) 17%,transparent);
}
.public-checkout-pay:not(:disabled):hover {
  filter: brightness(.97);
}
.public-checkout-page .public-checkout-engine-note {
  text-align: center;
  font-size: 8px;
  line-height: 1.5;
}

.public-checkout-empty {
  min-height: 250px;
  grid-template-columns: 58px minmax(0,500px) auto;
  gap: 17px;
  padding: 28px 30px;
}
.public-checkout-empty-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius:var(--gv-radius-lg, 8px);
  background: color-mix(in srgb,var(--accent,#18181b) 9%,var(--theme-surface-subdued,#f6f8f9));
  color: var(--accent,#18181b);
}
.public-checkout-empty-copy {
  display: grid;
  gap: 5px;
}
.public-checkout-empty-copy > span {
  color: var(--accent,#18181b);
  font-size: 8px;
  font-weight:600;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.public-checkout-page .public-checkout-empty h2 {
  font-size: 18px;
  letter-spacing: -.015em;
}
.public-checkout-page .public-checkout-empty p {
  max-width: 480px;
  margin-top: 0;
  font-size: 10px;
  line-height: 1.55;
}
.public-checkout-empty-action {
  min-width: 122px;
  min-height: 42px;
  justify-content: center;
  border-radius:10px;
  font-size: 10px;
  font-weight:600;
}

/* Premium dark checkout */
html[data-theme="premium-glass"] .public-checkout-page .public-checkout-steps,
html[data-theme="premium-glass"] .public-checkout-page .public-checkout-card,
html[data-theme="premium-glass"] .public-checkout-page .public-checkout-empty {
  background: var(--gv-surface) ;
  border-color: var(--gv-border) ;
  color: var(--gv-text) ;
  box-shadow: 0 12px 30px rgba(0,0,0,.18);
}
html[data-theme="premium-glass"] .public-checkout-page .public-checkout-item-media,
html[data-theme="premium-glass"] .public-checkout-page .public-checkout-item-summary > div,
html[data-theme="premium-glass"] .public-checkout-page .public-checkout-wallet,
html[data-theme="premium-glass"] .public-checkout-page .public-checkout-steps > span b {
  background: var(--gv-surface-subtle) ;
  border-color: var(--gv-border) ;
}
html[data-theme="premium-glass"] .public-checkout-page .public-checkout-total-lines > div.is-total {
  background: var(--gv-surface-subtle) ;
  border-color: var(--gv-border-strong) ;
}
html[data-theme="premium-glass"] .public-checkout-page .public-checkout-item-price strong,
html[data-theme="premium-glass"] .public-checkout-page .public-checkout-total-lines > div.is-total strong,
html[data-theme="premium-glass"] .public-checkout-page .public-checkout-steps > span.is-complete,
html[data-theme="premium-glass"] .public-checkout-page .public-checkout-steps > span.is-current {
  color: var(--gv-text) ;
}

@media (max-width: 1040px) {
  .public-checkout-header-side {
    align-items: flex-end;
    flex-direction: column;
  }
  .public-checkout-layout {
    grid-template-columns: minmax(0,1.45fr) minmax(300px,.72fr);
  }
}
@media (max-width: 900px) {
  .public-checkout-heading {
    align-items: flex-start;
  }
  .public-checkout-header-side {
    align-items: flex-end;
  }
  .public-checkout-layout {
    grid-template-columns: 1fr;
  }
  .public-checkout-summary {
    position: static;
  }
}
@media (max-width: 720px) {
  .public-checkout-page .public-checkout-main {
    padding-top: 14px;
  }
  .public-checkout-heading {
    gap: 11px;
  }
  .public-checkout-header-side {
    width: 100%;
    align-items: stretch;
    flex-direction: column;
  }
  .public-checkout-steps {
    width: 100%;
    justify-content: space-between;
  }
  .public-checkout-steps > i {
    flex: 1 1 18px;
    max-width: 52px;
  }
  .public-checkout-page .public-checkout-continue {
    width: max-content;
  }
  .public-checkout-item {
    grid-template-columns: 66px minmax(0,1fr);
    gap: 11px;
    padding: 13px;
  }
  .public-checkout-page .public-checkout-item-index {
    display: none;
  }
  .public-checkout-item-media {
    width: 66px;
    height: 66px;
  }
  .public-checkout-item-summary {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
@media (max-width: 520px) {
  .public-checkout-shell {
    padding-inline: 11px;
  }
  .public-checkout-page .public-checkout-heading h1 {
    font-size: 27px;
  }
  .public-checkout-steps {
    padding: 7px;
  }
  .public-checkout-steps > span {
    font-size: 8px;
  }
  .public-checkout-steps > span b {
    width: 18px;
    height: 18px;
  }
  .public-checkout-panel-head {
    min-height: 64px;
    padding: 12px 13px;
  }
  .public-checkout-item {
    grid-template-columns: 58px minmax(0,1fr);
  }
  .public-checkout-item-media {
    width: 58px;
    height: 58px;
    padding: 5px;
  }
  .public-checkout-item-title {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .public-checkout-item-price {
    min-width: 0;
    justify-items: start;
  }
  .public-checkout-item-price small {
    display: none;
  }
  .public-checkout-item-summary {
    grid-template-columns: 1fr;
  }
  .public-checkout-summary-body {
    padding: 13px;
  }
  .public-checkout-wallet {
    grid-template-columns: 36px minmax(0,1fr);
  }
  .public-checkout-wallet-status {
    grid-column: 2;
    justify-self: start;
  }
  .public-checkout-empty {
    grid-template-columns: 1fr;
    justify-items: center;
    min-height: 280px;
    padding: 26px 20px;
    text-align: center;
  }
  .public-checkout-empty-copy {
    justify-items: center;
  }
  .public-checkout-empty-action {
    width: 100%;
    max-width: 220px;
  }
}

/* Commerce canvas gutters are token-driven so store/product stay wide without touching other public pages. */
@media (max-width: 980px) {
  :root { --ecom-page-gutter: 12px; }
}
@media (max-width: 560px) {
  :root { --ecom-page-gutter: 9px; }
}

/* ========================================================================== */
/* Public storefront breadcrumb navigation                                    */
/* ========================================================================== */
.public-store-breadcrumb {
  min-height: 36px;
  gap: 7px;
  margin-bottom: 14px;
  color: var(--theme-text-muted, #64748b);
  font-size: 11px;
  font-weight:600;
  line-height: 1.35;
}

.public-store-breadcrumb :is(a,strong) {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  border-radius: 7px;
}

.public-store-breadcrumb a {
  padding-inline: 7px;
  color: var(--theme-text-secondary, #475569);
  text-decoration: none;
  transition: color 120ms ease, background-color 120ms ease, box-shadow 120ms ease;
}

@media (hover: hover) {
  .public-store-breadcrumb a:hover {
    background: color-mix(in srgb, var(--theme-action, #2563eb) 7%, var(--theme-surface, #fff));
    color: var(--theme-action, #2563eb);
  }
}

.public-store-breadcrumb a:focus-visible {
  outline: 0;
  color: var(--theme-action, #2563eb);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--theme-action, #2563eb) 18%, transparent);
}

.public-store-breadcrumb > span {
  flex: 0 0 auto;
  color: color-mix(in srgb, var(--theme-text-muted, #64748b) 66%, transparent);
  font-size: 13px;
  font-weight:500;
}

.public-store-breadcrumb strong {
  min-width: 0;
  padding-inline: 7px;
  color: var(--theme-text, #0f172a);
  font-weight:600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 640px) {
  .public-store-breadcrumb {
    min-height: 32px;
    gap: 3px;
    margin-bottom: 10px;
    overflow-x: auto;
    scrollbar-width: none;
    white-space: nowrap;
  }

  .public-store-breadcrumb::-webkit-scrollbar {
    display: none;
  }

  .public-store-breadcrumb :is(a,strong) {
    min-height: 26px;
    padding-inline: 5px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .public-store-breadcrumb a {
    transition: none;
  }
}

.public-commerce-cart-button b[data-commerce-cart-count]{
  font-weight:600;
}

/* List means a real compact row, not a wide card with a large media panel. */
.public-store-page .public-store-products.is-list{
  gap:7px;
}
.public-store-page .public-store-products.is-list .public-product-card{
  border-radius:7px;
}
.public-store-page .public-store-products.is-list .public-product-card-media{
  aspect-ratio:auto;
}
.public-store-page .public-store-products.is-list .public-product-card-media>span :is(svg){
  width:20px;
  height:20px;
}
.public-store-page .public-store-products.is-list .public-product-card-body{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"meta footer" "title footer";
  grid-template-rows:auto auto;
  align-content:center;
  column-gap:16px;
  row-gap:4px;
}
.public-store-page .public-store-products.is-list .public-product-card-meta{
  grid-area:meta;
  gap:5px;
}
.public-store-page .public-store-products.is-list .public-product-card-title{
  grid-area:title;
  min-height:0;
  max-height:2.5em;
  overflow:hidden;
  font-size:12px;
  line-height:1.25;
}
.public-store-page .public-store-products.is-list .public-product-card-body>p{
  display:none;
}
.public-store-page .public-store-products.is-list .public-product-card-body footer{
  grid-area:footer;
  min-width:145px;
  margin:0;
  padding:0;
  border:0;
  align-self:center;
}
.public-store-page .public-store-products.is-list .public-product-card-price small{
  font-size:7px;
}
.public-store-page .public-store-products.is-list .public-product-card-price strong{
  font-size:13px;
}
.public-store-page .public-store-products.is-list .public-product-card-open{
  width:32px;
  min-width:32px;
  height:32px;
}
@media(max-width:720px){
  .public-store-page .public-store-products.is-list .public-product-card{
    grid-template-columns:58px minmax(0,1fr);
    grid-template-rows:66px;
    height:66px;
    min-height:66px;
  }
  .public-store-page .public-store-products.is-list .public-product-card-media{
    width:58px;
    min-width:58px;
    height:66px;
    min-height:66px;
  }
  .public-store-page .public-store-products.is-list .public-product-card-body{
    min-height:66px;
    padding:7px 8px;
    column-gap:8px;
  }
  .public-store-page .public-store-products.is-list .public-product-card-body footer{
    min-width:112px;
  }
}


.public-commerce-cart-button{
  grid-template-columns:15px auto 18px;
  column-gap:6px;
}
.public-commerce-cart-button>svg{
  grid-column:1;
}
.public-commerce-cart-button>span{
  grid-column:2;
}
.public-commerce-cart-button b[data-commerce-cart-count]{
  grid-column:3;
}


.public-commerce-cart-button{
  position:relative;
}
.public-commerce-cart-button>svg{
  width:15px;
  height:15px;
  flex:0 0 15px;
  margin:0;
}
.public-commerce-cart-button>span{
  display:block;
  margin:0;
  line-height:1;
  white-space:nowrap;
}
.public-commerce-cart-button b[data-commerce-cart-count]{
  position:static;
  inset:auto;
  transform:none;
  translate:none;
  flex:0 0 18px;
  width:18px;
  min-width:18px;
  max-width:18px;
  height:18px;
  min-height:18px;
  max-height:18px;
  padding:0;
  margin:0;
  display:grid;
  place-items:center;
  border-radius:999px;
  line-height:18px;
  font-size:9px;
}


.public-commerce-cart-panel{
  border-top:0;
  border-bottom:0;
  border-right:0;
}


.public-commerce-cart-button{
  flex-wrap:nowrap;
  gap:7px;
}

.public-commerce-cart-icon{
  flex:0 0 16px;
}


.public-commerce-cart-count{
  flex:0 0 18px;
}
html.public-commerce-cart-open,
html.public-commerce-cart-open body{
  overflow:hidden;
  overscroll-behavior:none;
}
.public-commerce-cart{
  position:fixed;
  inset:0;
  z-index:12000;
  width:100vw;
  height:100dvh;
  pointer-events:none;
  background:rgba(0,0,0,0);
  opacity:0;
  visibility:hidden;
  transition:background-color .16s ease,opacity .16s ease,visibility .16s ease;
}
.public-commerce-cart.is-open{
  pointer-events:auto;
  opacity:1;
  visibility:visible;
  background:rgba(0,0,0,.32);
}
.public-commerce-cart-panel{
  position:absolute;
  inset:0 0 0 auto;
  top:0;
  right:0;
  bottom:0;
  left:auto;
  width:min(440px,100vw);
  max-width:100vw;
  height:100dvh;
  min-height:100dvh;
  max-height:100dvh;
  margin:0;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  overflow:hidden;
  border:0;
  border-inline-start:1px solid var(--theme-border,#dfe5e8);
  border-radius:0;
  background:var(--theme-surface,#fff);
  box-shadow:-20px 0 56px rgba(15,23,42,.18);
  transform:translate3d(100%,0,0);
  transition:transform .18s cubic-bezier(.2,.8,.2,1);
  z-index:1;
}
.public-commerce-cart.is-open .public-commerce-cart-panel{
  transform:translate3d(0,0,0);
}
.public-commerce-cart-panel>header{
  position:relative;
  top:auto;
  z-index:2;
  min-height:58px;
  padding:10px 14px;
  background:var(--theme-surface,#fff);
}
.public-commerce-cart-body{
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.public-commerce-cart-panel>footer{
  position:relative;
  bottom:auto;
  z-index:2;
  padding:12px 14px calc(12px + env(safe-area-inset-bottom,0px));
  background:var(--theme-surface,#fff);
}
@media(max-width:760px){
  .public-commerce-cart-panel{
    width:100vw;
    min-width:100vw;
    max-width:100vw;
    border-inline-start:0;
  }
}

/* ========================================================================== */

/* ========================================================================== */
.public-commerce-cart-button{
  grid-column:3;
  justify-self:end;
  border:1px solid #262626;
  border-radius:8px;
  background:#111;
  color:#ededed;
  box-shadow:none;
  line-height:1;
}
.public-commerce-cart-button:hover,
.public-commerce-cart-button:focus-visible{
  background:#171717;
  border-color:#3a3a3a;
}
.public-commerce-cart-inner{
  margin:0;
  padding:0;
  line-height:1;
}
.public-commerce-cart-icon{
  grid-column:1;
  width:16px;
  height:16px;
  display:grid;
  place-items:center;
  margin:0;
  padding:0;
  line-height:0;
}
.public-commerce-cart-icon>svg{
  display:block;
  width:16px;
  height:16px;
  margin:0;
}
.public-commerce-cart-label{
  grid-column:2;
  margin:0;
  padding:0;
  font-size:12px;
  font-weight:600;
}
.public-commerce-cart-count{
  grid-column:3;
  inset:auto;
  translate:none;
  width:18px;
  min-width:18px;
  max-width:18px;
  height:18px;
  min-height:18px;
  max-height:18px;
  display:grid;
  place-items:center;
  padding:0;
  border-radius:999px;
  background:var(--accent,#18181b);
  color:var(--accent-contrast,#06130d);
  font-size:9px;
  font-weight:600;
  line-height:18px;
}
@media(max-width:560px){
  .public-commerce-cart-count{
    width:17px;
    min-width:17px;
    max-width:17px;
    height:17px;
    min-height:17px;
    max-height:17px;
    line-height:17px;
  }
}


/* ========================================================================== */

/* ========================================================================== */
.public-commerce-cart-button{
  margin:0;
  align-self:center;
  white-space:nowrap;
}
.public-commerce-cart-inner{
  width:auto;
  min-width:max-content;
  height:100%;
  display:inline-grid;
  grid-template-columns:16px auto 18px;
  align-items:center;
  justify-content:center;
  column-gap:6px;
  white-space:nowrap;
}
.public-commerce-cart-icon,
.public-commerce-cart-label,
.public-commerce-cart-count{
  align-self:center;
}
.public-commerce-cart-label{
  display:inline;
  width:auto;
  min-width:max-content;
  white-space:nowrap;
  line-height:1;
}
.public-commerce-cart-count{
  position:static;
  transform:none;
  margin:0;
}
@media(max-width:560px){
  .public-commerce-cart-button{
    width:auto;
  }
  .public-commerce-cart-inner{
    grid-template-columns:16px auto 18px;
    column-gap:5px;
  }
}


/* ========================================================================== */

/* ========================================================================== */
.public-commerce-cart-button{
  width:auto;
  min-width:92px;
  max-width:none;
  height:36px;
  min-height:36px;
  padding:0 10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}
.public-commerce-cart-button>.public-commerce-cart-inner{
  width:100%;
  min-width:0;
  height:100%;
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:0;
  padding:0;
  line-height:1;
  white-space:nowrap;
}
.public-commerce-cart-button>.public-commerce-cart-inner>.public-commerce-cart-icon{
  width:17px;
  min-width:17px;
  height:17px;
  flex:0 0 17px;
  display:grid;
  place-items:center;
  margin:0;
  padding:0;
}
.public-commerce-cart-button>.public-commerce-cart-inner>.public-commerce-cart-icon>svg{
  width:17px;
  height:17px;
}
.public-commerce-cart-button>.public-commerce-cart-inner>.public-commerce-cart-label{
  width:auto;
  min-width:max-content;
  display:inline-block;
  flex:0 0 auto;
  margin:0;
  padding:0;
  font-size:12px;
  line-height:1;
  white-space:nowrap;
}
.public-commerce-cart-button>.public-commerce-cart-inner>.public-commerce-cart-count{
  position:static;
  inset:auto;
  width:19px;
  min-width:19px;
  max-width:19px;
  height:19px;
  min-height:19px;
  max-height:19px;
  flex:0 0 19px;
  display:grid;
  place-items:center;
  margin:0;
  padding:0;
  transform:none;
  translate:none;
  line-height:19px;
}
@media(max-width:560px){
  .public-commerce-cart-button{
    min-width:90px;
    height:36px;
    min-height:36px;
    padding-inline:9px;
  }
  .public-commerce-cart-button>.public-commerce-cart-inner{
    gap:7px;
  }
}


.public-site #gv-order-modal .client-order-description-content {
  flex: 1 0 100%;
  width: 100%;
  min-width: 0;
  margin-top: 2px;
  padding: 14px 0 0;
  border-top: 1px solid var(--theme-border, #dfe5e8);
  border-bottom: 0;
  background: transparent;
}
.public-site #gv-order-modal .client-order-description-label {
  margin: 0 0 8px;
  color: var(--theme-text, #172027);
  font-size: 11px;
  font-weight: 600;
}
.public-site #gv-order-modal .client-order-description-content .rich-content {
  max-width: none;
  color: var(--theme-text-secondary, #61707a);
  line-height: 1.7;
}

/* ========================================================================
   Canonical — canonical Store and product-card presentation
   Home, Catalog and Store inherit their chrome from public-chrome.css; this
   block owns only commerce content, filters and service cards.
   ======================================================================== */
body.public-store-page{
  background:var(--public-page,#f5f7fb);
}
.public-store-page .public-store-main{
  min-height:calc(100dvh - 180px);
  padding:24px 0 52px;
  background:var(--public-page,#f5f7fb);
}
.public-store-page .public-store-main>.public-site-container{
  width:min(var(--ecom-content-max,1560px),calc(100% - 40px));
}
.public-store-page .public-store-breadcrumb{
  min-height:28px;
  margin:0 0 14px;
  gap:7px;
  color:var(--public-muted,#667085);
  font-size:11px;
}
.public-store-page .public-store-breadcrumb a{
  color:var(--public-text-soft,#334155);
  font-weight:600;
}
.public-store-page .public-store-breadcrumb strong{color:var(--public-text,#0f172a)}
.public-store-page .public-store-layout{
  grid-template-columns:268px minmax(0,1fr);
  gap:18px;
}
.public-store-page .public-store-filters,
.public-store-page .public-store-results-head,
.public-store-page .public-product-card,
.public-store-page .public-store-empty{
  border:1px solid var(--public-border,#d8e0ea);
  background:var(--public-surface,#fff);
  box-shadow:0 8px 28px rgba(15,23,42,.045);
}
.public-store-page .public-store-filters{
  position:sticky;
  top:calc(var(--gv-public-header-height,58px) + 50px);
  border-radius:var(--gv-radius-xl, 10px);
  overflow:hidden;
}
.public-store-page .public-store-filter-head{
  min-height:66px;
  padding:13px 14px;
  border-bottom-color:var(--public-border,#d8e0ea);
  background:var(--public-surface);
}
.public-store-page .public-store-filter-head strong{
  color:var(--public-text,#0f172a);
  font-size:14px;
  font-weight:720;
}
.public-store-page .public-store-filter-head small{color:var(--public-muted,#667085);font-size:10px}
.public-store-page .public-store-filter-head>a{
  color:var(--public-primary,#2563eb);
  font-size:10px;
  font-weight:700;
}
.public-store-page .public-store-filter-section{
  padding:14px;
  border-bottom-color:var(--public-border,#d8e0ea);
}
.public-store-page .public-store-filter-section>strong{
  color:var(--public-text-soft,#334155);
  font-size:10px;
  font-weight:750;
  letter-spacing:.055em;
}
.public-store-page .public-store-filter-section>a,
.public-store-page .public-store-group-filter-scroll>a{
  min-height:36px;
  padding:7px 9px;
  border:1px solid transparent;
  border-radius:8px;
  color:var(--public-text-soft,#334155);
  font-size:11px;
  font-weight:570;
}
.public-store-page .public-store-filter-section a:is(:hover,.is-active){
  border-color:color-mix(in srgb,var(--public-primary,#2563eb) 18%,var(--public-border,#d8e0ea));
  background:var(--public-primary-soft,#eff6ff);
  color:var(--public-primary,#2563eb);
}
.public-store-page .public-store-filter-section a.is-active{font-weight:700}
.public-store-page .public-store-filter-section a b{
  min-width:22px;
  padding:2px 5px;
  border-radius:999px;
  background:color-mix(in srgb,var(--public-border,#d8e0ea) 48%,transparent);
  color:var(--public-muted,#667085);
  font-size:9px;
  text-align:center;
}
.public-store-page .public-store-filter-section a.is-active b{
  background:color-mix(in srgb,var(--public-primary,#2563eb) 12%,transparent);
  color:var(--public-primary,#2563eb);
}
.public-store-page .public-store-results{gap:12px}
.public-store-page .public-store-applied{
  min-height:44px;
  border:1px solid var(--public-navy-700,#2a3b52);
  border-radius:10px;
  background:var(--public-navy-900,#101c2e);
  color:#f8fafc;
  box-shadow:0 8px 24px rgba(2,6,23,.09);
}
.public-store-page .public-store-applied>div a{
  background:rgba(96,165,250,.18);
  color:#dbeafe;
  border:1px solid rgba(96,165,250,.26);
}
.public-store-page .public-store-results-head{
  min-height:70px;
  padding:12px 14px;
  border-radius:var(--gv-radius-xl, 10px);
}
.public-store-page .public-store-results-head h1{
  color:var(--public-text,#0f172a);
  font-size:18px;
  font-weight:760;
  letter-spacing:-.025em;
}
.public-store-page .public-store-results-head h1 span{
  color:var(--public-muted,#667085);
  font-size:11px;
  font-weight:600;
}
.public-store-page .public-store-results-head small{color:var(--public-muted,#667085);font-size:10px}
.public-store-page .public-store-results-controls select{
  height:38px;
  min-width:160px;
  border-color:var(--public-border-strong,#bdc9d8);
  border-radius:8px;
  background-color:var(--public-surface,#fff);
  color:var(--public-text,#0f172a);
}
.public-store-page .public-store-view-toggle{
  border-color:var(--public-border,#d8e0ea);
  border-radius:8px;
  background:var(--public-surface-soft,#eef2f7);
}
.public-store-page .public-store-view-toggle a{border-radius:6px;color:var(--public-muted,#667085)}
.public-store-page .public-store-view-toggle a.is-active{
  background:var(--public-primary,#2563eb);
  color:var(--gv-primary-text,#fff);
  box-shadow:none;
}
.public-store-page .public-store-products{gap:12px}
.public-store-page .public-store-products.is-grid{grid-template-columns:repeat(var(--catalog-columns-desktop,4),minmax(0,1fr))}
.public-store-page .public-product-card{
  min-height:100%;
  border-radius:var(--gv-radius-xl, 10px);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.public-store-page .public-product-card:hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--public-primary,#2563eb) 32%,var(--public-border,#d8e0ea));
  box-shadow:0 14px 34px rgba(15,23,42,.09);
}
.public-store-page .public-product-card-media{
  min-height:0;
  aspect-ratio:1/1;
  border-bottom:1px solid var(--public-border,#d8e0ea);
  background:var(--public-surface-soft);
  color:var(--public-muted,#667085);
}
.public-store-page .public-product-card-media img{
  width:100%;height:100%;padding:0;object-fit:contain;object-position:center;
}
.public-store-page .public-product-card-media em{
  top:10px;inset-inline-start:10px;left:auto;
  padding:5px 8px;
  border:1px solid rgba(245,158,11,.34);
  background:#fff7e8;
  color:#b45309;
  font-size:8px;
  font-weight:800;
  letter-spacing:.04em;
}
.public-store-page .public-product-card-body{gap:9px;padding:13px}
.public-store-page .public-product-card-meta{gap:6px;min-height:20px}
.public-store-page .public-product-card-meta>span{
  padding:4px 7px;
  border:1px solid color-mix(in srgb,var(--public-primary,#2563eb) 18%,transparent);
  background:var(--public-primary-soft,#eff6ff);
  color:var(--public-primary,#2563eb);
  font-size:8px;
  font-weight:780;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.public-store-page .public-product-card-meta small{color:var(--public-muted,#667085);font-size:9px}
.public-store-page .public-product-card-title{
  min-height:2.75em;
  color:var(--public-text,#0f172a);
  font-size:13px;
  font-weight:700;
  line-height:1.38;
}
.public-store-page .public-product-card-title:is(:hover,:focus-visible){color:var(--public-primary,#2563eb)}
.public-store-page .public-product-card-body p{
  color:var(--public-text-soft,#334155);
  font-size:10px;
  line-height:1.5;
}
.public-store-page .public-product-card-body footer{
  margin-top:auto;
  padding-top:10px;
  border-top:1px solid var(--public-border,#d8e0ea);
}
.public-store-page .public-product-card-price{display:grid;gap:2px}
.public-store-page .public-product-card-price small{
  color:var(--public-muted,#667085);
  font-size:8px;
  font-weight:650;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.public-store-page .public-product-card-body footer .public-product-card-price strong{
  color:var(--public-text,#0f172a);
  font-size:15px;
  font-weight:780;
}
.public-store-page .public-product-card-open{
  width:36px;min-width:36px;height:36px;
  border:1px solid var(--public-primary,#2563eb);
  border-radius:8px;
  background:var(--public-primary,#2563eb);
  color:var(--gv-primary-text,#fff);
  box-shadow:none;
}
.public-store-page .public-product-card-open:is(:hover,:focus-visible){
  border-color:var(--public-primary-hover,#1d4ed8);
  background:var(--public-primary-hover,#1d4ed8);
  box-shadow:0 2px 8px #0001;
  filter:none;
}
.public-store-page .public-store-products.is-list .public-product-card{
  grid-template-columns:84px minmax(0,1fr);
  grid-template-rows:84px;
  min-height:84px;
  height:84px;
}
.public-store-page .public-store-products.is-list .public-product-card-media{
  width:84px;min-width:84px;height:84px;min-height:84px;border:0;border-inline-end:1px solid var(--public-border,#d8e0ea);
}
.public-store-page .public-store-products.is-list .public-product-card-body{min-height:84px;padding:9px 12px}
.public-store-page .public-store-empty{border-radius:var(--gv-radius-xl, 10px);color:var(--public-muted,#667085)}
.public-store-page .public-store-pagination{margin-top:6px}
.public-store-page .public-store-pagination a,
.public-store-page .public-store-pagination span{
  border-color:var(--public-border,#d8e0ea);
  background:var(--public-surface,#fff);
  color:var(--public-text-soft,#334155);
  border-radius:8px;
}
.public-store-page .public-store-pagination a.is-active{
  border-color:var(--public-primary,#2563eb);
  background:var(--public-primary,#2563eb);
  color:var(--gv-primary-text,#fff);
}
.public-store-mobile-filter-toggle{display:none}

html:is([data-theme="premium-glass"],[data-theme="dark"],[data-public-base-theme="dark"]) .public-store-page .public-store-filter-head{
  background:var(--public-surface);
}
html:is([data-theme="premium-glass"],[data-theme="dark"],[data-public-base-theme="dark"]) .public-store-page .public-product-card-media{
  background:var(--public-surface-soft);
}
html:is([data-theme="premium-glass"],[data-theme="dark"],[data-public-base-theme="dark"]) .public-store-page .public-product-card-media em{
  border-color:rgba(251,191,36,.34);background:rgba(245,158,11,.13);color:#fbbf24;
}

@media(max-width:1240px){
  .public-store-page .public-store-products.is-grid{grid-template-columns:repeat(var(--catalog-columns-desktop,4),minmax(0,1fr))}
}
@media(max-width:900px){
  .public-store-page .public-store-main>.public-site-container{width:min(100% - 28px,var(--ecom-content-max,1560px))}
  .public-store-page .public-store-layout{grid-template-columns:1fr;gap:12px}
  .public-store-page .public-store-filters{position:static;top:auto;margin-bottom:2px}
  .public-store-page .public-store-group-filter-scroll{max-height:240px}
}
@media(max-width:760px){
  .public-store-page .public-store-main{padding:16px 0 34px}
  .public-store-page .public-store-breadcrumb{margin-bottom:10px}
  .public-store-page .public-store-results-head{min-height:0;align-items:flex-start;flex-direction:column;padding:12px}
  .public-store-page .public-store-results-controls{width:100%;justify-content:space-between}
  .public-store-page .public-store-results-controls form{min-width:0;flex:1}
  .public-store-page .public-store-results-controls select{width:100%;min-width:0}
  .public-store-page .public-store-products.is-grid{grid-template-columns:repeat(var(--catalog-columns-mobile,2),minmax(0,1fr));gap:9px}
  .public-store-page .public-product-card-body{padding:10px;gap:7px}
  .public-store-page .public-product-card-title{font-size:11px}
  .public-store-page .public-product-card-body p{display:none}
  .public-store-page .public-product-card-body footer{padding-top:8px}
  .public-store-page .public-product-card-body footer .public-product-card-price strong{font-size:13px}
  .public-store-page .public-product-card-open{width:32px;min-width:32px;height:32px}
}
@media(max-width:430px){
  .public-store-page .public-store-main>.public-site-container{width:calc(100% - 20px)}
  .public-store-page .public-store-products.is-grid{grid-template-columns:repeat(var(--catalog-columns-mobile,2),minmax(0,1fr))}
  .public-store-page .public-product-card-title{font-size:12px}
}

/* Store controls share one field boundary and a consistent input baseline. */
.public-store-page .public-store-filter-search { display:grid; gap:8px; margin:0; padding:16px; border-bottom:1px solid var(--public-border); }
.public-store-page .public-store-filter-search > label { font-size:13px; font-weight:500; color:var(--public-text); }
.public-store-page .public-store-filter-search > div { display:flex; align-items:center; gap:8px; height:40px; padding-inline:10px; border:1px solid var(--public-border); border-radius:6px; background:var(--public-surface); color:var(--public-muted); }
.public-store-page .public-store-filter-search > div:focus-within { outline:2px solid var(--public-text); outline-offset:2px; }
.public-store-page .public-store-filter-search input { flex:1; width:0; min-width:0; height:38px; margin:0; padding:0; border:0; border-radius:0; outline:0; box-shadow:none; background:transparent; color:var(--public-text); font:inherit; font-size:14px; }
.public-store-page .public-store-filter-search input:focus { outline:0; box-shadow:none; }
.public-store-page .public-store-filter-search input::-webkit-search-cancel-button { display:none; }
.public-product-page .public-product-entry-grid { display:grid; grid-template-columns:minmax(0,1fr); align-items:start; gap:18px 16px; }
.public-product-page .public-product-entry-field { display:grid; align-content:start; gap:8px; min-width:0; margin:0; padding:0; border:0; color:var(--public-text); }
.public-product-page .public-product-entry-field > :is(span,legend) { display:flex; align-items:end; min-height:36px; padding:0; color:var(--public-text); font-size:13px; font-weight:500; line-height:18px; }
.public-product-page .public-product-entry-field.span-2 { grid-column:1/-1; }
.public-product-page .public-product-entry-field > :is(input,select,textarea), .public-product-page .public-product-entry-field .gv-select-trigger { width:100%; min-width:0; height:44px; min-height:44px; margin:0; padding:10px 12px; border:1px solid var(--public-border); border-radius:6px; background:var(--public-surface); color:var(--public-text); box-shadow:none; font:inherit; font-size:14px; line-height:22px; }
.public-product-page .public-product-entry-field > textarea { height:auto; min-height:100px; resize:vertical; }
.public-product-page .public-product-entry-field > small { color:var(--public-muted); font-size:12px; line-height:1.5; }
.public-product-page .public-product-entry-field > :is(input,select,textarea):focus { outline:2px solid var(--public-text); outline-offset:2px; }
.public-product-page .public-product-choice-grid { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; min-height:44px; }
.public-product-page .public-product-choice-grid label { display:flex; align-items:center; gap:8px; font-size:14px; }
.public-product-page .public-product-choice-grid input { width:16px; height:16px; margin:0; }
.public-store-page .public-store-group-filter-scroll { scrollbar-width:thin; scrollbar-gutter:auto; padding-inline-end:0; }
@media(max-width:600px) {
  .public-product-page .public-product-entry-grid { gap:14px 12px; }
  .public-product-page .public-product-entry-field > :is(input,select,textarea), .public-store-page .public-store-filter-search input { font-size:16px; }
  .public-store-page .public-product-card-title { font-size:13px; line-height:1.45; }
}
