/* Final storefront layer. Kept separate so legacy theme rules cannot reintroduce old surfaces. */
body:not(.admin-root) .page-design-stage:not(.designer-active) :is(.page-designer-target,.designer-item),
body:not(.admin-root) .page-design-stage:not(.designer-active) :is(.page-designer-target,.designer-item):hover,
body:not(.admin-root) .page-design-stage:not(.designer-active) :is(.page-designer-target,.designer-item):focus-within {
  outline: 0 !important;
  outline-offset: 0 !important;
}
body:not(.admin-root) .page-design-stage:not(.designer-active) .page-designer-target:hover,
body:not(.admin-root) .page-design-stage:not(.designer-active) .page-designer-target:focus-within,
body:not(.admin-root) .page-design-stage:not(.designer-active) .products-designer-shell:hover,
body:not(.admin-root) .page-design-stage:not(.designer-active) .products-designer-shell:focus-within {
  outline: 0 !important;
  box-shadow: none !important;
}
body:not(.admin-root) {
  --app-font: "Segoe UI Variable Text", Inter, "Segoe UI", Arial, sans-serif;
  font-family: var(--app-font) !important;
  font-synthesis: none;
}
body:not(.admin-root) :is(.store-block,.store-section,.category-block-card,.category-block-hover,.catalog-rail-card,.product-card):hover,
body:not(.admin-root) :is(.store-block,.store-section,.category-block-card,.category-block-hover,.catalog-rail-card,.product-card):focus-within {
  outline: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}
body:not(.admin-root) .store-block-category-menu {
  padding: 15px 13px !important;
  border: 1px solid #e2e8ef !important;
  border-radius: 13px !important;
  background: #fff !important;
  color: #1c304a !important;
  box-shadow: none !important;
}
.products-designer-shell .store-block-category-menu {
  outline: 0 !important;
  box-shadow: none !important;
}
body:not(.admin-root) .store-block-category-menu > h3 {
  margin: 1px 7px 12px !important;
  color: #1b2d45 !important;
  font-size: .84rem !important;
  font-weight: 650 !important;
}
body:not(.admin-root) .store-block-category-menu .side-category-menu { gap: 2px !important; }
body:not(.admin-root) .store-block-category-menu .side-category-row { overflow: visible !important; border: 0 !important; border-radius: 8px !important; box-shadow: none !important; }
body:not(.admin-root) .store-block-category-menu .side-category-row > a {
  min-height: 40px !important;
  padding: 6px 9px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #465b74 !important;
  font-size: .78rem !important;
  font-weight: 430 !important;
  line-height: 1.3 !important;
  outline: 0 !important;
  box-shadow: none !important;
}
body:not(.admin-root) .store-block-category-menu .side-category-row > a:hover { background: #f7f9fb !important; color: #243a55 !important; }
body:not(.admin-root) .store-block-category-menu .side-category-row.is-current > a { background: #f1f6fb !important; color: #087df4 !important; }
body:not(.admin-root) .store-block-category-menu .side-category-children {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
.store-block-category-menu .side-category-children .side-category-row > a {
  padding-left: 9px !important;
}
.side-category-thumb.category-vector-icon {
  width: 25px !important;
  height: 25px !important;
  flex: 0 0 25px !important;
  padding: 2px !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: #fff !important;
  object-fit: contain !important;
  mix-blend-mode: multiply;
}
.catalog-category-vector { display: block; width: min(100%,138px) !important; height: min(100%,138px) !important; margin: auto; padding: 12px; background: #fff !important; object-fit: contain; mix-blend-mode: multiply; }
.products-designer-shell {
  width: min(calc(100% - 56px),1600px) !important;
  grid-template-columns: 248px minmax(0,1fr) !important;
  gap: 30px !important;
  padding-top: 24px !important;
  border: 0 !important;
  box-shadow: none !important;
}
body:not(.admin-root) .page-design-stage .storefront-shell.products-designer-shell {
  grid-template-columns: 248px minmax(0,1fr) !important;
}
body:not(.admin-root) .page-design-stage .products-designer-shell .store-block-category-menu {
  outline: 0 !important;
  box-shadow: none !important;
}
.products-designer-shell .product-category-sidebar { width: auto !important; min-width: 0 !important; }
.products-designer-shell .product-category-sidebar {
  border: 0 !important;
  border-right: 0 !important;
  box-shadow: none !important;
  padding-right: 0 !important;
}
.products-designer-shell::before,
.products-designer-shell::after,
.products-designer-shell > .product-category-sidebar,
.products-designer-shell > .product-category-sidebar::before,
.products-designer-shell > .product-category-sidebar::after,
.products-designer-shell .catalog-left-filters,
.products-designer-shell .catalog-left-filters::before,
.products-designer-shell .catalog-left-filters::after,
.products-designer-shell .catalog-rail-card {
  border-left: 0 !important;
  border-right: 0 !important;
  box-shadow: none !important;
}
.products-designer-shell .product-category-sidebar::before,
.products-designer-shell .product-category-sidebar::after { content: none !important; display: none !important; }
.products-designer-shell .product-category-sidebar > .store-block,
.products-designer-shell .catalog-left-filters,
.products-designer-shell .catalog-rail-card {
  border-left: 0 !important;
  border-right: 0 !important;
  box-shadow: none !important;
}
.products-designer-shell .product-category-sidebar > .store-block + .store-block,
.products-designer-shell .catalog-left-filters > * + * { border-top-color: transparent !important; }
.product-catalog-main > .store-section { border: 0 !important; background: #fff !important; box-shadow: none !important; }
.catalog-page-breadcrumb { grid-column: 1 / -1 !important; display: flex; align-items: center; gap: 8px; width: 100%; max-width: none; min-height: 25px; margin: 0 0 13px; overflow-x: auto; color: #8a9aab; font-size: .68rem; font-weight: 500; white-space: nowrap; scrollbar-width: none; }
.catalog-page-breadcrumb::-webkit-scrollbar { display: none; }
.catalog-page-breadcrumb a { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 6px; color: #718198 !important; text-decoration: none; white-space: nowrap; }
.catalog-page-breadcrumb a:hover { color: #1c78dc !important; }
.catalog-page-breadcrumb svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.product-catalog-main :is(.shop-toolbar h1,.shop-toolbar h2,.catalog-toolbar h1,.catalog-toolbar h2) { color: #172b45 !important; font-weight: 650 !important; letter-spacing: -.028em !important; }
.product-catalog-main .eyebrow { color: #0583e8 !important; font-size: .62rem !important; font-weight: 700 !important; letter-spacing: .12em !important; }
.products-designer-shell .catalog-landing-card,
.products-designer-shell .category-block-card,
.products-designer-shell .product-card { border-color: #e1e7ed !important; box-shadow: none !important; }
.products-designer-shell .catalog-landing-card:hover,
.products-designer-shell .category-block-card:hover,
.products-designer-shell .product-card:hover { border-color: #d7dfe7 !important; box-shadow: none !important; transform: none !important; }
.products-designer-shell .category-block-media,
.products-designer-shell .category-block-media:hover {
  background: #fff !important;
  background-image: none !important;
  box-shadow: none !important;
  outline: 0 !important;
}
.product-catalog-main [data-page-target="category-tiles"] .product-breadcrumb { display: none !important; }
.page-designer-target[data-page-target="catalog-toolbar"] { padding: 14px 0 18px !important; border: 0 !important; border-bottom: 1px solid #e7ecf1 !important; border-radius: 0 !important; background: #fff !important; box-shadow: none !important; }
.catalog-toolbar { display: grid !important; grid-template-columns: minmax(0,1fr) auto auto !important; align-items: end !important; gap: 10px !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.catalog-sort-select { color: #6c7d91 !important; font-weight: 450; }
.catalog-sort-select select { height: 38px !important; border-color: #dfe6ed !important; border-radius: 8px !important; color: #354a63 !important; outline: 0 !important; box-shadow: none !important; }
.catalog-view-switch { display: flex; gap: 5px; }
.catalog-view-switch button { display: inline-grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 1px solid #dfe6ed; border-radius: 8px; background: #fff; color: #62758d; box-shadow: none; }
.catalog-view-switch button:hover { border-color: #d4dde6; background: #f8fafc; }
.catalog-view-switch button.is-active { border-color: #b9d9f6; background: #eef7ff; color: #087ff2; }
.catalog-view-switch svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.products-designer-shell .page-designer-target[data-page-target="product-list"] .product-grid.is-list-view { grid-template-columns: 1fr !important; }
.product-grid.is-list-view .product-card { display: grid !important; grid-template-columns: 172px minmax(0,1fr) !important; min-height: 190px !important; }
.product-grid.is-list-view .product-image { height: 100% !important; min-height: 190px !important; }
.product-grid.is-list-view .product-body { padding: 18px 20px !important; }
.product-grid.is-list-view .product-title { min-height: 0 !important; }
.product-grid.is-list-view .product-description { -webkit-line-clamp: 2 !important; }

/* A shared flyout menu on Home and Products: no inline tree and no dead hover gap. */
@media (min-width:1051px) {
  body:not(.admin-root) .store-block-category-menu .side-category-row { position: relative !important; }
  body:not(.admin-root) .store-block-category-menu .side-category-row:has(> .side-category-flyout)::after {
    content: "" !important;
    position: absolute !important;
    z-index: 4999;
    top: -8px;
    left: calc(100% - 2px);
    width: 18px;
    height: calc(100% + 16px);
    pointer-events: auto;
  }
  body:not(.admin-root) .store-block-category-menu .side-category-flyout {
    display: grid !important;
    left: calc(100% + 8px) !important;
    right: auto !important;
    margin: 0 !important;
    visibility: hidden;
    opacity: 0;
    transform: translateX(-3px);
    pointer-events: none;
    transition: opacity .12s ease, transform .12s ease, visibility 0s linear .12s;
  }
  body:not(.admin-root) .store-block-category-menu .side-category-row:hover > .side-category-flyout,
  body:not(.admin-root) .store-block-category-menu .side-category-row:focus-within > .side-category-flyout {
    visibility: visible;
    opacity: 1;
    transform: translateX(0);
    pointer-events: auto;
    transition-delay: 0s;
  }
  body:not(.admin-root) .storefront-shell > [data-zone="sidebar-right"] .store-block-category-menu .side-category-row:has(> .side-category-flyout)::after {
    right: calc(100% - 2px);
    left: auto;
  }
  body:not(.admin-root) .storefront-shell > [data-zone="sidebar-right"] .store-block-category-menu .side-category-flyout {
    right: calc(100% + 8px) !important;
    left: auto !important;
  }
}

.product-thumb-button {
  box-sizing: border-box !important;
  border: 1px solid #dce4eb !important;
  outline: 0 !important;
  transform: none !important;
}
.product-thumb-row {
  padding: 3px 3px 7px !important;
  scroll-padding-inline: 3px;
}
.product-thumb-button.active {
  border: 2px solid #172b45 !important;
  box-shadow: inset 0 0 0 1px #fff !important;
  opacity: 1 !important;
}
.designer-product-card-with-cart { display: flex !important; flex-direction: column; }
.designer-product-main-link { display: contents; color: inherit; text-decoration: none; }
.designer-product-cart-form { margin-top: auto; padding: 0; }
.designer-product-cart-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  box-sizing: border-box; width: 100%; height: 46px; min-height: 46px; padding-block: 0;
  border: 0; border-radius: 9px;
  background: #168bf3; color: #fff; font-size: .78rem; font-weight: 700;
}
.designer-product-cart-button svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* Compact catalog-filter administration. */
.catalog-filter-admin .neo-admin-form { display:grid; gap:16px; }
.catalog-filter-admin .neo-panel { padding:18px; border:1px solid #dfe8ef; border-radius:14px; background:#fff; box-shadow:none; }
.catalog-filter-toggle-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.catalog-filter-toggle { display:flex; align-items:flex-start; gap:11px; min-height:72px; padding:13px; border:1px solid #e2e9ef; border-radius:11px; background:#fff; cursor:pointer; }
.catalog-filter-toggle:hover { border-color:#cfdce7; background:#fbfdff; }
.catalog-filter-toggle input { width:17px; height:17px; margin-top:2px; accent-color:#168bf3; }
.catalog-filter-toggle span { display:grid; gap:3px; }
.catalog-filter-toggle strong { color:#172d47; font-size:.82rem; }
.catalog-filter-toggle small { color:#718298; font-size:.68rem; line-height:1.4; }
.catalog-filter-head { align-items:center; }
.catalog-filter-table-wrap { overflow-x:auto; }
.catalog-filter-table { min-width:720px; }
.catalog-filter-table td { padding-block:9px !important; }
.catalog-filter-table th:last-child,.catalog-filter-table td:last-child { width:52px; text-align:right; }
.catalog-filter-row-state { display:inline-flex; align-items:center; gap:7px; margin:0; font-size:.72rem; font-weight:700; color:#33506c; }
.catalog-filter-row-state input { width:16px; height:16px; accent-color:#168bf3; }
.catalog-filter-empty { margin:18px 0 4px; color:#7a8a9c; text-align:center; font-size:.75rem; }
.admin-icon-button { display:inline-grid; place-items:center; width:34px; height:34px; padding:0; border:1px solid #dce5ed; border-radius:9px; background:#fff; color:#54708b; }
.admin-icon-button svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.admin-icon-button.danger { border-color:#f1ccd2; color:#db4054; }
@media(max-width:760px){.catalog-filter-toggle-grid{grid-template-columns:1fr}.catalog-filter-admin .neo-panel{padding:13px}}
@media (max-width:1050px) {
  .products-designer-shell { width: min(calc(100% - 28px),1600px) !important; grid-template-columns: 1fr !important; gap: 16px !important; }
  body:not(.admin-root) .page-design-stage .storefront-shell.products-designer-shell { grid-template-columns: 1fr !important; }
  .catalog-toolbar { grid-template-columns: 1fr auto !important; }
}
@media (max-width:620px) {
  .catalog-page-breadcrumb a span { display: none; }
  .catalog-toolbar { grid-template-columns: 1fr !important; }
  .catalog-view-switch { display: none; }
  .product-grid.is-list-view { grid-template-columns: repeat(var(--store-mobile-product-columns,2),minmax(0,1fr)) !important; }
  .product-grid.is-list-view .product-card { display: block !important; min-height: 0 !important; }
}


/* Multi-level category flyouts: every imported subcategory level remains available. */
@media (min-width:1051px) {
  body:not(.admin-root) .store-block-category-menu .side-category-flyout {
    overflow: visible !important;
    max-height: none !important;
  }
  body:not(.admin-root) .store-block-category-menu .side-category-flyout .side-category-flyout {
    display: grid !important;
    position: absolute !important;
    top: -8px !important;
    left: calc(100% + 8px) !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateX(-3px) !important;
  }
  body:not(.admin-root) .store-block-category-menu .side-category-flyout .side-category-row:hover > .side-category-flyout,
  body:not(.admin-root) .store-block-category-menu .side-category-flyout .side-category-row:focus-within > .side-category-flyout {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateX(0) !important;
  }
}
