/*
 * Denuino Commerce UI
 * A full-screen, presentation-only system layered over the existing views.
 */

.banner-appearance-controls { margin: 16px 0; }
.banner-appearance-controls input[type="range"] { width: 100%; cursor: pointer; }
.banner-appearance-controls input[type="color"] { width: 100%; height: 42px; padding: 3px; }
.carousel-slide-list .carousel-slide-media { background: var(--banner-background, #142235); }
.carousel-slide-list .carousel-slide-media > img { background: transparent; filter: brightness(var(--banner-brightness, 1)); opacity: var(--banner-opacity, 1); }

:root {
  --app-bg: #f4f6f8;
  --app-surface: #fff;
  --app-surface-soft: #f8fafb;
  --app-surface-hover: #f0f6ff;
  --app-text: #172033;
  --app-muted: #677184;
  --app-border: #e1e6ec;
  --app-border-strong: #cfd7e2;
  --app-primary: #1683df;
  --app-primary-dark: #0869bb;
  --app-primary-soft: #eaf5fd;
  --app-success: #28a745;
  --app-warning: #e79b16;
  --app-danger: #d94252;
  --app-sidebar: 260px;
  --app-header: 80px;
  --app-max: 1680px;
  --app-radius-sm: 6px;
  --app-radius: 10px;
  --app-shadow: 0 1px 2px rgba(17, 32, 55, .04), 0 6px 18px rgba(17, 32, 55, .05);
  --app-shadow-lg: 0 18px 48px rgba(17, 32, 55, .12);
  --app-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --ui-motion: 180ms;
}

/* 2026-08-02 catalog rail, generated category icon system and compact cart table */
.storefront-header-shell .shop-category-dropdown { display: none !important; }

.products-designer-shell {
  width: min(100% - 42px, 1680px) !important;
  display: grid !important;
  grid-template-columns: 268px minmax(0, 1fr) !important;
  gap: 28px !important;
  align-items: start !important;
  padding: 28px 0 52px !important;
}

.products-designer-shell .product-category-sidebar {
  width: auto !important;
  min-width: 0 !important;
  display: grid !important;
  gap: 18px !important;
  position: sticky;
  top: 94px;
  z-index: 20;
}

.products-designer-shell .store-block,
.catalog-left-filters,
.catalog-rail-card {
  box-shadow: none !important;
}

.products-designer-shell .store-block-category-menu {
  padding: 14px !important;
  border: 1px solid #e1e7ee !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: #12233d !important;
}

.products-designer-shell .store-block-category-menu > h3 {
  margin: 2px 6px 12px !important;
  color: #12233d !important;
  font-size: .89rem !important;
}

.products-designer-shell .side-category-menu { gap: 2px !important; }
.products-designer-shell .side-category-row {
  overflow: visible !important;
  border: 0 !important;
  border-radius: 9px !important;
}
.products-designer-shell .side-category-row > a {
  min-height: 42px !important;
  gap: 9px !important;
  padding: 7px 9px !important;
  border: 0 !important;
  border-radius: 9px !important;
  color: #405675 !important;
  font-size: .76rem !important;
  text-decoration: none !important;
}
.products-designer-shell .side-category-row > a:hover,
.products-designer-shell .side-category-row.is-current > a {
  background: #f1f7fd !important;
  color: #087df4 !important;
}
.products-designer-shell .side-category-row.is-current > a::before {
  content: '';
  position: absolute;
  inset: 6px auto 6px -14px;
  width: 3px;
  border-radius: 0 4px 4px 0;
  background: #168bf3;
}
.products-designer-shell .side-category-link-copy { gap: 9px !important; }
.products-designer-shell .side-category-children {
  margin: 0 0 2px 22px !important;
  padding-left: 7px !important;
  border-left: 1px solid #e4ebf2 !important;
}

.category-sprite {
  display: block;
  flex: 0 0 auto;
  background-image: url('/media/category-icons/category-sprite-v2.png') !important;
  background-repeat: no-repeat !important;
  background-size: 300% 300% !important;
  background-color: #fff !important;
}
.side-category-thumb.category-sprite {
  width: 28px !important;
  height: 28px !important;
  border: 0 !important;
  border-radius: 7px !important;
}
.catalog-category-sprite.category-sprite {
  width: min(100%, 158px);
  aspect-ratio: 1;
  margin: auto;
  border-radius: 16px;
}
.category-sprite-0 { background-position: 0 0 !important; }
.category-sprite-1 { background-position: 50% 0 !important; }
.category-sprite-2 { background-position: 100% 0 !important; }
.category-sprite-3 { background-position: 0 50% !important; }
.category-sprite-4 { background-position: 50% 50% !important; }
.category-sprite-5 { background-position: 100% 50% !important; }
.category-sprite-6 { background-position: 0 100% !important; }
.category-sprite-7 { background-position: 50% 100% !important; }
.category-sprite-8 { background-position: 100% 100% !important; }

.catalog-left-filters { display: grid; gap: 14px; }
.catalog-rail-card {
  display: grid;
  gap: 12px;
  margin: 0 !important;
  padding: 15px !important;
  border: 1px solid #e1e7ee !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: #12233d !important;
}
.catalog-rail-card h3 {
  margin: 0 !important;
  color: #182b47 !important;
  font-size: .76rem !important;
  font-weight: 800 !important;
}
.catalog-stock-check {
  display: grid;
  grid-template-columns: 18px minmax(0,1fr) auto;
  gap: 8px;
  align-items: center;
  margin: 0;
  color: #61738d;
  font-size: .69rem;
  cursor: pointer;
}
.catalog-stock-check input { width: 16px; height: 16px; margin: 0; accent-color: #168bf3; }
.catalog-stock-check strong {
  padding: 4px 7px;
  border-radius: 7px;
  background: #eaf9f1;
  color: #15915a;
  font-size: .62rem;
}
.catalog-left-filters .dual-range { margin: 4px 0 0 !important; }
.catalog-price-caption { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.catalog-price-caption label { display: grid; gap: 4px; color: #7a8ba0; font-size: .58rem; }
.catalog-price-caption input,
.catalog-left-filters .catalog-dimension-grid input {
  width: 100%;
  height: 34px;
  padding: 5px 8px;
  border: 1px solid #e0e7ef;
  border-radius: 8px;
  background: #fff;
  color: #223b58;
  font-size: .68rem;
}
.catalog-rail-collapsible { gap: 8px; }
.catalog-rail-collapsible .catalog-collapse-btn {
  min-height: 30px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #203752 !important;
  text-align: left;
  font-size: .72rem !important;
}
.catalog-left-filters .catalog-collapsible { display: grid; gap: 7px; padding-top: 6px; }
.catalog-left-filters .catalog-collapsible[hidden] { display: none !important; }
.catalog-left-filters .catalog-check { min-height: 28px; display: flex; align-items: center; gap: 8px; margin: 0; color: #60748c; font-size: .66rem; }
.catalog-left-filters .catalog-check input { width: 15px; height: 15px; accent-color: #168bf3; }
.catalog-left-filters .catalog-dimension-grid { grid-template-columns: 1fr 1fr !important; }
.catalog-left-filters .catalog-dimension-grid label { display: grid; gap: 4px; color: #718399; font-size: .58rem; }
.catalog-rail-actions { display: grid; gap: 7px; }
.catalog-apply-button {
  min-height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  border: 0;
  border-radius: 9px;
  background: #087df4;
  color: #fff;
  font-size: .72rem;
  font-weight: 800;
}
.catalog-apply-button svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.catalog-rail-actions > a { color: #72839a; font-size: .64rem; text-align: center; text-decoration: none; }

.product-catalog-main { min-width: 0; display: grid !important; gap: 24px !important; }
.product-catalog-main > .store-section,
.product-catalog-main .page-designer-target {
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.catalog-category-overview .shop-toolbar { margin-bottom: 18px !important; }
.catalog-category-overview .shop-toolbar h1 { margin: 5px 0 0 !important; color: #10233f !important; font-size: clamp(1.6rem, 2.5vw, 2.25rem) !important; }
.catalog-category-overview .shop-toolbar .eyebrow { color: #087df4 !important; }
.catalog-landing-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
  gap: 18px !important;
}
.catalog-landing-card {
  min-width: 0 !important;
  min-height: 286px !important;
  height: 100% !important;
  display: grid !important;
  grid-template-rows: 158px minmax(0,1fr) auto !important;
  gap: 13px !important;
  padding: 17px !important;
  border: 1px solid #e0e6ed !important;
  border-radius: 13px !important;
  background: #fff !important;
  color: #13253f !important;
  box-shadow: none !important;
  transform: none !important;
  text-decoration: none !important;
}
.catalog-landing-card:hover { border-color: #ccd7e2 !important; box-shadow: none !important; transform: none !important; }
.catalog-landing-card .category-block-media {
  min-height: 0 !important;
  height: 158px !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: #fff !important;
}
.catalog-category-copy { min-width: 0; display: grid; align-content: start; gap: 7px; }
.catalog-category-copy strong { color: #12233d; font-size: .94rem; line-height: 1.35; }
.catalog-category-copy span { color: #75859a; font-size: .72rem; line-height: 1.55; }
.catalog-category-arrow { width: 18px; height: 18px; justify-self: end; fill: none; stroke: #5e7390; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.catalog-landing-card:hover .catalog-category-arrow { stroke: #087df4; }

.product-catalog-main .category-block-grid:not(.catalog-landing-grid) {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(175px, 1fr)) !important;
  grid-auto-rows: 210px !important;
  gap: 12px !important;
}
.product-catalog-main .category-block-hover { min-width: 0; height: 210px !important; }
.product-catalog-main .category-block-card:not(.catalog-landing-card) {
  width: 100% !important;
  height: 210px !important;
  display: grid !important;
  grid-template-rows: minmax(0,1fr) auto !important;
  gap: 8px !important;
  padding: 12px !important;
  overflow: hidden !important;
  border: 1px solid #e0e6ed !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: none !important;
  transform: none !important;
}
.product-catalog-main .category-block-card:not(.catalog-landing-card):hover { border-color: #ccd7e2 !important; box-shadow: none !important; transform: none !important; }
.product-catalog-main .category-block-card .category-block-media { min-height: 0 !important; height: 100% !important; margin: 0 !important; border: 0 !important; background: #fff !important; }
.product-catalog-main .category-block-card .category-block-media img { width: 100% !important; height: 100% !important; object-fit: contain !important; }
.product-catalog-main .category-block-card > strong { min-height: 38px; display: flex; align-items: flex-start; color: #142640 !important; font-size: .8rem !important; line-height: 1.35; }

.page-designer-target[data-page-target="catalog-toolbar"] { margin: 0 !important; }
.catalog-toolbar {
  min-height: 72px !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  gap: 20px !important;
  align-items: end !important;
  padding: 0 0 14px !important;
  border: 0 !important;
  border-bottom: 1px solid #e3e9ef !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.catalog-toolbar h1,
.catalog-toolbar h2 { display: inline; margin: 0 !important; color: #10233f !important; font-size: 1.55rem !important; }
.catalog-product-count { display: inline-flex; margin-left: 9px; padding: 5px 8px; border-radius: 7px; background: #f1f5f9; color: #6e8096; font-size: .62rem; vertical-align: middle; }
.catalog-sort-select { display: flex; align-items: center; gap: 9px; margin: 0; color: #62758d; font-size: .66rem; white-space: nowrap; }
.catalog-sort-select select { min-width: 155px; height: 38px; padding: 0 34px 0 11px; border: 1px solid #dfe6ed; border-radius: 9px; background-color: #fff; color: #314862; font-size: .69rem; }
.catalog-filter-panel { display: none !important; }

.product-catalog-main .product-grid,
.page-designer-target[data-page-target="product-list"] .product-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(205px, 1fr)) !important;
  gap: 14px !important;
  margin-top: 0 !important;
}
.product-catalog-main .product-card {
  min-width: 0 !important;
  overflow: hidden !important;
  border: 1px solid #e0e6ed !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: none !important;
  transform: none !important;
}
.product-catalog-main .product-card:hover { border-color: #ccd7e2 !important; box-shadow: none !important; transform: none !important; }
.product-catalog-main .product-image { background: #fff !important; }
.product-catalog-main .product-body { box-shadow: none !important; }
.product-catalog-main .product-card-btn { border-radius: 8px !important; box-shadow: none !important; }

/* Every cart size uses the same readable table. */
.checkout-product-table-head {
  display: grid !important;
  grid-template-columns: 72px minmax(0,1fr) 128px 154px 112px !important;
  gap: 14px !important;
  align-items: center !important;
}
.checkout-product-table-head > span:first-child { grid-column: 1 / 3; }
.cart-density-table .checkout-product-card,
.checkout-product-card {
  position: relative;
  display: grid !important;
  grid-template-columns: 72px minmax(0,1fr) 128px 154px 112px !important;
  gap: 14px !important;
  align-items: center !important;
}
.checkout-product-copy > p:not(.cart-variant-line) { display: none !important; }
.checkout-product-unit-price,
.checkout-product-subtotal { color: #152944; font-size: .79rem; white-space: nowrap; }
.checkout-product-subtotal { padding-right: 30px; font-weight: 850; text-align: right; }
.checkout-qty-form { grid-column: 4 !important; justify-content: flex-start !important; }
.checkout-qty-form .cart-remove-button { position: absolute !important; right: 12px; top: 50%; transform: translateY(-50%); }

@media (max-width: 1050px) {
  .products-designer-shell { width: min(100% - 24px, 980px) !important; grid-template-columns: 230px minmax(0,1fr) !important; gap: 18px !important; }
  .catalog-landing-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .product-catalog-main .product-grid,
  .page-designer-target[data-page-target="product-list"] .product-grid { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
}

@media (max-width: 820px) {
  .products-designer-shell {
    width: calc(100% - 20px) !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding-top: 14px !important;
  }
  .products-designer-shell .product-category-sidebar { position: static; gap: 10px !important; }
  .products-designer-shell .store-block-category-menu { padding: 10px !important; }
  .products-designer-shell .side-category-menu {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 5px !important;
  }
  .products-designer-shell .side-category-row > a { min-height: 38px !important; padding: 5px 7px !important; }
  .products-designer-shell .side-category-children,
  .products-designer-shell .side-category-flyout { display: none !important; }
  .side-category-thumb.category-sprite { width: 25px !important; height: 25px !important; }
  .catalog-left-filters { grid-template-columns: 1fr 1fr; gap: 9px; }
  .catalog-left-filters .catalog-rail-card { padding: 11px !important; }
  .catalog-left-filters .catalog-rail-collapsible,
  .catalog-left-filters .catalog-rail-actions { grid-column: 1 / -1; }
  .catalog-category-overview .shop-toolbar h1 { font-size: 1.55rem !important; }
  .catalog-landing-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 9px !important; }
  .catalog-landing-card {
    min-height: 220px !important;
    grid-template-rows: 104px minmax(0,1fr) auto !important;
    gap: 8px !important;
    padding: 10px !important;
  }
  .catalog-landing-card .category-block-media { height: 104px !important; }
  .catalog-category-sprite.category-sprite { width: 104px; border-radius: 11px; }
  .catalog-category-copy strong { font-size: .78rem; }
  .catalog-category-copy span { display: -webkit-box; overflow: hidden; font-size: .61rem; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .product-catalog-main .category-block-grid:not(.catalog-landing-grid) { grid-template-columns: repeat(2,minmax(0,1fr)) !important; grid-auto-rows: 156px !important; gap: 8px !important; }
  .product-catalog-main .category-block-hover,
  .product-catalog-main .category-block-card:not(.catalog-landing-card) { height: 156px !important; }
  .product-catalog-main .category-block-card:not(.catalog-landing-card) { padding: 9px !important; }
  .catalog-toolbar { grid-template-columns: 1fr !important; gap: 10px !important; }
  .catalog-sort-select { justify-content: space-between; }
  .catalog-sort-select select { flex: 1; min-width: 0; }
  .product-catalog-main .product-grid,
  .page-designer-target[data-page-target="product-list"] .product-grid { grid-template-columns: repeat(var(--store-mobile-product-columns, 2), minmax(0,1fr)) !important; gap: 9px !important; }

  .checkout-product-table-head { display: none !important; }
  .cart-density-table .checkout-product-card,
  .checkout-product-card {
    grid-template-columns: 64px minmax(0,1fr) auto !important;
    grid-template-rows: auto auto auto !important;
    gap: 8px 10px !important;
  }
  .checkout-product-card > img { grid-column: 1; grid-row: 1 / 4; }
  .checkout-product-copy { grid-column: 2 / 4; grid-row: 1; }
  .checkout-product-unit-price { grid-column: 2; grid-row: 2; }
  .checkout-product-subtotal { grid-column: 3; grid-row: 2; padding-right: 0; }
  .checkout-qty-form { grid-column: 2 / 4 !important; grid-row: 3; justify-content: flex-start !important; padding-right: 36px; }
  .checkout-qty-form .cart-remove-button { right: 8px; bottom: 12px; top: auto; transform: none; }
}

/* 2026-08-02 unified storefront catalog — reference-aligned, cache-safe final cascade */
body:not(.admin-root) .page-design-stage:not(.designer-active) .page-designer-target,
body:not(.admin-root) .page-design-stage:not(.designer-active) .designer-item,
body:not(.admin-root) .page-design-stage:not(.designer-active) .designer-item:hover,
body:not(.admin-root) .page-design-stage:not(.designer-active) .designer-item:focus-within {
  outline: 0 !important;
  outline-offset: 0 !important;
}

body:not(.admin-root) :where(.store-block,.store-section,.category-block-card,.category-block-hover,.catalog-rail-card,.product-card):hover,
body:not(.admin-root) :where(.store-block,.store-section,.category-block-card,.category-block-hover,.catalog-rail-card,.product-card):focus-within {
  outline: 0 !important;
  box-shadow: none !important;
}

body:not(.admin-root) .page-design-stage:not(.designer-active) > .products-designer-shell,
body:not(.admin-root) .page-design-stage:not(.designer-active) .product-catalog-main > .page-designer-target {
  outline: 0 !important;
  box-shadow: 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;
}
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;
  letter-spacing: -.01em;
}
body:not(.admin-root) .store-block-category-menu .side-category-menu { gap: 1px !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: 39px !important;
  padding: 6px 8px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #465b74 !important;
  font-size: .73rem !important;
  font-weight: 480 !important;
  line-height: 1.32 !important;
  box-shadow: none !important;
  outline: 0 !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-link-copy { gap: 9px !important; }
body:not(.admin-root) .store-block-category-menu .side-category-children {
  margin: 0 0 1px 20px !important;
  padding-left: 7px !important;
  border-left: 1px solid #e5ebf1 !important;
}
.side-category-thumb.category-vector-icon {
  width: 25px !important;
  height: 25px !important;
  flex: 0 0 25px !important;
  padding: 4px !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: #f7f9fb !important;
  object-fit: contain !important;
  image-rendering: auto;
}
.catalog-category-vector {
  display: block;
  width: min(100%, 138px) !important;
  height: min(100%, 138px) !important;
  margin: auto;
  padding: 19px;
  object-fit: contain;
}

.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;
}
.catalog-page-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 25px;
  margin: 0 0 13px;
  color: #8a9aab;
  font-size: .68rem;
  font-weight: 500;
}
.catalog-page-breadcrumb a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #718198 !important;
  text-decoration: none;
}
.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;
}
.catalog-category-overview .shop-toolbar,
.product-catalog-main [data-page-target="category-tiles"] .shop-toolbar { margin-bottom: 18px !important; }
.product-catalog-main .shop-toolbar h1,
.product-catalog-main .shop-toolbar h2 {
  color: #172b45 !important;
  font-weight: 650 !important;
  letter-spacing: -.028em;
}
.product-catalog-main .eyebrow {
  color: #0583e8 !important;
  font-size: .62rem !important;
  font-weight: 700 !important;
  letter-spacing: .12em !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 {
  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-toolbar h1,
.catalog-toolbar h2 { font-weight: 650 !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;
  box-shadow: none !important;
  outline: 0 !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; }

.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; }

@media (max-width: 1050px) {
  .products-designer-shell { width: min(calc(100% - 28px), 1600px) !important; grid-template-columns: 1fr !important; gap: 16px !important; }
  .catalog-toolbar { grid-template-columns: 1fr auto !important; }
  .catalog-sort-select { grid-column: 1; }
  .catalog-view-switch { grid-column: 2; }
}
@media (max-width: 620px) {
  .catalog-page-breadcrumb a span { display: none; }
  .catalog-toolbar { grid-template-columns: 1fr !important; }
  .catalog-view-switch { display: none; }
  .catalog-sort-select { grid-column: auto; }
  .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; }
}

/* Storefront catalogue flyouts and compact three-step checkout (2026-08). */
@media (min-width: 1051px) {
  .products-designer-shell,
  .products-designer-shell > .product-category-sidebar,
  .product-category-sidebar > .store-block-category-menu,
  .product-category-sidebar .category-side-block,
  .product-category-sidebar .side-category-menu,
  .product-category-sidebar .side-category-row {
    overflow: visible !important;
  }

  .product-category-sidebar {
    position: relative !important;
    z-index: 420 !important;
  }

  .product-category-sidebar > .store-block-category-menu {
    position: relative !important;
    z-index: 421 !important;
  }

  .product-category-sidebar > .store-block-category-menu:hover,
  .product-category-sidebar > .store-block-category-menu:focus-within {
    z-index: 520 !important;
  }

  .product-category-sidebar .side-category-flyout {
    left: calc(100% + 10px) !important;
    right: auto !important;
    top: -9px !important;
    z-index: 6000 !important;
    width: max-content;
    min-width: 250px;
    max-width: min(380px, calc(100vw - 330px));
    max-height: min(620px, calc(100vh - 120px));
    padding: 8px !important;
    overflow-x: visible !important;
    overflow-y: auto !important;
    border: 1px solid #d9e4ed !important;
    border-radius: 13px !important;
    background: #fff !important;
    box-shadow: 0 18px 46px rgba(31, 64, 96, .14) !important;
  }

  .product-category-sidebar .side-category-flyout .side-category-flyout {
    left: calc(100% + 8px) !important;
  }

  .product-category-sidebar .side-category-flyout a {
    min-height: 40px;
    color: #223854 !important;
    white-space: normal !important;
  }
}

.checkout-shell {
  --checkout-ink: #132744;
  --checkout-muted: #667991;
  --checkout-line: #dce6ef;
  --checkout-soft: #f7fafc;
  gap: 16px !important;
  color: var(--checkout-ink) !important;
}

.checkout-shell .checkout-hero {
  align-items: center;
  margin-bottom: 4px;
}

.checkout-shell .checkout-hero h1,
.checkout-shell .checkout-panel h2,
.checkout-shell .checkout-side-panel h2,
.checkout-shell .checkout-panel h3,
.checkout-shell .checkout-summary-card h3,
.checkout-shell .checkout-final-card h3 {
  color: var(--checkout-ink) !important;
}

.checkout-shell .checkout-hero > div:first-child > p:last-child,
.checkout-shell .checkout-product-copy > p,
.checkout-shell .checkout-coupon-row p,
.checkout-shell .form-label,
.checkout-shell .checkout-final-card p {
  color: var(--checkout-muted) !important;
  opacity: 1 !important;
}

.checkout-shell .checkout-grid {
  grid-template-columns: minmax(0, 1.72fr) minmax(260px, .64fr);
  gap: 18px;
}

.checkout-shell .checkout-panel,
.checkout-shell .checkout-summary-card,
.checkout-shell .checkout-side-panel,
.checkout-shell .checkout-product-card,
.checkout-shell .checkout-address-block,
.checkout-shell .checkout-final-card,
.checkout-shell .consent-row,
.checkout-shell .checkout-coupon-row {
  border-color: var(--checkout-line) !important;
  background: #fff !important;
  box-shadow: none !important;
}

.checkout-shell .checkout-panel {
  padding: clamp(18px, 2vw, 26px) !important;
}

.checkout-shell .checkout-panel.active { gap: 16px; }
.checkout-shell .checkout-panel-head h2 { margin-bottom: 0; }
.checkout-shell .checkout-products { gap: 10px; }
.checkout-shell .checkout-product-card {
  padding: 14px !important;
  border-radius: 13px !important;
  transition: border-color .16s ease, background-color .16s ease;
}

.checkout-shell .checkout-product-card:hover {
  border-color: #c9d9e7 !important;
  background: #fbfdff !important;
  box-shadow: none !important;
  transform: none !important;
  outline: 0 !important;
}

.checkout-shell .checkout-product-card > img {
  border: 0;
  border-radius: 10px;
  background: #fff;
  object-fit: contain;
}

.checkout-shell .checkout-product-copy h3 {
  margin: 0;
  color: var(--checkout-ink) !important;
  font-size: clamp(1rem, 1.3vw, 1.25rem);
  line-height: 1.25;
}

.checkout-shell .cart-product-codes,
.checkout-shell .cart-variant-line { color: #526780 !important; }
.checkout-shell .checkout-product-meta { color: #314a67; }
.checkout-shell .checkout-product-meta > span:last-child { color: var(--checkout-ink); font-weight: 850; }

.checkout-shell .checkout-qty-form {
  width: 122px;
  gap: 7px;
}

.checkout-shell .checkout-qty-form .form-control {
  min-height: 40px;
  border-color: #d7e2ec;
  border-radius: 9px;
  box-shadow: none;
}

.checkout-shell .cart-remove-button {
  min-height: 36px;
  border-radius: 9px;
  box-shadow: none !important;
}

.checkout-shell .checkout-cart-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: stretch;
}

.checkout-shell .checkout-coupon-row {
  min-width: 0;
  padding: 13px 15px;
  border-radius: 12px;
}

.checkout-shell .checkout-coupon-row h3 { font-size: 1rem; }
.checkout-shell .checkout-coupon-row p { font-size: .72rem; }
.checkout-shell .coupon-form { display: flex; gap: 7px; align-items: center; }
.checkout-shell .coupon-form .form-control { min-width: 150px; min-height: 40px; border-radius: 9px; box-shadow: none; }

.checkout-shell .checkout-primary-next {
  min-width: 218px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding-inline: 20px;
  border: 0;
  border-radius: 12px;
  color: #fff !important;
  background: linear-gradient(135deg, #149ee9, #087edc) !important;
  box-shadow: none !important;
}

.checkout-shell .checkout-primary-next svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.checkout-shell .checkout-stepper { width: min(100%, 570px); gap: 8px; }
.checkout-shell .checkout-step {
  min-height: 56px !important;
  padding: 10px 13px !important;
  color: #667991 !important;
  background: #f5f8fb !important;
}
.checkout-shell .checkout-step span { width: 22px; height: 22px; background: #e8eff6; color: #526b86; }
.checkout-shell .checkout-step.active { color: #087edc !important; background: #eaf5ff !important; }
.checkout-shell .checkout-step.active span { background: #d7ecff; color: #087edc; }

.checkout-shell .checkout-field-grid,
.checkout-shell .checkout-method-grid { gap: 12px; }
.checkout-shell .checkout-field-grid .form-label { margin: 0; }
.checkout-shell .form-control,
.checkout-shell .form-select {
  min-height: 42px;
  border-color: #d8e3ec;
  border-radius: 9px;
  background: #fff;
  color: var(--checkout-ink) !important;
  box-shadow: none !important;
}

.checkout-shell .method-radio-group { gap: 8px; margin-top: 7px; }
.checkout-shell .method-choice-body {
  min-height: 74px;
  padding: 11px 13px;
  border: 1px solid var(--checkout-line) !important;
  border-radius: 12px;
  background: #fff !important;
  color: var(--checkout-ink) !important;
  box-shadow: none !important;
  transform: none !important;
}
.checkout-shell .method-choice-card:hover .method-choice-body {
  border-color: #bcd3e5 !important;
  background: #fbfdff !important;
  box-shadow: none !important;
  transform: none !important;
}
.checkout-shell .method-choice-card.is-selected .method-choice-body,
.checkout-shell .method-choice-card input:checked + .method-choice-body {
  border-color: #47b7ed !important;
  background: #edf9ff !important;
  box-shadow: inset 3px 0 0 #149ee9 !important;
}
.checkout-shell .method-choice-copy strong,
.checkout-shell .method-choice-price { color: var(--checkout-ink) !important; }
.checkout-shell .method-choice-copy small { color: #61758e !important; }

.checkout-shell .pickup-selector-panel,
.checkout-shell .checkout-summary-card,
.checkout-shell .checkout-address-block,
.checkout-shell .checkout-final-card {
  padding: 14px !important;
  border-radius: 12px !important;
}
.checkout-shell .checkout-summary-card { margin-top: 2px; }
.checkout-shell .checkout-summary-items { margin-bottom: 10px; }
.checkout-shell .checkout-actions { align-items: center; }
.checkout-shell .checkout-actions .btn { min-height: 40px; border-radius: 9px; box-shadow: none !important; }
.checkout-shell .btn-outline-light { border-color: #d4e0ea !important; background: #fff !important; color: #4d647f !important; }
.checkout-shell .consent-row { padding: 10px 12px; border-radius: 10px; color: #334d69 !important; }
.checkout-shell .checkout-toggle-row { gap: 8px; }
.checkout-shell .checkout-address-block { gap: 10px; }
.checkout-shell .checkout-address-block textarea { min-height: 78px; }
.checkout-shell .checkout-side-panel { padding: 17px !important; }
.checkout-shell .checkout-side-panel h2 { font-size: 1.35rem; }

.checkout-product-table-head { display: none; }
.checkout-shell.cart-density-table .checkout-product-table-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 122px 100px;
  gap: 14px;
  padding: 0 14px 7px 82px;
  border-bottom: 1px solid var(--checkout-line);
  color: #8090a3;
  font-size: .66rem;
  font-weight: 850;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.checkout-shell.cart-density-table .checkout-product-table-head span:nth-child(2),
.checkout-shell.cart-density-table .checkout-product-table-head span:nth-child(3) { text-align: right; }
.checkout-shell.cart-density-table .checkout-product-card {
  grid-template-columns: 54px minmax(0, 1fr) 122px;
  min-height: 76px;
  padding: 9px 12px !important;
  border-width: 0 0 1px !important;
  border-radius: 0 !important;
}
.checkout-shell.cart-density-table .checkout-product-card > img { width: 54px; height: 54px; }
.checkout-shell.cart-density-table .checkout-product-copy { gap: 3px; }
.checkout-shell.cart-density-table .checkout-product-copy h3 { font-size: .86rem; }
.checkout-shell.cart-density-table .checkout-product-copy > p { display: none; }
.checkout-shell.cart-density-table .cart-product-codes { display: flex; gap: 8px; }
.checkout-shell.cart-density-table .checkout-product-meta { gap: 10px; font-size: .73rem; }
.checkout-shell.cart-density-table .checkout-product-meta > span:last-child { margin-left: auto; }
.checkout-shell.cart-density-table .checkout-qty-form { grid-template-columns: 1fr 38px; width: 122px; gap: 5px; }
.checkout-shell.cart-density-table .cart-remove-button { width: 38px; min-width: 38px; padding: 0; overflow: hidden; color: transparent !important; }
.checkout-shell.cart-density-table .cart-remove-button::before { content: "×"; display: grid; place-items: center; color: #db4051; font-size: 1.25rem; line-height: 1; }

.thank-you-shell,
.content-page-inner > .cart-designer-panel {
  border: 1px solid #dce6ef !important;
  border-radius: 15px !important;
  background: #fff !important;
  color: #18304d !important;
  box-shadow: none !important;
}
.thank-you-shell { padding: clamp(20px, 3vw, 32px) !important; }
.thank-you-shell h1,
.thank-you-shell h2,
.content-page-inner > .cart-designer-panel h2 { color: #132744 !important; }
.thank-you-shell p { color: #5f738b; }
.content-page-inner > .cart-designer-panel .selection-panel { border-color: #e2eaf1 !important; background: #fafcff !important; box-shadow: none !important; }

@media (max-width: 991px) {
  .checkout-shell .checkout-grid { grid-template-columns: 1fr; }
  .checkout-shell .checkout-side { position: static; order: -1; }
  .checkout-shell .checkout-side-panel { padding: 13px 15px !important; }
  .checkout-shell .checkout-side-panel h2 { font-size: 1rem; }
  .checkout-shell .checkout-summary-totals.compact { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 14px; }
}

@media (max-width: 767px) {
  .checkout-shell { gap: 12px !important; }
  .checkout-shell .checkout-hero { align-items: stretch; }
  .checkout-shell .checkout-hero > div:first-child { display: grid; gap: 3px; }
  .checkout-shell .checkout-hero h1 { font-size: 1.65rem; }
  .checkout-shell .checkout-hero > div:first-child > p:last-child { font-size: .78rem; }
  .checkout-shell .checkout-stepper { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .checkout-shell .checkout-step { min-width: 0; min-height: 50px !important; padding: 8px !important; font-size: .72rem; }
  .checkout-shell .checkout-step span { width: 19px; height: 19px; font-size: .66rem; }
  .checkout-shell .checkout-panel { padding: 14px !important; }
  .checkout-shell .checkout-panel-head h2 { font-size: 1.35rem; }
  .checkout-shell .checkout-product-card,
  .checkout-shell.cart-density-table .checkout-product-card {
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 10px;
    padding: 10px !important;
    border: 1px solid var(--checkout-line) !important;
    border-radius: 12px !important;
  }
  .checkout-shell .checkout-product-card > img,
  .checkout-shell.cart-density-table .checkout-product-card > img { width: 68px; height: 68px; }
  .checkout-shell .checkout-product-copy h3,
  .checkout-shell.cart-density-table .checkout-product-copy h3 { font-size: .86rem; }
  .checkout-shell .checkout-product-copy > p { display: none; }
  .checkout-shell .checkout-qty-form,
  .checkout-shell.cart-density-table .checkout-qty-form { grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) auto; width: 100%; }
  .checkout-shell.cart-density-table .cart-remove-button { width: auto; min-width: 94px; padding-inline: 12px; color: #db4051 !important; }
  .checkout-shell.cart-density-table .cart-remove-button::before { display: none; }
  .checkout-product-table-head { display: none !important; }
  .checkout-shell .checkout-cart-footer { grid-template-columns: 1fr; }
  .checkout-shell .checkout-coupon-row { align-items: stretch; }
  .checkout-shell .checkout-coupon-row > div { width: 100%; }
  .checkout-shell .coupon-form { width: 100%; }
  .checkout-shell .coupon-form .form-control { min-width: 0; flex: 1; }
  .checkout-shell .checkout-primary-next { width: 100%; min-height: 48px; }
  .checkout-shell .checkout-field-grid,
  .checkout-shell .checkout-method-grid { grid-template-columns: 1fr; }
  .checkout-shell .method-choice-body { grid-template-columns: 42px minmax(0, 1fr) auto; min-height: 66px; padding: 9px 10px; }
  .checkout-shell .method-choice-logo { width: 34px; height: 34px; }
  .checkout-shell .method-choice-copy strong { font-size: .76rem; }
  .checkout-shell .method-choice-copy small { font-size: .65rem; }
  .checkout-shell .method-choice-price { font-size: .72rem; }
  .checkout-shell .checkout-summary-card { padding: 12px !important; }
  .checkout-shell .checkout-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .checkout-shell .checkout-actions .btn { width: 100%; }
  .checkout-shell .checkout-toggle-row { display: grid; grid-template-columns: 1fr; }
  .checkout-shell .checkout-side-panel { display: none; }
  .checkout-shell .phone-inline,
  .checkout-shell .company-fields { grid-template-columns: 1fr; }
  .thank-you-shell { grid-template-columns: 1fr; padding: 18px !important; }
  .thank-you-qr { border-left: 0; border-top: 1px solid #dce6ef; padding: 18px 0 0; }
}

:root[data-ui-theme="luxury"] {
  --app-bg: #f4f1eb;
  --app-surface-soft: #faf8f3;
  --app-surface-hover: #f5eee2;
  --app-text: #24201c;
  --app-muted: #746d65;
  --app-border: #e2dbd0;
  --app-border-strong: #cfc4b4;
  --app-primary: #96703c;
  --app-primary-dark: #755325;
  --app-primary-soft: #f4ecdf;
}

:root[data-ui-theme="electro"] {
  --app-bg: #f0f5f7;
  --app-surface-hover: #e8f6fa;
  --app-text: #102431;
  --app-muted: #5e7480;
  --app-border: #d9e5ea;
  --app-primary: #0588b8;
  --app-primary-dark: #006b91;
  --app-primary-soft: #e3f5fa;
}

:root[data-ui-theme="futuristic"] {
  --app-bg: #eef3f5;
  --app-surface: #fff;
  --app-surface-soft: #f4f8fa;
  --app-surface-hover: #e8f6f8;
  --app-text: #10252d;
  --app-muted: #5f747d;
  --app-border: #d8e4e8;
  --app-primary: #087f91;
  --app-primary-dark: #056474;
  --app-primary-soft: #e2f3f5;
}

:root[data-ui-layout="boxed"] { --app-max: 1320px; }
:root[data-ui-density="compact"] { --app-sidebar: 236px; }

* { box-sizing: border-box; }

html {
  min-height: 100%;
  background: var(--app-bg);
  color: var(--app-text);
  font-family: var(--app-font);
  font-size: 16px;
}

body,
body.admin-root,
body:has(.neo-admin) {
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
  background: var(--app-bg);
  color: var(--app-text);
  font-family: var(--app-font);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.ui-settings-open { overflow: hidden; }
a { color: inherit; }
img { max-width: 100%; }

::selection {
  color: #fff;
  background: var(--app-primary);
}

:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--app-primary) 25%, transparent);
  outline-offset: 2px;
}

/* Controls */
.btn,
.blue-btn,
.green-btn,
.gray-btn {
  min-height: 40px;
  padding: 9px 16px;
  border-radius: var(--app-radius-sm);
  font-size: .875rem;
  font-weight: 700;
  line-height: 1.2;
  box-shadow: none;
  transition: background var(--ui-motion), border-color var(--ui-motion), color var(--ui-motion), transform var(--ui-motion);
}

.btn:hover { transform: translateY(-1px); }

.btn-dark,
.btn-primary,
.blue-btn,
.btn-info,
.product-card-btn,
.ui-settings-done {
  border: 1px solid var(--app-primary) !important;
  background: var(--app-primary) !important;
  color: #fff !important;
}

.btn-dark:hover,
.btn-primary:hover,
.blue-btn:hover,
.btn-info:hover,
.product-card-btn:hover,
.ui-settings-done:hover {
  border-color: var(--app-primary-dark) !important;
  background: var(--app-primary-dark) !important;
}

.btn-outline-dark,
.btn-outline-light,
.gray-btn {
  border: 1px solid var(--app-border-strong) !important;
  background: var(--app-surface) !important;
  color: var(--app-text) !important;
}

.btn-outline-dark:hover,
.btn-outline-light:hover,
.gray-btn:hover {
  border-color: var(--app-primary) !important;
  background: var(--app-primary-soft) !important;
  color: var(--app-primary) !important;
}

.btn-outline-danger {
  border-color: color-mix(in srgb, var(--app-danger) 45%, var(--app-border)) !important;
  color: var(--app-danger) !important;
}

.form-control,
.form-select,
.neo-admin .form-control,
.neo-admin .form-select {
  min-height: 42px;
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius-sm);
  background: var(--app-surface);
  color: var(--app-text);
  box-shadow: none;
}

.form-control:focus,
.form-select:focus,
.neo-admin .form-control:focus,
.neo-admin .form-select:focus {
  border-color: var(--app-primary);
  background: var(--app-surface);
  color: var(--app-text);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--app-primary) 13%, transparent);
}

.form-control::placeholder,
.neo-admin .form-control::placeholder { color: #9aa3b1; }

.neo-admin option {
  color: var(--app-text);
  background: var(--app-surface);
}

/* Full-screen storefront header */
.storefront-desktop,
.storefront-mobile {
  --storefront-header-height: var(--app-header) !important;
  padding-top: var(--app-header) !important;
}

body > header {
  position: relative;
  z-index: 2700;
}

.navbar,
.navbar.is-scrolled,
.storefront-header-shell {
  position: fixed;
  inset: 0 0 auto !important;
  width: 100% !important;
  height: var(--app-header);
  min-height: var(--app-header);
  margin: 0 !important;
  padding: 0 clamp(18px, 3vw, 48px) !important;
  transform: none !important;
  border: 0 !important;
  border-bottom: 1px solid var(--app-border) !important;
  border-radius: 0 !important;
  background: var(--store-nav-bg, #f2f4f5) !important;
  color: var(--app-text) !important;
  box-shadow: 0 4px 18px rgba(22, 32, 51, .055) !important;
  backdrop-filter: blur(var(--store-nav-blur, 16px));
}

.storefront-desktop,
.storefront-mobile,
.storefront-stage,
.storefront-page-shell {
  background-color: var(--store-page-bg, #fff) !important;
}

.storefront-theme-clean .storefront-header-shell {
  background: #fff !important;
  box-shadow: 0 2px 12px rgba(22, 32, 51, .04) !important;
}

.storefront-theme-glass .storefront-header-shell {
  background: color-mix(in srgb, var(--store-nav-bg, #fff) 62%, transparent) !important;
  -webkit-backdrop-filter: blur(var(--store-nav-blur, 18px)) saturate(155%);
  backdrop-filter: blur(var(--store-nav-blur, 18px)) saturate(155%);
  border-bottom-color: rgba(255, 255, 255, .56) !important;
  box-shadow: 0 10px 34px rgba(22, 32, 51, .08) !important;
}

.storefront-theme-glass .nav-link-rich,
.storefront-theme-glass .language-current,
.storefront-theme-glass .header-profile-chip,
.storefront-theme-glass .header-login-chip {
  padding-inline: 8px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.storefront-header-shell .container-fluid {
  width: 100%;
  max-width: var(--app-max);
  height: 100%;
  margin: 0 auto;
  padding: 0;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
}

.denuino-brand {
  flex: 0 0 172px;
  margin: 0 28px 0 0 !important;
  padding: 0;
}

.denuino-brand img {
  width: 168px;
  height: auto;
  display: block;
}

.navbar-collapse {
  min-width: 0;
  height: 100%;
  flex: 1;
}

.header-layout-items {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  flex-wrap: nowrap !important;
  gap: 3px;
}

.header-designer-item {
  min-width: 0;
  flex: 0 0 auto;
}

.header-designer-item[data-header-item-id="search"] {
  order: -10;
  min-width: 220px !important;
  max-width: 480px;
  margin-right: auto;
  flex: 1 1 380px !important;
}

.header-search {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(160px, 1fr) 44px;
  gap: 0;
}

.header-search .form-control {
  height: 44px;
  padding: 10px 15px;
  border-color: var(--app-border);
  border-radius: var(--app-radius-sm) 0 0 var(--app-radius-sm);
  background: var(--app-surface-soft);
  color: var(--app-text);
}

.header-search-submit {
  width: 44px;
  height: 44px;
  border: 1px solid var(--app-primary);
  border-radius: 0 var(--app-radius-sm) var(--app-radius-sm) 0;
  background: var(--app-primary);
  color: #fff;
  box-shadow: none;
}

.nav-link-rich,
.language-current,
.header-profile-chip,
.header-login-chip {
  min-height: 42px;
  padding: 9px 11px !important;
  border: 0 !important;
  border-radius: var(--app-radius-sm) !important;
  background: transparent !important;
  color: var(--app-text) !important;
  box-shadow: none !important;
  font-size: .875rem;
  font-weight: 600;
  white-space: nowrap;
}

.nav-link-rich:hover,
.nav-link-rich:focus-visible,
.nav-link-rich.is-current,
.shop-category-hover:hover > .nav-link-rich,
.shop-category-hover:focus-within > .nav-link-rich,
.header-profile-chip:hover {
  transform: none;
  background: var(--app-primary-soft) !important;
  color: var(--app-primary) !important;
}

.nav-link-rich.is-current {
  box-shadow: inset 0 -2px 0 var(--app-primary) !important;
}

.header-nav-icon-shell {
  width: 22px !important;
  height: 22px !important;
  flex-basis: 22px !important;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.header-nav-icon {
  width: 19px !important;
  height: 19px !important;
  flex-basis: 19px !important;
  opacity: .8;
  filter: none;
}

.header-cart-count {
  min-width: 19px;
  height: 19px;
  margin-left: 1px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--app-success);
  color: #fff;
  font-size: .68rem;
  box-shadow: none;
}

.header-language { min-width: 0; }
.language-current { gap: 7px; width: auto; }
.language-current img { width: 20px; height: 14px; }

.header-profile-name { max-width: 96px; overflow: hidden; text-overflow: ellipsis; }
.header-profile-avatar { width: 27px; height: 27px; }

.navbar-toggler {
  border-color: var(--app-border);
  border-radius: var(--app-radius-sm);
}

.language-menu,
.product-suggest-menu,
.shop-category-dropdown,
.shop-category-flyout {
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius);
  background: var(--app-surface);
  color: var(--app-text);
  box-shadow: var(--app-shadow-lg);
}

.shop-category-dropdown { padding: 8px; }

.shop-category-drop-row > a,
.shop-category-flyout a,
.language-option,
.product-suggest-item {
  color: var(--app-text);
  border-radius: var(--app-radius-sm);
}

.shop-category-drop-row > a:hover,
.shop-category-flyout a:hover,
.language-option:hover,
.language-option.is-active,
.product-suggest-item:hover,
.product-suggest-item.is-active {
  background: var(--app-primary-soft);
  color: var(--app-primary);
}

/* Full-screen shop canvas */
.storefront-stage,
.page-design-stage {
  width: 100% !important;
  max-width: none !important;
  min-height: calc(100vh - var(--app-header));
  margin: 0 !important;
  padding: 20px 18px 52px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--app-bg) !important;
  background-image: none !important;
  color: var(--app-text) !important;
  box-shadow: none !important;
}

.storefront-shell {
  width: 100%;
  max-width: 1680px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}

.products-designer-shell {
  grid-template-columns: 320px minmax(0, 1fr);
}

.storefront-shell > .store-sidebar:last-child {
  position: static;
  grid-column: 1 / -1;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  margin-top: 2px;
}

.store-sidebar {
  position: sticky;
  top: calc(var(--app-header) + 20px);
  display: grid;
  gap: 16px;
}

.store-block,
.store-section,
.panel,
.auth-card,
.profile-header,
.empty-state,
.success-panel,
.cart-line,
.review-row {
  border: 1px solid var(--app-border) !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-surface) !important;
  background-image: none !important;
  color: var(--app-text) !important;
  box-shadow: var(--app-shadow) !important;
  backdrop-filter: none !important;
}

.store-block {
  padding: 18px !important;
}

.store-block h3 {
  margin: 0 0 13px;
  color: var(--app-text);
  font-size: .95rem;
  font-weight: 750;
}

.side-list,
.category-side-block {
  display: grid;
  gap: 1px;
}

.side-list a,
.side-category-link,
.side-page-link {
  min-height: 38px;
  padding: 9px 8px;
  border-radius: var(--app-radius-sm);
  color: var(--app-muted);
  font-size: .86rem;
  font-weight: 550;
  text-decoration: none;
}

.side-list a:hover,
.side-category-link:hover,
.side-page-link:hover,
.side-category-link.is-active {
  background: var(--app-primary-soft);
  color: var(--app-primary);
}

.store-sections {
  min-width: 0;
  display: grid;
  gap: 22px;
}

.store-section {
  padding: clamp(22px, 3vw, 42px) !important;
  overflow: hidden;
}

.store-section:hover,
.store-block:hover {
  transform: none !important;
  border-color: var(--app-border-strong) !important;
  box-shadow: var(--app-shadow) !important;
}

.store-section.type-text:first-child {
  min-height: 0 !important;
  display: grid;
  place-items: center;
  text-align: center;
  background: var(--app-surface) !important;
}

.store-section.type-text:first-child .image-content-layer,
.store-section.type-text:first-child .hero-content-layer {
  width: min(860px, 100%);
  margin: auto;
}

.store-section.type-text:first-child h1 {
  max-width: 760px;
  margin: 14px auto 18px;
  color: var(--app-text) !important;
  font-size: clamp(1.85rem, 3vw, 3rem) !important;
  line-height: 1.04;
  letter-spacing: -.045em;
}

.store-section.type-text:first-child p {
  max-width: 720px;
  margin-inline: auto;
  color: var(--app-muted) !important;
  font-size: 1.03rem;
  line-height: 1.7;
}

.store-section.type-text:first-child .animated-brand {
  max-width: 240px;
  margin-inline: auto;
}

.store-section.type-hero.has-media-surface,
.store-section.type-image.has-media-surface {
  min-height: 320px !important;
  padding: 0 !important;
  background: #101c28 !important;
}

.store-section.has-media-surface .section-media,
.store-section.has-media-surface .carousel-item img {
  width: 100%;
  height: 100%;
  min-height: 320px;
  object-fit: cover;
}

.store-section.has-media-surface .image-content-layer,
.store-section.has-media-surface .hero-content-layer {
  padding: clamp(28px, 5vw, 62px) !important;
  background: linear-gradient(90deg, rgba(8, 18, 29, .68), rgba(8, 18, 29, .06)) !important;
}

.store-section.type-product-grid {
  padding: 26px !important;
}

.section-heading,
.shop-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 22px;
}

.section-heading h2,
.shop-toolbar h1 {
  margin: 0;
  color: var(--app-text) !important;
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  font-weight: 750;
  letter-spacing: -.025em;
}

/* Catalog */
.page-design-stage .store-sections,
.products-main {
  min-width: 0;
}

.catalog-toolbar,
.page-designer-target[data-page-target="catalog-toolbar"] {
  padding: 26px !important;
  border: 1px solid var(--app-border) !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-surface) !important;
  color: var(--app-text) !important;
  box-shadow: var(--app-shadow);
}

.catalog-toolbar .eyebrow { color: var(--app-primary) !important; }

.catalog-sort,
.catalog-sort-row,
.sort-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.catalog-sort-chip {
  min-height: 38px;
  padding: 8px 13px;
  border: 1px solid var(--app-border-strong) !important;
  border-radius: 999px !important;
  background: var(--app-surface) !important;
  color: var(--app-muted) !important;
  font-size: .82rem;
  font-weight: 700;
  box-shadow: none !important;
}

.catalog-sort-chip:hover,
.catalog-sort-chip.is-active {
  border-color: var(--app-primary) !important;
  background: var(--app-primary-soft) !important;
  color: var(--app-primary) !important;
}

.catalog-sort button,
.sort-buttons button {
  border: 1px solid var(--app-border-strong) !important;
  border-radius: var(--app-radius-sm) !important;
  background: var(--app-surface) !important;
  color: var(--app-muted) !important;
}

.catalog-sort button.active,
.catalog-sort button:hover,
.sort-buttons button.active,
.sort-buttons button:hover {
  border-color: var(--app-primary) !important;
  background: var(--app-primary-soft) !important;
  color: var(--app-primary) !important;
}

.catalog-filters,
.catalog-filter-grid {
  color: var(--app-text) !important;
}

.price-filter-card,
.filter-group,
.filter-disclosure,
.catalog-filter-card {
  padding: 15px !important;
  border-color: var(--app-border) !important;
  background: var(--app-surface-soft) !important;
  color: var(--app-text) !important;
  border-radius: var(--app-radius) !important;
}

.catalog-filter-card h3 { color: var(--app-text) !important; }

.catalog-collapse-btn {
  min-height: 40px;
  padding: 9px 12px;
  border: 1px solid var(--app-border) !important;
  border-radius: var(--app-radius-sm) !important;
  background: var(--app-surface) !important;
  color: var(--app-text) !important;
  font-size: .84rem;
  box-shadow: none !important;
}

.catalog-collapse-btn:hover,
.catalog-collapse-btn.is-open {
  border-color: var(--app-primary) !important;
  background: var(--app-primary-soft) !important;
  color: var(--app-primary) !important;
}

.catalog-check {
  border-color: var(--app-border) !important;
  border-radius: var(--app-radius-sm) !important;
  background: var(--app-surface) !important;
  color: var(--app-text) !important;
}

.product-grid,
.page-designer-target[data-page-target="product-list"] .product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(225px, 1fr)) !important;
  gap: 16px;
  padding: 0 !important;
  background: transparent !important;
}

.product-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--app-border) !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-surface) !important;
  color: var(--app-text) !important;
  box-shadow: var(--app-shadow) !important;
  transition: border-color var(--ui-motion), box-shadow var(--ui-motion), transform var(--ui-motion);
}

.product-card:hover {
  transform: translateY(-3px);
  border-color: var(--app-border-strong) !important;
  box-shadow: var(--app-shadow-lg) !important;
}

.product-image {
  min-height: 210px;
  display: grid;
  place-items: center;
  padding: 18px;
  border-bottom: 1px solid var(--app-border);
  background: #fff !important;
}

.product-image img {
  width: 100%;
  height: 205px;
  object-fit: contain;
  mix-blend-mode: normal !important;
  transition: transform 260ms ease;
}

.product-card:hover .product-image img { transform: scale(1.025); }

.product-body {
  min-height: 0;
  flex: 1;
  padding: 17px;
  gap: 9px;
}

.product-category {
  min-height: 1rem;
  margin: 0;
  color: var(--app-primary) !important;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.product-title {
  min-height: 2.8rem;
  font-size: .98rem !important;
  line-height: 1.38;
}

.product-title a { color: var(--app-text) !important; }

.product-card .product-description {
  min-height: 3.9em !important;
  -webkit-line-clamp: 3 !important;
  color: var(--app-muted) !important;
  font-size: .82rem;
  line-height: 1.48;
}

.product-meta { align-items: center; }
.product-meta strong {
  color: var(--app-text);
  font-size: 1.08rem;
}

.product-availability-badge {
  max-width: 48%;
  padding: 5px 8px;
  border-radius: 999px;
  font-size: .72rem;
  box-shadow: none;
}

.product-card-action { margin-top: 7px; }

/* Product detail, cart, account and content pages */
.product-detail,
.product-showcase,
.cart-layout,
.checkout-layout,
.profile-page,
.page-content-shell {
  width: min(var(--app-max), calc(100% - 36px));
  margin-inline: auto;
}

.product-showcase,
.product-detail-grid {
  gap: 34px;
}

.detail-image {
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius);
  background: #fff;
  object-fit: contain;
}

.price-line { color: var(--app-text); }

.variant-list span,
.pill-row {
  border-color: var(--app-border);
  background: var(--app-surface);
}

.cart-line {
  padding: 16px;
}

.checkout-shell {
  padding: clamp(26px, 4vw, 48px) !important;
}

.checkout-shell .checkout-step {
  min-height: 72px;
  border: 1px solid var(--app-border) !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-surface-soft) !important;
  color: var(--app-muted) !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.checkout-step.active {
  border-color: color-mix(in srgb, var(--app-primary) 35%, var(--app-border)) !important;
  background: var(--app-primary-soft) !important;
  color: var(--app-primary) !important;
}

.checkout-panel,
.checkout-summary-card {
  border-color: var(--app-border) !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-surface) !important;
  color: var(--app-text) !important;
  box-shadow: var(--app-shadow) !important;
}

.auth-page {
  min-height: calc(100vh - var(--app-header));
  padding: 48px 18px;
  background: linear-gradient(135deg, #f7f9fb, #edf3f7);
}

.auth-card {
  width: min(100%, 470px);
  padding: 32px;
}

.auth-card h1 {
  font-size: 2rem;
  letter-spacing: -.035em;
}

.profile-header { padding: 24px; }

/* Footer */
.footer {
  margin: 0 !important;
  padding: 48px clamp(18px, 3vw, 48px) 24px !important;
  border-color: var(--app-border) !important;
  background: #fff !important;
  color: var(--app-muted) !important;
}

.footer-shell,
.footer-bottom-ribbon {
  width: 100%;
  max-width: var(--app-max);
  margin-inline: auto;
}

.footer-shell {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1.15fr 1fr;
  gap: clamp(24px, 4vw, 64px);
}

.footer h3 {
  margin-bottom: 16px;
  color: var(--app-text);
  font-size: .9rem;
  font-weight: 800;
}

.footer a {
  color: var(--app-muted);
  text-decoration: none;
}

.footer a:hover { color: var(--app-primary); }

.footer-support-card {
  padding: 15px !important;
  background: var(--app-surface-soft) !important;
  box-shadow: none !important;
}

.footer-bottom-ribbon {
  margin-top: 34px;
  padding-top: 20px;
  border-top: 1px solid var(--app-border);
}

/* Admin: full-screen commerce workspace */
.neo-admin {
  min-height: 100vh;
  display: grid;
  grid-template-columns: var(--app-sidebar) minmax(0, 1fr);
  align-items: stretch;
  background: var(--app-bg) !important;
  color: var(--app-text) !important;
}

.neo-admin-nav {
  position: sticky;
  top: 0;
  z-index: 100;
  width: var(--app-sidebar);
  height: 100vh;
  min-height: 100vh;
  max-height: 100vh;
  align-self: start;
  overflow-y: auto;
  padding: 20px 14px;
  gap: 3px;
  border: 0;
  border-right: 1px solid var(--app-border);
  background: var(--app-surface) !important;
  color: var(--app-text);
  box-shadow: none;
  backdrop-filter: none;
  scrollbar-width: thin;
}

.neo-brand {
  min-height: 58px;
  gap: 11px;
  margin: 0 4px 17px;
  padding: 0 6px 17px;
  border-bottom: 1px solid var(--app-border);
}

.neo-brand strong {
  color: var(--app-text);
  font-size: .95rem;
}

.neo-brand small {
  color: var(--app-muted);
  font-size: .7rem;
}

.neo-orbit {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 9px;
  background: var(--app-primary);
  color: #fff;
  font-weight: 850;
  box-shadow: none;
}

.neo-admin-nav > a,
.neo-nav-group summary {
  min-height: 40px;
  display: flex;
  align-items: center;
  padding: 9px 12px;
  border: 0;
  border-radius: var(--app-radius-sm);
  background: transparent;
  color: var(--app-muted);
  font-size: .86rem;
  font-weight: 650;
  box-shadow: none;
}

.neo-nav-group summary {
  position: relative;
  padding-right: 30px;
}

.neo-nav-group summary::after {
  content: "›";
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.1rem;
  transition: transform var(--ui-motion);
}

.neo-nav-group[open] summary::after {
  transform: translateY(-50%) rotate(90deg);
}

.neo-admin-nav > a:hover,
.neo-admin-nav > a.active,
.neo-nav-group summary:hover,
.neo-nav-group summary.is-active,
.neo-nav-group[open] summary {
  border: 0;
  background: var(--app-primary-soft);
  color: var(--app-primary);
  box-shadow: none;
}

.neo-nav-subitems {
  gap: 1px;
  margin: 3px 0 5px 13px;
  padding: 3px 0 3px 10px;
  border-left: 1px solid var(--app-border);
}

.neo-nav-group a,
.neo-nav-group a.active,
.neo-nav-action {
  min-height: 32px;
  padding: 7px 9px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: var(--app-muted);
  font-size: .79rem;
  font-weight: 500;
  text-align: left;
  box-shadow: none;
}

.neo-nav-group a:hover,
.neo-nav-group a.active,
.neo-nav-action:hover {
  border: 0;
  background: var(--app-primary-soft);
  color: var(--app-primary);
  box-shadow: none;
}

.neo-workspace,
.business-workspace {
  width: 100%;
  max-width: none;
  min-height: 100vh;
  margin: 0;
  padding: 28px clamp(24px, 3vw, 48px);
  overflow: visible;
  background: var(--app-bg) !important;
  color: var(--app-text) !important;
}

.neo-workspace > *,
.business-workspace > * {
  width: 100%;
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
}

.neo-hero,
.neo-page-head,
.neo-panel,
.neo-stats > div,
.neo-float,
.admin-panel,
.export-card,
.business-admin .neo-panel {
  border: 1px solid var(--app-border) !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-surface) !important;
  background-image: none !important;
  color: var(--app-text) !important;
  box-shadow: var(--app-shadow) !important;
  backdrop-filter: none !important;
}

.neo-hero {
  min-height: 190px;
  margin-bottom: 20px;
  padding: 32px 36px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.neo-hero::after { display: none; }

.neo-hero h1,
.neo-page-head h1 {
  margin: 0;
  color: var(--app-text) !important;
  font-size: clamp(2rem, 3.5vw, 3rem);
  font-weight: 720;
  line-height: 1.06;
  letter-spacing: -.045em;
}

.neo-hero p:not(.eyebrow),
.neo-page-head p {
  max-width: 660px;
  margin-bottom: 0;
  color: var(--app-muted) !important;
}

.eyebrow,
.ui-kicker {
  margin-bottom: 9px;
  color: var(--app-primary) !important;
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: .105em;
  text-transform: uppercase;
}

.neo-page-head {
  min-height: 100px;
  margin-bottom: 18px;
  padding: 22px 26px;
  align-items: center;
}

.neo-page-head h1 { font-size: clamp(1.8rem, 3vw, 2.45rem); }

.neo-stats {
  grid-template-columns: repeat(5, minmax(140px, 1fr));
  gap: 12px;
  margin-bottom: 20px;
}

.neo-stats > div {
  position: relative;
  min-height: 104px;
  padding: 18px 19px;
  overflow: hidden;
  transform: none;
}

.neo-stats > div::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--app-primary);
}

.neo-stats span {
  color: var(--app-muted);
  font-size: .78rem;
  font-weight: 650;
}

.neo-stats strong {
  margin-top: 8px;
  color: var(--app-text);
  font-size: 1.55rem;
  letter-spacing: -.025em;
}

.neo-stats > div:hover,
.floating:hover,
.neo-float:hover {
  transform: none;
  border-color: var(--app-border-strong) !important;
  box-shadow: var(--app-shadow) !important;
}

.neo-grid-two { gap: 16px; }

.neo-panel {
  margin-bottom: 16px;
  padding: 22px;
}

.neo-panel h2,
.neo-panel h3,
.export-card h2 {
  color: var(--app-text) !important;
  letter-spacing: -.02em;
}

.neo-row {
  min-height: 48px;
  align-items: center;
  padding: 11px 0;
  border-color: var(--app-border);
}

.neo-row span,
.neo-panel label,
.neo-form-grid label,
.ops-filter label,
.compact-list-copy small,
.category-tree-head p,
.message-row p {
  color: var(--app-muted) !important;
}

.neo-table,
.neo-table td,
.neo-table th,
.table,
.table td,
.table th {
  color: var(--app-text) !important;
  border-color: var(--app-border) !important;
}

.neo-table,
.table {
  margin-bottom: 0;
  vertical-align: middle;
}

.neo-table th,
.table thead th {
  padding: 12px;
  background: var(--app-surface-soft) !important;
  color: var(--app-muted) !important;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.neo-table td,
.table td {
  padding: 12px;
  background: var(--app-surface) !important;
}

.neo-table tbody tr:hover td,
.table tbody tr:hover td,
.ops-table .click-row:hover td {
  background: var(--app-primary-soft) !important;
}

.neo-tabs,
.ops-subnav,
.ops-panel,
.compact-list-card,
.market-card,
.language-card,
.category-cloud > div,
.category-tree-row,
.neo-check-grid label,
.neo-switch,
.repeat-row {
  border-color: var(--app-border) !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-surface) !important;
  color: var(--app-text) !important;
  box-shadow: none !important;
}

.neo-tabs {
  top: 0;
  padding: 8px;
  gap: 4px;
}

.neo-tabs a,
.ops-subnav a,
.ops-tabs a {
  min-height: 38px;
  border: 1px solid transparent !important;
  border-radius: var(--app-radius-sm) !important;
  background: var(--app-surface-soft) !important;
  color: var(--app-muted) !important;
}

.neo-tabs a:hover,
.neo-tabs a.active,
.ops-subnav a:hover,
.ops-subnav a.active,
.ops-tabs a:hover,
.ops-tabs a.active {
  border-color: color-mix(in srgb, var(--app-primary) 25%, var(--app-border)) !important;
  background: var(--app-primary-soft) !important;
  color: var(--app-primary) !important;
  box-shadow: none !important;
}

.neo-save-bar {
  border-color: var(--app-border);
  border-radius: var(--app-radius);
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 -8px 28px rgba(17, 32, 55, .07);
}

.neo-admin-footer { display: none; }

.business-admin,
.business-workspace {
  background: var(--app-bg) !important;
  color: var(--app-text) !important;
}

.business-head h1,
.order-title-row h1,
.export-card h2 {
  color: var(--app-text) !important;
  font-weight: 700;
}

.business-tabs { border-color: var(--app-border); }
.business-tabs a,
.business-table th,
.business-table td,
.order-info-card,
.order-info-card h2,
.comment-row {
  border-color: var(--app-border) !important;
  background: var(--app-surface) !important;
  color: var(--app-text) !important;
}

.business-tabs a.active {
  border-top-color: var(--app-primary) !important;
  background: var(--app-primary-soft) !important;
  color: var(--app-primary) !important;
}

.business-table tr:nth-child(even) td,
.order-info-card h2,
.comment-row { background: var(--app-surface-soft) !important; }

/* Legacy admin landing */
.admin-shell {
  min-height: 100vh;
  background: var(--app-bg);
}

.admin-shell aside {
  top: 0;
  height: 100vh;
  padding: 22px;
  border-right: 1px solid var(--app-border);
  background: var(--app-surface);
  color: var(--app-text);
}

.admin-shell aside a {
  padding: 9px 10px;
  border-radius: var(--app-radius-sm);
  color: var(--app-muted);
}

.admin-shell aside a:hover {
  background: var(--app-primary-soft);
  color: var(--app-primary);
}

.admin-shell main {
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
  padding: 28px;
}

/* Appearance drawer is an admin tool, never storefront chrome */
body.admin-root > .ui-settings-trigger { display: none; }

.ui-settings-drawer {
  position: fixed;
  inset: 0;
  z-index: 4000;
  visibility: hidden;
  pointer-events: none;
}

.ui-settings-drawer.is-open {
  visibility: visible;
  pointer-events: auto;
}

.ui-settings-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(12, 20, 33, .5);
  opacity: 0;
  transition: opacity 220ms;
}

.ui-settings-drawer.is-open .ui-settings-backdrop { opacity: 1; }

.ui-settings-panel {
  position: absolute;
  inset: 0 0 0 auto;
  width: min(520px, 100%);
  display: grid;
  grid-template-rows: auto 1fr auto;
  border-left: 1px solid var(--app-border);
  background: var(--app-surface);
  color: var(--app-text);
  box-shadow: -22px 0 70px rgba(12, 20, 33, .2);
  transform: translateX(100%);
  transition: transform 250ms ease;
}

.ui-settings-drawer.is-open .ui-settings-panel { transform: translateX(0); }

.ui-settings-head {
  display: flex;
  gap: 18px;
  padding: 26px;
  border-bottom: 1px solid var(--app-border);
}

.ui-settings-head > div { flex: 1; }
.ui-settings-head h2 {
  margin: 4px 0 7px;
  color: var(--app-text);
  font-size: 1.35rem;
}
.ui-settings-head p { margin: 0; color: var(--app-muted); font-size: .86rem; }

.ui-settings-close {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border: 1px solid var(--app-border);
  border-radius: 50%;
  background: var(--app-surface-soft);
  color: var(--app-text);
  font-size: 1.4rem;
}

.ui-settings-body { overflow-y: auto; padding: 24px 26px; }
.ui-settings-group { margin: 0 0 26px; padding: 0; border: 0; }
.ui-settings-group legend,
.ui-settings-field > span {
  margin-bottom: 8px;
  color: var(--app-text);
  font-size: .76rem;
  font-weight: 800;
}

.ui-theme-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.ui-theme-card {
  position: relative;
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius);
  background: var(--app-surface);
  cursor: pointer;
}

.ui-theme-card:has(input:checked) {
  border-color: var(--app-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--app-primary) 12%, transparent);
}

.ui-theme-card input { position: absolute; opacity: 0; }
.ui-theme-card strong { margin-top: 4px; font-size: .86rem; }
.ui-theme-card small { color: var(--app-muted); font-size: .7rem; }

.ui-theme-preview {
  height: 70px;
  display: grid;
  grid-template-columns: 28% 1fr 1fr;
  grid-template-rows: 20px 1fr;
  gap: 5px;
  padding: 7px;
  border-radius: 5px;
  background: #eef2f5;
}

.ui-theme-preview i { grid-row: 1 / -1; background: #fff; }
.ui-theme-preview b { grid-column: 2 / -1; background: #fff; }
.ui-theme-preview em { grid-column: 2 / -1; background: var(--app-primary); }
.ui-theme-preview i,
.ui-theme-preview b,
.ui-theme-preview em { border-radius: 3px; }

.ui-settings-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px 12px;
}

.ui-settings-field { display: grid; }

.ui-settings-footer {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 26px;
  border-top: 1px solid var(--app-border);
  background: var(--app-surface-soft);
}

/* Live storefront proportions and deliberate home-page rhythm */
.store-sections > [data-id="hero-banner"] { order: 1; }
.store-sections > [data-id="hero-1778181468934"] { order: 2; }
.store-sections > [data-id="usp-grid"] { order: 3; }
.store-sections > [data-id="featured-products"] { order: 4; }

.store-section[data-id="hero-banner"] {
  width: 100%;
  min-height: 0 !important;
  aspect-ratio: 1818 / 865;
  padding: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

.store-section[data-id="hero-banner"] .custom-banner-carousel,
.store-section[data-id="hero-banner"] .carousel-inner,
.store-section[data-id="hero-banner"] .carousel-item {
  width: 100%;
  height: 100%;
  min-height: 0 !important;
}

.store-section[data-id="hero-banner"] .section-media,
.store-section[data-id="hero-banner"] .carousel-item img {
  width: 100%;
  height: 100%;
  min-height: 0 !important;
  object-fit: contain !important;
  background: #fff;
}

.store-section.type-text[data-id="usp-grid"] {
  padding: 30px clamp(24px, 5vw, 68px) !important;
}

.store-section[data-id="usp-grid"] .denuino-hero {
  max-width: 900px !important;
  padding: 24px 12px !important;
}

.store-section[data-id="usp-grid"] .denuino-brand-hero {
  height: 104px !important;
  justify-content: center;
}

.store-section[data-id="usp-grid"] .denuino-wordmark {
  flex: 0 1 auto;
  font-size: clamp(4.7rem, 8vw, 7rem) !important;
}

.store-section[data-id="usp-grid"] .denuino-moving-mark {
  width: 104px !important;
  height: 104px !important;
}

.store-section[data-id="usp-grid"] .intro {
  margin-top: 18px !important;
}

.store-section[data-id="usp-grid"] .features {
  margin-top: 20px !important;
}

.store-section[data-id="hero-1778181468934"] {
  min-height: 0 !important;
  padding: 28px !important;
}

.store-section[data-id="hero-1778181468934"] .denuino-benefits {
  min-height: 0 !important;
  padding: 0 !important;
}

.store-section[data-id="hero-1778181468934"] .benefit-card {
  min-height: 220px !important;
  padding: 22px !important;
}

.store-section[data-id="hero-1778181468934"] .benefit-icon-wrap {
  width: 76px !important;
  height: 76px !important;
  min-width: 76px !important;
}

.catalog-category-overview {
  padding: 28px !important;
}

.catalog-category-overview .shop-toolbar {
  margin-bottom: 24px;
}

.catalog-landing-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.catalog-landing-card {
  min-width: 0;
  padding: 14px 12px 16px;
  border: 1px solid transparent;
  border-radius: var(--app-radius-sm);
  background: #fff;
  color: var(--app-text);
  text-align: center;
  text-decoration: none;
}

.catalog-landing-card:hover {
  border-color: var(--app-border);
  color: var(--app-primary);
  box-shadow: var(--app-shadow);
}

.catalog-landing-card .category-block-media {
  display: grid;
  width: 100%;
  aspect-ratio: 1.2 / 1;
  margin-bottom: 12px;
  place-items: center;
  overflow: hidden;
  border-radius: 6px;
  background: #f8fafb;
}

.catalog-landing-card .category-block-media img {
  width: 100%;
  height: 100%;
  padding: 12px;
  object-fit: contain;
}

.catalog-category-placeholder {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border-radius: 50%;
  background: var(--app-primary-soft);
  color: var(--app-primary);
  font-size: 1.35rem;
  font-weight: 800;
}

/* Product detail follows the clean, image-first proportions of the live shop */
body:has(.product-detail-page) {
  background: #fff !important;
}

.product-detail-page {
  width: calc(100% - 40px) !important;
  max-width: 1320px !important;
  padding-block: 42px !important;
}

.product-detail-page > .row {
  --bs-gutter-x: 52px;
}

.product-detail-page h1 {
  color: var(--app-text);
  font-size: clamp(1.9rem, 3vw, 2.75rem);
  font-weight: 720;
  line-height: 1.12;
  letter-spacing: -.035em;
}

.detail-image-shell {
  display: grid;
  min-height: 0;
  place-items: center;
  border: 1px solid var(--app-border);
  border-radius: 0;
  background: #fff;
}

.detail-image-button .detail-image {
  width: 100% !important;
  max-height: 560px !important;
  aspect-ratio: 1 / 1;
  padding: 20px;
  border-radius: 0 !important;
  background: #fff !important;
  object-fit: contain !important;
}

.product-thumb-button,
.product-thumb-button img {
  border-radius: 0 !important;
}

.product-thumb-button img {
  width: 92px !important;
  height: 92px !important;
  padding: 6px;
  background: #fff;
  object-fit: contain !important;
}

.product-sale-card {
  width: 100%;
  padding: 12px 0;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none;
}

.product-price-current,
.product-price-normal {
  color: var(--app-text) !important;
  font-size: clamp(1.9rem, 3.5vw, 2.6rem);
}

.product-sale-card-discount .product-price-current {
  color: #c81e1e !important;
}

.product-stock-box {
  width: 100%;
  margin: 12px 0 18px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.product-stock-banner {
  padding: 12px 14px;
  border-radius: 6px;
  background-image: none !important;
}

.product-meta-item {
  border: 1px solid var(--app-border);
  border-radius: 5px;
  background: #fff;
}

/* Compact admin settings and stronger neutral contrast */
.neo-workspace,
.business-workspace {
  padding: 20px 28px;
}

.neo-page-head {
  min-height: 82px;
  padding: 17px 21px;
}

.neo-page-head h1 {
  font-size: clamp(1.55rem, 2.3vw, 2.05rem);
}

.neo-panel {
  padding: 18px;
}

.neo-panel h2 {
  font-size: 1.2rem;
}

.business-admin .text-muted,
.neo-admin .text-muted,
.business-admin small,
.neo-admin small {
  color: var(--app-muted) !important;
}

.selection-panel,
.inset-panel,
.media-editor-card,
.method-editor-card {
  border: 1px solid var(--app-border) !important;
  background: #fff !important;
  color: var(--app-text) !important;
  box-shadow: none !important;
}

.settings-form {
  display: grid;
  gap: 16px;
  padding: 18px !important;
}

.settings-subnav {
  display: flex !important;
  flex-wrap: wrap;
  gap: 6px !important;
  align-items: center;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--app-border);
}

.settings-subnav .btn {
  width: auto !important;
  min-height: 36px;
  padding: 7px 12px;
}

.settings-section {
  display: grid;
  gap: 18px;
  padding: 22px;
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius-sm);
  background: #fff;
}

.settings-section-head {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--app-border);
}

.settings-section-head > div {
  display: flex;
  align-items: center;
  gap: 11px;
}

.settings-section-head span {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 50%;
  background: var(--app-primary-soft);
  color: var(--app-primary);
  font-size: .72rem;
  font-weight: 850;
}

.settings-section-head h2,
.settings-section-head p {
  margin: 0;
}

.settings-section-head p {
  max-width: 420px;
  color: var(--app-muted);
  font-size: .83rem;
  line-height: 1.45;
  text-align: right;
}

.settings-form .neo-form-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px 16px;
  margin: 0;
}

.settings-form .neo-form-grid .wide {
  grid-column: 1 / -1;
}

.settings-switch-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  align-items: center;
}

.settings-switch-row .neo-switch,
.settings-single-switch {
  min-height: 38px;
  padding: 8px 11px;
  border: 1px solid var(--app-border);
  border-radius: 5px;
  background: var(--app-surface-soft);
  color: var(--app-text) !important;
}

.settings-rate-panel {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
}

.settings-rate-panel > div {
  display: grid;
  gap: 2px;
}

.settings-rate-panel span,
.settings-rate-panel small {
  color: var(--app-muted);
}

.settings-save-bar {
  position: sticky;
  z-index: 5;
  bottom: 12px;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  padding: 13px 16px;
  border: 1px solid var(--app-border-strong);
  border-radius: var(--app-radius-sm);
  background: rgba(255, 255, 255, .96);
  color: var(--app-muted);
  box-shadow: var(--app-shadow-lg);
  backdrop-filter: blur(10px);
}

/* Unified category management */
.category-management-page {
  display: grid;
  align-content: start;
  gap: 16px;
}

.category-management-page > * {
  margin-bottom: 0 !important;
}

.category-page-head > div > p:last-child {
  margin-top: 6px;
}

.category-overview-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.category-overview-strip > div {
  min-height: 82px;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  padding: 16px 18px;
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius-sm);
  background: #fff;
}

.category-overview-strip span {
  color: var(--app-muted);
  font-size: .79rem;
  font-weight: 650;
}

.category-overview-strip strong {
  color: var(--app-text);
  font-size: 1.45rem;
  line-height: 1;
}

.category-create-panel {
  padding: 0 !important;
  overflow: hidden;
}

.category-create-panel > summary {
  min-height: 70px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  padding: 16px 20px;
  cursor: pointer;
  list-style: none;
}

.category-create-panel > summary::-webkit-details-marker,
.category-admin-summary::-webkit-details-marker {
  display: none;
}

.category-create-panel > summary > span:first-child {
  display: grid;
  gap: 2px;
}

.category-create-panel > summary strong {
  color: var(--app-text);
}

.category-create-panel > summary small {
  color: var(--app-muted);
}

.category-create-toggle {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 7px 11px;
  border: 1px solid var(--app-border);
  border-radius: 5px;
  color: var(--app-primary);
  font-size: .78rem;
  font-weight: 750;
}

.category-create-panel[open] > summary {
  border-bottom: 1px solid var(--app-border);
  background: var(--app-surface-soft);
}

.category-create-panel[open] .category-create-toggle::before {
  content: "Close ";
}

.category-create-form {
  display: grid;
  gap: 18px;
  padding: 20px;
}

.category-hierarchy-panel {
  padding: 20px !important;
}

.category-hierarchy-head {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: end;
  margin-bottom: 18px;
  padding-bottom: 17px;
  border-bottom: 1px solid var(--app-border);
}

.category-hierarchy-head h2,
.category-hierarchy-head p {
  margin: 0;
}

.category-hierarchy-head > div:first-child > p:last-child {
  margin-top: 5px;
  color: var(--app-muted);
  font-size: .85rem;
}

.category-hierarchy-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  color: var(--app-muted);
  font-size: .76rem;
}

.category-hierarchy-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.category-hierarchy-legend i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

.category-hierarchy-legend .is-active { background: #22a06b; }
.category-hierarchy-legend .is-inactive { background: #98a2b3; }

.category-admin-tree,
.category-admin-children {
  margin: 0;
  padding: 0;
  list-style: none;
}

.category-admin-node.is-collapsed > .category-admin-children {
  display: none;
}

.category-admin-tree {
  display: grid;
  gap: 12px;
}

.category-admin-children {
  position: relative;
  display: grid;
  gap: 8px;
  margin: 8px 0 0 30px;
  padding-left: 25px;
}

.category-admin-children::before {
  content: "";
  position: absolute;
  top: -8px;
  bottom: 22px;
  left: 9px;
  width: 1px;
  background: #d9e1e8;
}

.category-admin-children > .category-admin-node {
  position: relative;
}

.category-admin-children > .category-admin-node::before {
  content: "";
  position: absolute;
  top: 29px;
  left: -16px;
  width: 16px;
  height: 1px;
  background: #d9e1e8;
}

.category-admin-card {
  overflow: hidden;
  border: 1px solid var(--app-border);
  border-radius: 7px;
  background: #fff;
  transition: border-color .16s ease, box-shadow .16s ease;
}

.category-admin-card:hover {
  border-color: var(--app-border-strong);
}

.category-admin-card[open] {
  border-color: #a9c8dc;
  box-shadow: 0 12px 30px rgba(28, 47, 68, .08);
}

.category-admin-summary {
  min-height: 64px;
  display: grid;
  grid-template-columns: 18px 44px minmax(0, 1fr) auto auto;
  gap: 12px;
  align-items: center;
  padding: 9px 12px;
  cursor: pointer;
  list-style: none;
}

.category-admin-card[open] > .category-admin-summary {
  border-bottom: 1px solid var(--app-border);
  background: #f8fbfd;
}

.category-admin-chevron {
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  width: 8px;
  height: 8px;
  border-right: 2px solid #7a8998;
  border-bottom: 2px solid #7a8998;
  transform: rotate(-45deg);
  transition: transform .16s ease;
}

.category-admin-node:not(.is-collapsed) > .category-admin-card > .category-admin-summary .category-admin-chevron {
  transform: rotate(45deg) translate(-2px, -2px);
}

.category-admin-chevron-empty {
  border-color: transparent;
  cursor: default;
}

.neo-store-preview {
  min-height: 42px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin: -4px 0 8px;
  border: 1px solid #b9d8eb !important;
  border-radius: 6px !important;
  background: #f2f9fd !important;
  color: var(--app-primary) !important;
  font-size: .78rem !important;
  font-weight: 750 !important;
}

/* Professional product content editor */
.neo-product-editor-full {
  display: grid;
  gap: 16px;
}

.neo-product-editor-full > * {
  margin-bottom: 0 !important;
}

.product-editor-head {
  position: relative !important;
  z-index: 1;
  top: auto;
}

.product-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  justify-content: flex-end;
}

.product-edit-tabs {
  top: 12px !important;
  padding: 7px !important;
  border-radius: 7px !important;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: var(--app-shadow) !important;
}

.rich-description-editor {
  display: grid;
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--app-border);
  border-radius: 7px;
  background: #fff;
}

.rich-description-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  padding: 14px 16px;
  border-bottom: 1px solid var(--app-border);
}

.rich-description-head > div {
  display: grid;
  gap: 2px;
}

.rich-description-head strong {
  color: var(--app-text);
  font-size: .84rem;
}

.rich-description-head small {
  color: var(--app-muted);
  font-size: .72rem;
}

.rich-editor-state {
  padding: 5px 8px;
  border-radius: 999px;
  background: var(--app-primary-soft);
  color: var(--app-primary);
  font-size: .68rem;
  font-weight: 750;
}

.rich-editor-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: center;
  padding: 8px;
  border-bottom: 1px solid var(--app-border);
  background: #f8fafb;
}

.rich-editor-toolbar > button,
.rich-toolbar-upload {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 9px;
  border: 1px solid var(--app-border);
  border-radius: 5px;
  background: #fff;
  color: var(--app-text) !important;
  font-size: .72rem;
  font-weight: 650;
  cursor: pointer;
}

.rich-editor-toolbar > button:hover,
.rich-toolbar-upload:hover {
  border-color: var(--app-primary);
  color: var(--app-primary) !important;
}

.rich-editor-toolbar > select {
  width: auto;
  min-width: 105px;
  min-height: 34px;
  padding-block: 5px;
  font-size: .72rem;
}

.rich-media-size {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 8px;
  color: var(--app-muted) !important;
  font-size: .7rem;
}

.rich-media-size[hidden] {
  display: none;
}

.rich-editor-canvas {
  min-height: 340px;
  max-height: 720px;
  padding: 22px;
  overflow-y: auto;
  color: var(--app-text);
  font-size: 1rem;
  line-height: 1.65;
  outline: 0;
}

.rich-editor-canvas:focus {
  box-shadow: inset 0 0 0 2px rgba(30, 139, 204, .16);
}

.rich-editor-canvas img,
.rich-editor-canvas video {
  display: block;
  max-width: 100%;
  margin: 16px auto;
  cursor: pointer;
}

.rich-editor-canvas .is-rich-media-selected {
  outline: 3px solid rgba(30, 139, 204, .45);
  outline-offset: 3px;
}

.rich-editor-source {
  display: none;
}

body .checkout-primary-next:disabled,
body [data-step-next]:disabled,
body #placeOrderButton:disabled {
  background: #d9dce0 !important;
  border-color: #d9dce0 !important;
  color: #68717b !important;
  box-shadow: none !important;
  cursor: not-allowed;
  opacity: 1;
}

.rich-editor-modes { display: flex; flex-wrap: wrap; gap: 8px; }
.rich-editor-modes [aria-pressed="true"] { background: #174b39; color: #fff; border-color: #174b39; }
.rich-description-editor.is-source-mode .rich-editor-source {
  display: block;
  min-height: 420px;
  font-family: Consolas, "Courier New", monospace;
  font-size: 14px;
  line-height: 1.6;
  tab-size: 2;
}
.rich-description-editor.is-source-mode .rich-editor-canvas,
.rich-description-editor.is-source-mode .rich-editor-toolbar { display: none; }

.product-description-panel img,
.product-description-panel video {
  max-width: 100%;
  height: auto;
}

/* Unified homepage content hub */
.content-hub-page {
  display: grid;
  align-content: start;
  gap: 16px;
}

.content-hub-page > * {
  margin-bottom: 0 !important;
}

.content-hub-tabs {
  position: sticky;
  z-index: 20;
  top: 12px;
  display: flex;
  gap: 5px;
  padding: 7px;
  overflow-x: auto;
  border: 1px solid var(--app-border);
  border-radius: 7px;
  background: rgba(255, 255, 255, .96);
  box-shadow: var(--app-shadow);
}

.content-hub-tabs a {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  padding: 7px 11px;
  border-radius: 5px;
  color: var(--app-muted);
  font-size: .76rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.content-hub-tabs a:hover {
  background: var(--app-primary-soft);
  color: var(--app-primary);
}

.content-hub-form {
  display: grid;
  gap: 16px;
}

.content-editor-section {
  padding: 20px !important;
}

.content-editor-head {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  margin-bottom: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--app-border);
}

.content-editor-head > div:first-child {
  display: flex;
  gap: 11px;
  align-items: center;
}

.content-editor-head > div:first-child > span {
  display: grid;
  width: 32px;
  height: 32px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  background: var(--app-primary-soft);
  color: var(--app-primary);
  font-size: .68rem;
  font-weight: 850;
}

.content-editor-head h2,
.content-editor-head p {
  margin: 0;
}

.content-editor-head h2 {
  font-size: 1.12rem;
}

.content-editor-head p {
  margin-top: 3px;
  color: var(--app-muted);
  font-size: .78rem;
}

.content-editor-head > strong {
  color: var(--app-muted);
  font-size: .76rem;
}

.carousel-admin-layout {
  display: grid;
  grid-template-columns: minmax(280px, .9fr) minmax(0, 1.25fr);
  gap: 20px;
  align-items: start;
}

.carousel-admin-preview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  padding: 8px;
  border: 1px solid var(--app-border);
  border-radius: 6px;
  background: #f8fafb;
}

.carousel-admin-preview img {
  width: 100%;
  aspect-ratio: 1818 / 865;
  border: 1px solid var(--app-border);
  background: #fff;
  object-fit: contain;
}

.carousel-admin-preview > span {
  grid-column: 1 / -1;
  min-height: 180px;
  display: grid;
  place-items: center;
  color: var(--app-muted);
}

.content-upload-actions {
  display: flex;
  gap: 12px;
  align-items: center;
}

.content-upload-actions small {
  color: var(--app-muted);
}

.benefit-admin-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.benefit-admin-card {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  gap: 14px;
  padding: 14px;
  border: 1px solid var(--app-border);
  border-radius: 6px;
  background: #fff;
}

.benefit-admin-preview {
  width: 86px;
  height: 86px;
  display: grid;
  place-items: center;
  border: 1px solid var(--app-border);
  border-radius: 50%;
  background: #f8fafb;
}

.benefit-admin-preview img {
  width: 82%;
  height: 82%;
  object-fit: contain;
}

.benefit-admin-fields {
  min-width: 0;
  display: grid;
  gap: 9px;
}

.benefit-admin-fields > span {
  color: var(--app-primary);
  font-size: .68rem;
  font-weight: 850;
  text-transform: uppercase;
}

.benefit-upload-label {
  width: fit-content;
}

.footer-content-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.footer-content-grid > article {
  display: grid;
  gap: 11px;
  padding: 15px;
  border: 1px solid var(--app-border);
  border-radius: 6px;
  background: #fff;
}

.footer-content-grid p {
  margin: 0;
  color: var(--app-muted);
  font-size: .75rem;
}

.footer-bottom-editor {
  grid-column: 1 / -1;
}

.content-hub-save {
  position: sticky;
  z-index: 25;
  bottom: 12px;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  padding: 13px 15px;
  border: 1px solid var(--app-border-strong);
  border-radius: 7px;
  background: rgba(255, 255, 255, .97);
  color: var(--app-muted);
  box-shadow: var(--app-shadow-lg);
}

.poll-admin-list {
  display: grid;
  gap: 8px;
}

.poll-admin-list > article {
  min-height: 72px;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  padding: 12px 14px;
  border: 1px solid var(--app-border);
  border-radius: 6px;
  background: #fff;
}

.poll-admin-list > article > div {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.poll-admin-list strong {
  color: var(--app-text);
}

.poll-admin-list span,
.poll-admin-list small {
  color: var(--app-muted);
}

/* Storefront: clean cards and independent content blocks */
.store-sidebar {
  position: static !important;
  top: auto !important;
}

.store-section.designer-item.type-hero.has-media-surface {
  border: 0 !important;
  box-shadow: none !important;
}

.store-section[data-id="hero-1778181468934"],
.store-section[data-id="featured-products"] {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.store-section[data-id="hero-1778181468934"] .hero-content {
  padding: 0 !important;
}

.store-section[data-id="hero-1778181468934"] .denuino-benefits {
  max-width: none !important;
  padding: 0 !important;
  background: transparent !important;
}

.store-section[data-id="hero-1778181468934"] .benefit-card {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.store-section[data-id="hero-1778181468934"] .benefit-card::before,
.store-section[data-id="hero-1778181468934"] .benefit-card::after {
  display: none !important;
}

.store-section[data-id="featured-products"] .section-heading {
  margin-bottom: 12px;
  padding: 0 2px;
}

.store-section[data-id="featured-products"] .designer-product-card {
  padding: 15px !important;
  border: 1px solid #d6dbe0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  transform: none !important;
}

.store-section[data-id="featured-products"] .designer-product-card-glow {
  display: none !important;
}

.store-section[data-id="featured-products"] .designer-product-media {
  background: #fff !important;
}

.store-section[data-id="featured-products"] .designer-product-card img {
  filter: none !important;
  transform: none !important;
}

.store-section[data-id="featured-products"] .designer-product-card:hover {
  border-color: #aeb8c1 !important;
}

/* Home page: borderless content areas with only outlined product items */
.store-section.type-text[data-id="usp-grid"] {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.store-section[data-id="usp-grid"] .denuino-hero,
.store-section[data-id="usp-grid"] .denuino-brand-hero,
.store-section[data-id="usp-grid"] .denuino-moving-mark {
  background: transparent !important;
}

.store-section[data-id="featured-products"] .designer-product-carousel-shell,
.store-section[data-id="featured-products"] .designer-product-grid,
.store-section[data-id="featured-products"] .designer-product-mosaic,
.store-section[data-id="featured-products"] .designer-product-mosaic-track {
  background: transparent !important;
  box-shadow: none !important;
}

.store-section[data-id="featured-products"] .designer-product-carousel-shell::before,
.store-section[data-id="featured-products"] .designer-product-carousel-shell::after {
  display: none !important;
}

.store-section[data-id="featured-products"] .designer-product-mosaic {
  padding: 0 !important;
  margin: 0 !important;
}

.store-section[data-id="featured-products"] .designer-product-card {
  border-color: #aeb6bf !important;
}

/* Managed welcome banner */
.managed-welcome-banner {
  width: min(100%, 1080px);
  margin: 0 auto;
  padding: clamp(30px, 5vw, 66px) 12px;
  text-align: center;
  color: #102432;
}

.managed-welcome-banner h1 {
  margin: 0 0 18px;
  color: #102432;
  font-size: clamp(2rem, 4vw, 3.25rem);
  font-weight: 780;
  letter-spacing: -.04em;
}

.managed-welcome-copy {
  max-width: 820px;
  margin: 0 auto;
  color: #5d7180;
  font-size: clamp(.98rem, 1.5vw, 1.16rem);
  line-height: 1.75;
}

.managed-welcome-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 28px;
}

.managed-welcome-badges span {
  min-width: 180px;
  padding: 12px 20px;
  border: 1px solid #cbd4dc;
  border-radius: 999px;
  background: transparent;
  color: #16394c;
  font-weight: 750;
}

.managed-welcome-banner.has-animations .managed-welcome-badges span {
  animation: welcomeBadgeFloat 5s ease-in-out infinite;
}

.managed-welcome-banner.has-animations .managed-welcome-badges span:nth-child(2) { animation-delay: .4s; }
.managed-welcome-banner.has-animations .managed-welcome-badges span:nth-child(3) { animation-delay: .8s; }

@keyframes welcomeBadgeFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}

/* Clickable carousel slides and per-slide actions */
.managed-carousel .carousel-item {
  position: relative;
}

.carousel-slide-product-link {
  display: block;
  width: 100%;
  height: 100%;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

.carousel-slide-actions {
  position: absolute;
  z-index: 6;
  left: clamp(22px, 5vw, 68px);
  bottom: clamp(20px, 5vw, 58px);
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.carousel-slide-actions .btn {
  border: 1px solid rgba(16, 36, 50, .18);
  background: rgba(255, 255, 255, .94);
  color: #102432;
  box-shadow: 0 6px 18px rgba(16, 36, 50, .08);
}

/* Carousel content editor */
.carousel-settings-row {
  display: grid;
  grid-template-columns: minmax(180px, .7fr) minmax(180px, .7fr) minmax(260px, 1fr);
  align-items: end;
  gap: 14px;
  margin-bottom: 18px;
  padding: 16px;
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius-sm);
  background: #f8fafb;
}

.carousel-settings-row > label,
.carousel-slide-config label,
.footer-mode-editor > label,
.footer-mode-editor [data-footer-pane] > label {
  display: grid;
  gap: 7px;
  color: var(--app-muted);
  font-size: .78rem;
  font-weight: 700;
}

.input-with-suffix {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 8px;
}

.carousel-add-slide {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}

.carousel-add-slide small { color: var(--app-muted); }

.carousel-slide-list {
  display: grid;
  gap: 14px;
}

.carousel-slide-editor {
  display: grid;
  grid-template-columns: minmax(280px, .9fr) minmax(0, 1.35fr);
  gap: 18px;
  padding: 14px;
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius-sm);
  background: #fff;
}

.carousel-slide-media {
  position: relative;
  min-height: 210px;
  overflow: hidden;
  border: 1px solid #dbe1e6;
  border-radius: 5px;
  background: #f5f7f8;
}

.carousel-slide-media > img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 210px;
  object-fit: contain;
  background: #fff;
}

.carousel-slide-media > span {
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 5px 9px;
  border-radius: 4px;
  background: rgba(16, 36, 50, .88);
  color: #fff;
  font-size: .72rem;
  font-weight: 750;
}

.carousel-slide-media > div {
  position: absolute;
  right: 10px;
  bottom: 10px;
  display: flex;
  gap: 7px;
}

.carousel-slide-config {
  display: grid;
  align-content: start;
  gap: 14px;
  min-width: 0;
}

.slide-product-switch { justify-self: start; }

.product-assignment {
  display: grid;
  gap: 6px;
  padding: 13px;
  border: 1px solid #cfe3ef;
  border-radius: 5px;
  background: #f4fbff;
}

.product-assignment.is-disabled {
  opacity: .48;
  background: #f6f7f8;
  border-color: var(--app-border);
}

.product-assignment small,
.slide-buttons-head small {
  display: block;
  color: var(--app-muted);
  font-size: .75rem;
}

.slide-buttons-editor {
  padding-top: 13px;
  border-top: 1px solid var(--app-border);
}

.slide-buttons-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.slide-button-list {
  display: grid;
  gap: 8px;
}

.slide-button-row {
  display: grid;
  grid-template-columns: minmax(140px, .7fr) minmax(190px, 1fr) 36px;
  gap: 8px;
}

.icon-remove-button {
  width: 36px;
  height: 36px;
  border: 1px solid #efc9ce;
  border-radius: 4px;
  background: #fff;
  color: #b42334;
  font-size: 1.2rem;
}

.welcome-admin-layout {
  display: grid;
  grid-template-columns: minmax(220px, .65fr) minmax(0, 1.35fr);
  gap: 18px;
}

.welcome-admin-preview {
  display: grid;
  place-items: center;
  align-content: center;
  min-height: 300px;
  padding: 24px;
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius-sm);
  background: #f8fafb;
  text-align: center;
}

.welcome-admin-preview img {
  width: min(100%, 360px);
  max-height: 150px;
  object-fit: contain;
}

.welcome-admin-preview span {
  margin-top: 18px;
  color: var(--app-muted);
  font-size: .78rem;
}

.footer-mode-grid > article {
  align-content: start;
}

.footer-mode-editor[data-mode="html"] [data-footer-pane]:not([data-footer-pane="html"]),
.footer-mode-editor[data-mode="image"] [data-footer-pane]:not([data-footer-pane="image"]),
.footer-mode-editor[data-mode="static"] [data-footer-pane]:not([data-footer-pane="static"]) {
  display: none;
}
.footer-static-note{display:flex;align-items:center;gap:12px;padding:14px;margin-bottom:12px;border:1px solid #dfe9f1;border-radius:12px;background:#f7fbfe}.footer-static-note>svg,.footer-summary-preview>svg{width:24px;height:24px;fill:none;stroke:#138bd3;stroke-width:1.7}.footer-static-note>span{display:grid;gap:3px}.footer-static-note small{color:#71859b}.footer-summary-preview{display:grid;place-items:center}

.footer-image-preview {
  display: grid;
  place-items: center;
  min-height: 150px;
  margin-bottom: 10px;
  overflow: hidden;
  border: 1px dashed #c7d0d8;
  border-radius: 5px;
  background: #f7f9fa;
  color: var(--app-muted);
}

.footer-image-preview img,
.footer-managed-image {
  display: block;
  width: 100%;
  max-height: 240px;
  object-fit: contain;
}

/* Pages: one clear record per row */
.page-list-panel { padding: 0 !important; }

.page-admin-list { display: grid; }

.page-admin-row {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 16px 18px;
  border-bottom: 1px solid var(--app-border);
  background: #fff;
}

.page-admin-row:last-child { border-bottom: 0; }

.page-admin-thumbnail {
  display: grid;
  place-items: center;
  width: 82px;
  height: 64px;
  overflow: hidden;
  border: 1px solid var(--app-border);
  border-radius: 5px;
  background: #f3f6f8;
  color: var(--app-primary);
  font-weight: 800;
}

.page-admin-thumbnail img { width: 100%; height: 100%; object-fit: cover; }
.page-admin-copy { min-width: 0; }
.page-admin-copy p { margin: 5px 0; color: var(--app-muted); }
.page-admin-copy small { color: #7b8994; }

.page-admin-title-line,
.page-admin-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.page-admin-title-line { justify-content: flex-start; }
.page-admin-actions { justify-content: flex-end; flex-wrap: wrap; }
.page-admin-actions form { margin: 0; }

/* Shared configuration-page rhythm */
.neo-workspace .neo-form-grid > label,
.neo-workspace .form-grid > label,
.neo-workspace .settings-grid > label {
  color: #526572;
  font-weight: 680;
}

.neo-workspace input.form-control,
.neo-workspace textarea.form-control,
.neo-workspace select.form-select {
  border-color: #d7dee4;
  background-color: #fff;
  color: #172d3b;
}

.neo-workspace input.form-control:focus,
.neo-workspace textarea.form-control:focus,
.neo-workspace select.form-select:focus {
  border-color: #1496d4;
  box-shadow: 0 0 0 3px rgba(20, 150, 212, .12);
}

.order-suite {
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
}

.order-suite > *,
.order-suite > form,
.order-suite > form > * {
  min-width: 0;
  width: 100%;
  max-width: 100%;
}

.order-suite .table-responsive {
  max-width: 100%;
  overflow-x: auto;
}

@media (max-width: 900px) {
  .carousel-settings-row,
  .carousel-slide-editor,
  .welcome-admin-layout {
    grid-template-columns: 1fr;
  }

  .carousel-add-slide {
    justify-content: flex-start;
  }

  .page-admin-row {
    grid-template-columns: 66px minmax(0, 1fr);
  }

  .page-admin-thumbnail {
    width: 66px;
    height: 58px;
  }

  .page-admin-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}

@media (max-width: 620px) {
  .storefront-stage,
  .page-design-stage {
    padding-top: 12px !important;
  }

  .carousel-slide-media,
  .carousel-slide-media > img {
    min-height: 150px;
  }

  .slide-button-row {
    grid-template-columns: 1fr 36px;
  }

  .slide-button-row [data-button-link] {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .slide-button-row .icon-remove-button {
    grid-column: 2;
    grid-row: 1;
  }

  .managed-welcome-badges {
    display: grid;
  }

  .managed-welcome-badges span {
    min-width: 0;
  }

  .nav-editor-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    min-width: 0;
  }

  .nav-editor-card {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .nav-editor-card .method-card-head,
  .nav-editor-card .method-card-head > .d-flex {
    flex-wrap: wrap;
  }

  .nav-editor-card .neo-form-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .managed-welcome-banner.has-animations .managed-welcome-badges span {
    animation: none;
  }
}

/* Consistent admin surfaces across option pages */
.neo-workspace .neo-panel,
.neo-workspace .selection-panel,
.neo-workspace .inset-panel,
.neo-workspace .media-editor-card,
.neo-workspace .method-editor-card,
.neo-workspace .export-card,
.neo-workspace .neo-float {
  border-color: var(--app-border) !important;
  background: #fff !important;
  color: var(--app-text) !important;
  box-shadow: var(--app-shadow) !important;
  backdrop-filter: none !important;
}

.neo-workspace .neo-panel:hover,
.neo-workspace .selection-panel:hover,
.neo-workspace .neo-float:hover {
  transform: none !important;
  border-color: var(--app-border-strong) !important;
}

.category-admin-thumb {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  padding: 3px;
  border: 1px solid var(--app-border);
  border-radius: 5px;
  background: #fff;
  object-fit: contain;
}

.category-admin-placeholder {
  background: var(--app-primary-soft);
  color: var(--app-primary);
  font-weight: 800;
}

.category-admin-copy {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.category-admin-copy strong {
  overflow: hidden;
  color: var(--app-text);
  font-size: .9rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.category-admin-copy small {
  display: flex;
  gap: 6px;
  color: var(--app-muted);
  font-size: .73rem;
}

.category-admin-status {
  min-width: 62px;
  display: inline-flex;
  justify-content: center;
  padding: 5px 8px;
  border-radius: 999px;
  font-size: .69rem;
  font-weight: 750;
}

.category-admin-status.is-active {
  background: #eaf8f1;
  color: #147a50;
}

.category-admin-status.is-inactive {
  background: #f0f2f4;
  color: #667085;
}

.category-admin-configure {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border: 1px solid var(--app-border);
  border-radius: 5px;
  color: var(--app-primary);
  font-size: .75rem;
  font-weight: 750;
}

.category-admin-editor {
  padding: 18px;
  background: #fbfcfd;
}

.category-config-form {
  display: grid;
  gap: 14px;
}

.category-config-section {
  display: grid;
  gap: 15px;
  padding: 17px;
  border: 1px solid var(--app-border);
  border-radius: 6px;
  background: #fff;
}

.category-config-heading {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--app-border);
}

.category-config-heading > div {
  display: flex;
  gap: 9px;
  align-items: center;
}

.category-config-heading > div > span {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 50%;
  background: var(--app-primary-soft);
  color: var(--app-primary);
  font-size: .66rem;
  font-weight: 850;
}

.category-config-heading strong {
  color: var(--app-text);
  font-size: .87rem;
}

.category-config-heading small {
  color: var(--app-muted);
  font-size: .74rem;
}

.category-config-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 13px 15px !important;
  margin: 0 !important;
}

.category-config-grid .wide {
  grid-column: 1 / -1;
}

.category-active-switch {
  width: fit-content;
  min-height: 40px;
  align-self: end;
  padding: 8px 11px;
  border: 1px solid var(--app-border);
  border-radius: 5px;
  background: var(--app-surface-soft);
  color: var(--app-text) !important;
}

.category-image-workspace {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
}

.category-image-preview-shell {
  width: 130px;
  height: 112px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px dashed #c9d3dc;
  border-radius: 6px;
  background: #f8fafb;
}

.category-image-preview-shell img {
  width: 100%;
  height: 100%;
  padding: 8px;
  object-fit: contain;
}

.category-image-empty {
  padding: 10px;
  color: var(--app-muted);
  font-size: .72rem;
  text-align: center;
}

.category-image-controls {
  display: grid;
  gap: 10px;
}

.category-image-controls label {
  color: var(--app-muted);
  font-size: .78rem;
}

.category-localization-panel {
  border: 1px solid var(--app-border);
  border-radius: 6px;
  background: #fff;
}

.category-localization-panel > summary {
  padding: 13px 15px;
  color: var(--app-text);
  cursor: pointer;
  font-size: .82rem;
  font-weight: 750;
}

.category-localization-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 15px 15px;
}

.category-editor-actions {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  padding-top: 2px;
}

.category-editor-actions > span {
  color: var(--app-muted);
  font-size: .73rem;
}

.category-structure-actions {
  display: flex;
  gap: 14px;
  align-items: center;
  margin-top: 16px;
  padding-top: 15px;
  border-top: 1px solid var(--app-border);
}

.category-structure-actions > div:first-child {
  min-width: 0;
  display: grid;
  gap: 2px;
  margin-right: auto;
}

.category-structure-actions strong {
  color: var(--app-text);
  font-size: .8rem;
}

.category-structure-actions small {
  color: var(--app-muted);
  font-size: .7rem;
}

.category-mini-actions {
  display: flex !important;
  gap: 5px !important;
}

.category-mini-actions button {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--app-border);
  border-radius: 5px;
  background: #fff;
  color: var(--app-text);
  font-weight: 800;
}

.category-mini-actions button:hover {
  border-color: var(--app-primary);
  color: var(--app-primary);
  background: var(--app-primary-soft);
}

/* Home hero: remove the old dark content overlay and align it with the sidebar */
.store-sections[data-zone="sections"] {
  padding-top: 20px;
}

.store-section[data-id="hero-banner"] .hero-content-layer {
  min-height: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* Motion */
:root[data-ui-motion="expressive"] .product-card:hover {
  transform: translateY(-6px);
}

:root[data-ui-motion="off"] *,
:root[data-ui-motion="off"] *::before,
:root[data-ui-motion="off"] *::after {
  scroll-behavior: auto !important;
  animation-duration: .01ms !important;
  transition-duration: .01ms !important;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}

@media (max-width: 1260px) {
  .denuino-brand { flex-basis: 145px; margin-right: 14px !important; }
  .denuino-brand img { width: 140px; }
  .header-layout-items { gap: 0; }
  .nav-link-rich,
  .language-current,
  .header-profile-chip { padding-inline: 8px !important; }
  .header-nav-icon-shell { display: none; }
  .header-designer-item[data-header-item-id="search"] { max-width: 360px; }
  .storefront-shell { grid-template-columns: 220px minmax(0, 1fr); }
  .catalog-landing-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .storefront-shell > .store-sidebar:last-child {
    position: static;
    grid-column: 1 / -1;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  }
}

@media (max-width: 1050px) {
  :root { --app-header: 68px; }

  .navbar,
  .navbar.is-scrolled,
  .storefront-header-shell {
    height: var(--app-header);
    min-height: var(--app-header);
    padding-inline: 18px !important;
  }

  .storefront-header-shell .container-fluid { flex-wrap: wrap; }
  .navbar-collapse {
    position: fixed;
    top: var(--app-header);
    left: 0;
    right: 0;
    height: auto;
    max-height: calc(100vh - var(--app-header));
    overflow-y: auto;
    padding: 14px 18px 22px;
    border-bottom: 1px solid var(--app-border);
    background: #fff;
    box-shadow: var(--app-shadow-lg);
  }

  .navbar-collapse:not(.show) { display: none !important; }
  .navbar-collapse.show { display: block !important; }
  .header-layout-items { height: auto; flex-wrap: wrap !important; gap: 5px; }
  .header-designer-item[data-header-item-id="search"] {
    width: 100%;
    max-width: none;
    flex-basis: 100% !important;
    margin-bottom: 8px;
  }

  .nav-link-rich,
  .language-current,
  .header-profile-chip {
    min-height: 40px;
  }

  .neo-admin { grid-template-columns: 1fr; }
  .neo-admin-nav {
    position: relative;
    width: 100%;
    height: auto;
    min-height: auto;
    max-height: none;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 4px;
    padding: 12px;
    border-right: 0;
    border-bottom: 1px solid var(--app-border);
  }

  .neo-brand {
    grid-column: 1 / -1;
    margin-bottom: 8px;
  }

  .neo-nav-group,
  .neo-admin-nav > a {
    min-width: 0;
  }

  .neo-nav-subitems {
    margin-left: 5px;
  }

  .neo-stats { grid-template-columns: repeat(3, minmax(140px, 1fr)); }
  .footer-shell { grid-template-columns: repeat(2, 1fr); }
  .settings-form .neo-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .carousel-admin-layout { grid-template-columns: 1fr; }
  .benefit-admin-grid { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  .storefront-stage,
  .page-design-stage { padding: 18px 14px 36px !important; }

  .storefront-shell,
  .products-designer-shell { grid-template-columns: 1fr; }

  .store-sidebar {
    position: static;
    grid-template-columns: 1fr;
  }

  .storefront-shell > .store-sidebar:last-child { grid-column: auto; }
  .store-section { padding: 22px !important; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .catalog-landing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .neo-workspace,
  .business-workspace { padding: 18px 14px; }
  .neo-page-head { flex-direction: column; align-items: flex-start; }
  .neo-grid-two { grid-template-columns: 1fr; }
  .neo-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .settings-section-head { display: grid; gap: 10px; }
  .settings-section-head p { max-width: none; text-align: left; }
  .category-overview-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .category-hierarchy-head { align-items: flex-start; flex-direction: column; }
  .category-admin-children { margin-left: 15px; padding-left: 17px; }
  .category-admin-children::before { left: 6px; }
  .category-admin-children > .category-admin-node::before { left: -11px; width: 11px; }
  .category-admin-summary { grid-template-columns: 16px 42px minmax(0, 1fr) auto; }
  .category-admin-configure { display: none; }
  .category-config-heading { align-items: flex-start; flex-direction: column; }
  .category-localization-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .footer-content-grid { grid-template-columns: 1fr; }
  .footer-bottom-editor { grid-column: auto; }
  .content-editor-head { align-items: flex-start; flex-direction: column; }
  .product-editor-head { position: relative !important; top: auto; }

  .neo-admin-nav {
    position: sticky;
    top: 0;
    z-index: 80;
    width: 100%;
    height: 68px;
    min-height: 68px;
    max-height: 68px;
    display: flex;
    flex-direction: row !important;
    flex-wrap: nowrap;
    align-items: center;
    gap: 4px;
    padding: 8px 10px;
    overflow-x: auto;
    overflow-y: hidden;
    border-bottom: 1px solid var(--app-border);
    background: #fff;
  }

  .neo-brand {
    grid-column: auto;
    flex: 0 0 150px;
    width: 150px;
    height: 46px;
    min-height: 46px;
    margin: 0 6px 0 0;
    padding: 0 6px;
    border: 0;
  }

  .neo-brand small {
    display: none;
  }

  .neo-nav-group,
  .neo-admin-nav > a {
    flex: 0 0 auto;
    min-width: max-content;
  }

  .neo-nav-subitems {
    display: none !important;
  }

  .neo-admin-nav .neo-nav-group > a,
  .neo-admin-nav .neo-nav-group > button,
  .neo-admin-nav > a {
    min-height: 38px;
    padding: 8px 10px;
    white-space: nowrap;
  }
}

@media (max-width: 560px) {
  .denuino-brand { flex-basis: 128px; }
  .denuino-brand img { width: 124px; }
  .product-grid { grid-template-columns: 1fr !important; }
  .product-image img { height: 240px; }
  .footer-shell { grid-template-columns: 1fr; }
  .neo-stats { grid-template-columns: 1fr; }
  .neo-hero { min-height: 150px; padding: 24px; }
  .ui-theme-grid,
  .ui-settings-columns { grid-template-columns: 1fr; }
  .catalog-category-overview { padding: 18px !important; }
  .catalog-landing-grid { gap: 10px; }
  .catalog-landing-card { padding: 9px 7px 12px; }
  .settings-form { padding: 10px !important; }
  .settings-section { padding: 16px; }
  .settings-form .neo-form-grid { grid-template-columns: 1fr; }
  .settings-save-bar,
  .settings-rate-panel { align-items: stretch; flex-direction: column; }
  .category-overview-strip { gap: 8px; }
  .category-overview-strip > div { min-height: 70px; padding: 13px; }
  .category-overview-strip strong { font-size: 1.2rem; }
  .category-create-panel > summary { padding: 14px; }
  .category-create-toggle { display: none; }
  .category-create-form,
  .category-hierarchy-panel { padding: 14px !important; }
  .category-config-grid,
  .category-localization-grid { grid-template-columns: 1fr !important; }
  .category-image-workspace { grid-template-columns: 1fr; }
  .category-image-preview-shell { width: 100%; height: 150px; }
  .category-admin-children { margin-left: 8px; padding-left: 12px; }
  .category-admin-children::before { left: 3px; }
  .category-admin-children > .category-admin-node::before { left: -9px; width: 9px; }
  .category-admin-summary {
    min-height: 58px;
    grid-template-columns: 12px 38px minmax(0, 1fr);
    gap: 8px;
    padding: 8px;
  }
  .category-admin-thumb { width: 38px; height: 38px; }
  .category-admin-status { display: none; }
  .category-admin-copy small span,
  .category-admin-copy small { font-size: .66rem; }
  .category-admin-editor { padding: 10px; }
  .category-config-section { padding: 13px; }
  .category-editor-actions,
  .category-structure-actions { align-items: stretch; flex-direction: column; }
  .category-structure-actions > div:first-child { margin-right: 0; }
  .content-editor-section { padding: 14px !important; }
  .content-hub-save,
  .poll-admin-list > article { align-items: stretch; flex-direction: column; }
  .benefit-admin-card { grid-template-columns: 72px minmax(0, 1fr); padding: 11px; }
  .benefit-admin-preview { width: 72px; height: 72px; }
  .carousel-admin-preview { grid-template-columns: 1fr; }
  .content-upload-actions { align-items: flex-start; flex-direction: column; }
  .rich-description-head { align-items: flex-start; flex-direction: column; }
  .rich-editor-toolbar { overflow-x: auto; flex-wrap: nowrap; }
  .rich-editor-toolbar > * { flex: 0 0 auto; }
  .rich-editor-canvas { min-height: 300px; padding: 16px; }

  .store-section.type-hero[data-id="hero-banner"] {
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 1818 / 865;
  }

  .store-section[data-id="usp-grid"] {
    padding: 14px !important;
  }

  .store-section[data-id="usp-grid"] .denuino-hero {
    width: 100% !important;
    padding: 16px 6px !important;
  }

  .store-section[data-id="usp-grid"] .denuino-brand-hero {
    height: 68px !important;
  }

  .store-section[data-id="usp-grid"] .denuino-wordmark {
    font-size: clamp(3rem, 15vw, 4rem) !important;
  }

  .store-section[data-id="usp-grid"] .denuino-moving-mark {
    width: 68px !important;
    height: 68px !important;
  }

  .store-section[data-id="usp-grid"] .intro {
    margin-top: 12px !important;
    font-size: .9rem !important;
    line-height: 1.55 !important;
  }

  .store-section[data-id="usp-grid"] .features {
    margin-top: 14px !important;
    gap: 8px !important;
  }

  .store-section[data-id="hero-1778181468934"] {
    padding: 14px !important;
  }

  .store-section[data-id="hero-1778181468934"] .hero-content {
    width: 100% !important;
    padding: 0 !important;
  }

  .store-section[data-id="hero-1778181468934"] .denuino-benefits {
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .store-section[data-id="hero-1778181468934"] .benefit-card {
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: 64px minmax(0, 1fr) !important;
    gap: 14px !important;
    padding: 17px !important;
  }

  .store-section[data-id="hero-1778181468934"] .benefit-icon-wrap {
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
  }

  .store-section[data-id="hero-1778181468934"] .benefit-text {
    text-align: left !important;
  }
}
/* Structured content administration */
.category-admin-configure {
  appearance: none;
  border: 1px solid var(--app-border);
  border-radius: 8px;
  background: #fff;
  color: var(--app-text);
  padding: 7px 11px;
  font: inherit;
  font-weight: 700;
}

.category-admin-configure:hover { border-color: var(--app-primary); color: var(--app-primary); }

.content-editor-section.is-collapsed > :not(.content-editor-head) { display: none !important; }
.content-editor-section > .content-editor-head { cursor: pointer; }
.content-section-toggle {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-left: auto;
  padding: 7px 11px;
  border: 1px solid var(--app-border);
  border-radius: 8px;
  background: #fff;
  color: var(--app-text);
  font-weight: 700;
}
.content-section-toggle i {
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform .18s ease;
}
.content-section-toggle[aria-expanded="true"] i { transform: rotate(225deg) translate(-1px, -1px); }

.poll-editor-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.poll-editor-card { padding: 20px; }
.poll-editor-head { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.poll-editor-head > div { min-width: 0; display: grid; }
.poll-editor-head .neo-switch { margin-left: auto; }
.poll-editor-icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: #eaf6fb; font-size: 20px; }
.poll-localization-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:12px; margin:14px 0; }
.poll-language-section { padding:12px; border:1px solid #dbe5ea; border-radius:12px; background:#f8fbfc; }
.poll-language-section h4 { margin:0 0 10px; font-size:.9rem; }
.poll-option-edit-row--localized {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 10px !important;
  align-items: end;
}
.poll-option-edit-row--localized > label {
  display: grid;
  min-width: 0;
  gap: 5px;
}
.poll-option-edit-row--localized > label:has([data-option-text]) { grid-column: span 2; }
.poll-option-edit-row--localized > label:has([data-option-votes]) {
  grid-column: 1 / span 2;
  margin-top: 8px;
}
.poll-option-edit-row--localized > label > .form-control {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}
.poll-option-edit-row--localized > [data-remove-option] {
  grid-column: 6;
  justify-self: end;
}
@media (max-width: 1100px) {
  .poll-option-edit-row--localized { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  .poll-option-edit-row--localized > [data-remove-option] { grid-column: 4; }
}
@media (max-width: 620px) {
  .poll-option-edit-row--localized { grid-template-columns: minmax(0, 1fr) 36px !important; }
  .poll-option-edit-row--localized > label:has([data-option-text]) { grid-column: 1 / -1; }
  .poll-option-edit-row--localized > label:has([data-option-votes]) { grid-column: 1; }
  .poll-option-edit-row--localized > [data-remove-option] { grid-column: 2; }
}
.designer-product-variant-link { display:flex; align-items:center; justify-content:center; text-decoration:none; }
.poll-option-editor { display: grid; gap: 9px; margin: 18px 0 12px; }
.poll-option-edit-row { display: grid; grid-template-columns: minmax(0, 1fr) 110px 34px; gap: 8px; align-items: end; }
.poll-option-edit-row label { margin: 0; font-size: .72rem; color: var(--app-muted); }
.poll-page-section { margin-top: 24px; }

.managed-sidebar-poll.is-hidden { display: none; }
.store-block.managed-poll-disabled { display: none !important; }
.managed-sidebar-poll { color: #101820; }
.managed-poll-heading { display: flex; gap: 12px; margin-bottom: 18px; }
.managed-poll-heading > span { display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 44px; border-radius: 12px; background: linear-gradient(135deg, #e7f8f5, #e8f2ff); }
.managed-poll-heading h3 { margin: 0 0 5px; font-size: 1.05rem; color: inherit; }
.managed-poll-heading p { margin: 0; color: #607284; font-size: .84rem; line-height: 1.45; }
.managed-poll-options { display: grid; gap: 10px; }
.managed-poll-option { width: 100%; padding: 0; border: 0; background: transparent; color: inherit; text-align: left; }
.managed-poll-option > span { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 5px; font-size: .8rem; }
.managed-poll-option i { display: block; height: 7px; overflow: hidden; border-radius: 999px; background: #e6edf4; }
.managed-poll-option em { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #facd0b, #12c9ba, #2188ff); transition: width .3s ease; }
.managed-poll-total { display: block; margin-top: 14px; color: #718296; }

.product-group-admin-list { display: grid; gap: 14px; }
.product-group-editor { overflow: hidden; }
.product-group-editor > summary { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; cursor: pointer; list-style: none; }
.product-group-editor > summary::-webkit-details-marker { display: none; }
.product-group-editor > summary > div { display: flex; align-items: center; gap: 12px; }
.product-group-editor > summary small { color: var(--app-muted); }
.product-group-editor-body { padding: 0 20px 20px; border-top: 1px solid var(--app-border); }
.product-group-search { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; margin-top: 7px; }
.selected-product-chips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 14px; }
.selected-product-chip { display: grid; grid-template-columns: 50px minmax(0, 1fr) 32px; gap: 10px; align-items: center; min-width: 0; padding: 8px; border: 1px solid var(--app-border); border-radius: 10px; background: #fff; }
.selected-product-chip img { width: 50px; height: 50px; object-fit: contain; }
.selected-product-chip span { min-width: 0; display: grid; }
.selected-product-chip strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .82rem; }
.selected-product-chip small { color: var(--app-muted); }
.selected-product-chip button { border: 0; background: transparent; font-size: 20px; }
.product-group-actions { display: flex; justify-content: space-between; align-items: center; margin-top: 16px; }

.appearance-editor-panel { margin-bottom: 18px; }
.appearance-theme-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.appearance-theme-card { position: relative; display: grid; gap: 8px; padding: 14px; border: 1px solid var(--app-border); border-radius: 12px; cursor: pointer; }
.appearance-theme-card:has(input:checked) { border-color: var(--app-primary); box-shadow: 0 0 0 2px color-mix(in srgb, var(--app-primary) 18%, transparent); }
.appearance-theme-card input { position: absolute; top: 12px; right: 12px; }
.appearance-theme-card small { color: var(--app-muted); line-height: 1.45; }
.theme-preview { display: flex; align-items: center; gap: 7px; height: 70px; padding: 12px; border: 1px solid #dce3e8; border-radius: 9px; overflow: hidden; }
.theme-preview i { width: 34%; height: 12px; margin-right: auto; border-radius: 4px; background: #172530; }
.theme-preview b { width: 13%; height: 9px; border-radius: 999px; background: #6d7a84; }
.theme-preview-gray { background: #f1f3f5; }
.theme-preview-clean { background: #fff; }
.theme-preview-glass { background: linear-gradient(135deg, rgba(255,255,255,.5), rgba(213,244,246,.75)); backdrop-filter: blur(10px); }

/* Homepage product groups: simple, dense, outlined cards */
.store-product-group-tabs { display: flex; justify-content: center; flex-wrap: wrap; border-bottom: 1px solid #d7dce0; margin-bottom: 28px; }
.store-product-group-tabs button { margin-bottom: -1px; padding: 12px 20px; border: 1px solid #d7dce0; border-bottom-color: #d7dce0; background: #f7f7f7; color: #20262b; }
.store-product-group-tabs button.is-active { background: #fff; border-bottom-color: #fff; }
.store-product-group-panel { display: none; }
.store-product-group-panel.is-active { display: block; }
.store-product-group-panel .designer-product-mosaic-track { display: grid !important; grid-template-columns: repeat(var(--product-columns, 3), minmax(0, 1fr)); gap: 26px; transform: none !important; }
.store-section[data-id="featured-products"] .store-product-group-panel .designer-product-card {
  min-width: 0 !important;
  border: 1px solid #cfd4d8 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.store-section[data-id="featured-products"] .store-product-group-panel .designer-product-card:hover { border-color: #14191d !important; box-shadow: none !important; }
.store-section[data-id="featured-products"] .store-product-group-panel .designer-product-card-glow { display: none !important; }

@media (max-width: 1100px) {
  .poll-editor-grid, .appearance-theme-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .selected-product-chips { grid-template-columns: 1fr; }
  .store-product-group-tabs { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; }
  .store-product-group-tabs button { white-space: nowrap; }
  .store-product-group-panel .designer-product-mosaic-track { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
}

body.storefront-desktop .storefront-stage,
body.storefront-mobile .storefront-stage {
  background: var(--store-page-bg, #fff) !important;
}

@media (min-width: 821px) and (max-width: 1300px) {
  .store-section[data-id="hero-1778181468934"] .benefit-card {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center;
    align-content: start;
    gap: 12px !important;
    text-align: center;
  }
  .store-section[data-id="hero-1778181468934"] .benefit-text { text-align: center !important; }
}

/* ==========================================================
   Denuino Air UI — storefront and administration
   Visual layer inspired by the approved clean reference.
   ========================================================== */
:root {
  --app-bg: #f8fafc;
  --app-surface: #ffffff;
  --app-surface-soft: #f6f9fd;
  --app-surface-hover: #f0f7ff;
  --app-text: #102344;
  --app-muted: #7283a2;
  --app-border: #e4ebf4;
  --app-border-strong: #d3dfec;
  --app-primary: #1489ed;
  --app-primary-dark: #0871d0;
  --app-primary-soft: #eaf5ff;
  --app-sidebar: 220px;
  --app-header: 106px;
  --app-max: 1510px;
  --app-radius-sm: 9px;
  --app-radius: 14px;
  --app-shadow: 0 8px 28px rgba(30, 72, 120, .055);
  --app-shadow-lg: 0 18px 55px rgba(30, 72, 120, .09);
}

html, body, body.admin-root, body:has(.neo-admin) {
  background: #fbfdff;
  color: var(--app-text);
}

/* Floating storefront header */
.storefront-desktop,
.storefront-mobile {
  padding-top: var(--app-header) !important;
}

.storefront-header-shell,
.navbar.storefront-header-shell,
.navbar.storefront-header-shell.is-scrolled {
  inset: 14px clamp(18px, 5.4vw, 94px) auto !important;
  width: auto !important;
  height: 80px;
  min-height: 80px;
  padding: 0 22px !important;
  border: 1px solid var(--app-border) !important;
  border-radius: 18px !important;
  background: color-mix(in srgb, var(--store-nav-bg, #ffffff) 92%, transparent) !important;
  box-shadow: 0 12px 34px rgba(42, 83, 126, .07) !important;
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  backdrop-filter: blur(18px) saturate(150%);
}

.storefront-header-shell .container-fluid {
  max-width: 1470px;
}

.denuino-brand {
  flex-basis: 178px;
  margin-right: clamp(18px, 3vw, 54px) !important;
}

.denuino-brand img { width: 172px; }

.header-designer-item[data-header-item-id="search"] {
  max-width: 430px;
  flex-basis: 330px !important;
}

.header-search {
  grid-template-columns: minmax(170px, 1fr) 42px;
  padding: 5px;
  border: 1px solid #e7edf5;
  border-radius: 13px;
  background: #f8faff;
}

.header-search .form-control {
  height: 36px;
  padding-inline: 12px;
  border: 0;
  background: transparent;
  box-shadow: none !important;
}

.header-search-submit {
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 9px;
  background: #fff;
  color: var(--app-primary);
  box-shadow: 0 2px 8px rgba(30, 72, 120, .08);
}

.nav-link-rich,
.language-current,
.header-profile-chip,
.header-login-chip {
  position: relative;
  min-height: 78px;
  padding: 9px 12px !important;
  border-radius: 0 !important;
  color: #203252 !important;
  font-size: .84rem;
  font-weight: 650;
}

.nav-link-rich:hover,
.nav-link-rich:focus-visible,
.nav-link-rich.is-current,
.shop-category-hover:hover > .nav-link-rich,
.shop-category-hover:focus-within > .nav-link-rich,
.header-profile-chip:hover {
  background: transparent !important;
  color: var(--app-primary) !important;
}

.nav-link-rich.is-current {
  box-shadow: inset 0 -3px 0 var(--app-primary) !important;
}

.header-nav-icon-shell { color: currentColor; }

/* Full-width storefront, without the old left sidebar */
body.storefront-desktop .storefront-stage,
body.storefront-mobile .storefront-stage {
  min-height: calc(100vh - var(--app-header));
  padding: 12px clamp(18px, 5.4vw, 94px) 60px !important;
  background:
    radial-gradient(circle at 8% 7%, rgba(94, 183, 255, .055), transparent 24%),
    var(--store-page-bg, #fbfdff) !important;
}

.storefront-theme-clean .storefront-header-shell {
  background: #fff !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

.storefront-theme-glass .storefront-header-shell {
  background: color-mix(in srgb, var(--store-nav-bg, #ffffff) 68%, transparent) !important;
  -webkit-backdrop-filter: blur(22px) saturate(150%) !important;
  backdrop-filter: blur(22px) saturate(150%) !important;
}

.storefront-theme-glass .storefront-nav-link {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

.storefront-shell {
  max-width: 1510px;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

.storefront-content-centered .storefront-stage:not(.designer-active) .storefront-shell > .store-sidebar,
.storefront-content-full .storefront-stage:not(.designer-active) .storefront-shell > .store-sidebar {
  display: none !important;
}

.store-sections {
  display: grid;
  gap: 26px;
}

.storefront-category-ribbon {
  order: 2;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 13px;
}

.storefront-category-ribbon > a {
  min-width: 0;
  min-height: 82px;
  display: grid;
  grid-template-columns: 48px minmax(0,1fr) 18px;
  align-items: center;
  gap: 12px;
  padding: 13px 15px;
  border: 1px solid var(--app-border);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(30,72,120,.045);
  text-decoration: none;
  transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.storefront-category-ribbon > a:hover {
  transform: translateY(-2px);
  border-color: #badbf4;
  box-shadow: 0 12px 28px rgba(30,72,120,.08);
}

.category-ribbon-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 13px;
  background: #eaf6ff;
  color: var(--app-primary);
  font-size: 1.15rem;
}

.storefront-category-ribbon > a:nth-child(2) .category-ribbon-icon { background: #eafaf2; color: #28a96d; }
.storefront-category-ribbon > a:nth-child(3) .category-ribbon-icon { background: #f1ecff; color: #7b58ec; }
.storefront-category-ribbon > a:nth-child(4) .category-ribbon-icon { background: #fff4e7; color: #f29433; }
.storefront-category-ribbon > a:nth-child(5) .category-ribbon-icon { background: #eaf8ff; color: #1599d4; }
.storefront-category-ribbon > a:nth-child(6) .category-ribbon-icon { background: #fff0f6; color: #ed5a9b; }
.category-ribbon-icon img { width: 34px; height: 34px; object-fit: contain; }
.storefront-category-ribbon > a > span:nth-child(2) { min-width: 0; display: grid; gap: 4px; }
.storefront-category-ribbon strong { overflow: hidden; color: #1d2e4c; font-size: .8rem; text-overflow: ellipsis; white-space: nowrap; }
.storefront-category-ribbon small { color: #8a9ab4; font-size: .7rem; }
.storefront-category-ribbon > a > i { color: #7186a4; font-style: normal; font-size: 1.25rem; }

.store-sections > [data-id="hero-banner"] { order: 1; }
.store-sections > [data-id="featured-products"] { order: 3; }
.store-sections > [data-id="hero-1778181468934"] { order: 4; }
.store-sections > [data-id="usp-grid"] { order: 5; }

.store-section[data-id="hero-banner"] {
  min-height: 400px !important;
  padding: 0 !important;
  border: 1px solid #e7eef7 !important;
  border-radius: 22px !important;
  background: linear-gradient(135deg,#f3f8ff,#f8fbff) !important;
  box-shadow: 0 18px 50px rgba(37,87,140,.07) !important;
}

.store-section[data-id="hero-banner"] .hero-media-shell,
.store-section[data-id="hero-banner"] .custom-banner-carousel,
.store-section[data-id="hero-banner"] .carousel-inner,
.store-section[data-id="hero-banner"] .carousel-item,
.store-section[data-id="hero-banner"] .section-media {
  min-height: 400px !important;
  height: 400px !important;
}

.store-section[data-id="hero-banner"] .section-media {
  object-fit: cover !important;
}

.store-section[data-id="hero-banner"] .carousel-slide-actions,
.store-section[data-id="hero-banner"] .hero-button-anchor {
  left: 52px;
  bottom: 40px;
}

.store-section[data-id="hero-banner"] .btn {
  min-height: 45px;
  padding: 11px 20px;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(135deg,#138fe9,#08a9dc);
  color: #fff;
  box-shadow: 0 10px 22px rgba(20,137,237,.22);
}

.store-section[data-id="hero-banner"] .carousel-control {
  width: 42px;
  height: 42px;
  border: 1px solid #e3eaf2;
  background: rgba(255,255,255,.88);
  color: #5b7393;
  box-shadow: 0 5px 16px rgba(30,72,120,.08);
}

/* Precízne, stavové ovládanie stromu kategórií. */
.category-admin-configure {
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 10px !important;
}

.category-admin-configure .category-configure-icon {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.category-admin-configure .category-configure-icon-close,
.category-admin-card[open] .category-admin-configure .category-configure-icon-open {
  display: none;
}

.category-admin-card[open] .category-admin-configure .category-configure-icon-close {
  display: block;
}

/* SVG chevron je opticky aj geometricky uprostred ovládacieho prvku. */
.custom-banner-carousel .carousel-control {
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  line-height: 0 !important;
}

.custom-banner-carousel .carousel-control > span {
  width: 100% !important;
  height: 100% !important;
  display: grid !important;
  place-items: center !important;
  transform: none !important;
  line-height: 0 !important;
}

.custom-banner-carousel .carousel-control svg {
  width: 18px;
  height: 18px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.custom-banner-carousel .carousel-indicators {
  left: 50% !important;
  right: auto !important;
  bottom: 14px !important;
  width: max-content !important;
  min-width: 0 !important;
  max-width: calc(100% - 40px) !important;
  margin: 0 !important;
  padding: 7px 11px !important;
  transform: translateX(-50%) !important;
  justify-content: center !important;
}

/* Kompaktný a čitateľný detail objednávky. */
.order-detail-page .order-breadcrumb {
  margin: 0 0 10px !important;
  color: #70819b;
  font-size: .78rem;
}

.order-detail-page .order-detail-form {
  display: grid;
  gap: 12px;
}

.order-detail-page .neo-page-head {
  margin: 0 !important;
  padding: 15px 17px !important;
  align-items: center !important;
}

.order-detail-page .neo-page-head h1 {
  font-size: clamp(1.55rem, 2.1vw, 2rem) !important;
}

.order-detail-page .ops-actions {
  gap: 7px;
}

.order-detail-page .ops-actions .btn {
  min-height: 36px;
  padding: 7px 11px;
}

.order-detail-page .neo-grid-two {
  gap: 12px !important;
}

.order-detail-page .neo-panel {
  margin: 0 !important;
  padding: 15px 17px !important;
  min-height: 0 !important;
}

.order-detail-page .neo-panel > h2,
.order-detail-page .method-card-head h2,
.order-detail-page .method-card-head h3 {
  margin: 0 0 11px !important;
  color: #10233e !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
}

.order-detail-page .neo-form-grid {
  gap: 9px 11px !important;
}

.order-detail-page .neo-form-grid > label {
  gap: 5px;
  font-size: .72rem;
  color: #526680;
}

.order-detail-page .form-control,
.order-detail-page .form-select {
  min-height: 38px !important;
  padding: 7px 10px !important;
  color: #13263d !important;
  background: #fff !important;
}

.order-detail-page .order-method-editors {
  margin-top: 10px !important;
}

.order-detail-page .pickup-selector-panel,
.order-detail-page .carrier-shipment-panel {
  padding: 12px !important;
  border: 1px solid #e2eaf3;
  border-radius: 11px;
  background: #fbfdff;
}

.order-detail-page .order-notes {
  margin-top: 0 !important;
}

.order-detail-page .order-notes h2 {
  padding: 0 !important;
  border: 0 !important;
}

.order-detail-page .order-total-line {
  padding: 10px 0 0 !important;
  font-size: .92rem;
}

@media (max-width: 900px) {
  .order-detail-page .neo-page-head,
  .order-detail-page .ops-actions {
    align-items: stretch !important;
  }

  .order-detail-page .ops-actions .btn,
  .order-detail-page .ops-actions .ops-dropdown {
    width: 100%;
  }
}

.store-section[data-id="featured-products"] {
  padding: 12px 0 0 !important;
}

.store-product-group-tabs {
  justify-content: flex-start;
  margin-bottom: 20px;
  border: 0;
  gap: 6px;
}

.store-product-group-tabs button {
  padding: 8px 13px;
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  color: #71819c;
  font-size: .78rem;
  font-weight: 700;
}

.store-product-group-tabs button.is-active {
  border-color: #d9e9f8;
  background: #edf7ff;
  color: var(--app-primary);
}

.store-product-group-panel .designer-product-mosaic-track {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 16px;
}

.store-section[data-id="featured-products"] .store-product-group-panel .designer-product-card {
  min-height: 224px;
  padding: 12px !important;
  overflow: hidden;
  border: 1px solid var(--app-border) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 7px 22px rgba(30,72,120,.04) !important;
}

.store-section[data-id="featured-products"] .store-product-group-panel .designer-product-card:hover {
  transform: translateY(-3px) !important;
  border-color: #bcdcf5 !important;
  box-shadow: 0 14px 32px rgba(30,72,120,.08) !important;
}

.store-section[data-id="featured-products"] .designer-product-media {
  height: 138px !important;
  margin-bottom: 9px;
  border: 0;
  background: #fff;
}

.store-section[data-id="featured-products"] .designer-product-card img {
  width: 100%;
  height: 132px !important;
  object-fit: contain;
}

.store-section[data-id="featured-products"] .designer-product-copy {
  display: grid;
  gap: 5px;
}

.store-section[data-id="featured-products"] .designer-product-copy small {
  order: 3;
  color: #96a3b7;
  font-size: .62rem;
}

.store-section[data-id="featured-products"] .designer-product-copy strong {
  min-height: 34px;
  color: #1a2b49;
  font-size: .78rem;
  line-height: 1.35;
}

.store-section[data-id="featured-products"] .designer-product-copy > span {
  color: #167fe4;
  font-size: .85rem;
  font-weight: 800;
  text-align: right;
}

.store-section[data-id="hero-1778181468934"] {
  padding: 13px 28px !important;
  border: 1px solid var(--app-border) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 7px 22px rgba(30,72,120,.04) !important;
}

.store-section[data-id="hero-1778181468934"] .denuino-benefits {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 0 !important;
}

.store-section[data-id="hero-1778181468934"] .benefit-card {
  min-height: 70px !important;
  grid-template-columns: 50px minmax(0,1fr) !important;
  align-items: center;
  gap: 12px !important;
  padding: 9px 24px !important;
  border-right: 1px solid var(--app-border) !important;
  text-align: left !important;
}

.store-section[data-id="hero-1778181468934"] .benefit-card:last-child { border-right: 0 !important; }
.store-section[data-id="hero-1778181468934"] .benefit-icon-wrap { width: 46px !important; height: 46px !important; min-width: 46px !important; }
.store-section[data-id="hero-1778181468934"] .benefit-text { text-align: left !important; }
.store-section[data-id="hero-1778181468934"] .benefit-text h3 { margin-bottom: 3px; color: #263958 !important; font-size: .75rem !important; }
.store-section[data-id="hero-1778181468934"] .benefit-text p { color: #8795aa !important; font-size: .68rem !important; line-height: 1.4; }

.store-section[data-id="usp-grid"] {
  padding: 50px 24px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.managed-welcome-banner { max-width: 850px; margin-inline: auto; }
.managed-welcome-banner h1 { color: #132542 !important; font-size: clamp(1.8rem,3vw,2.8rem) !important; }
.managed-welcome-copy { color: #70819d !important; }
.managed-welcome-badges span { border: 1px solid #dce9f5; background: #fff !important; color: #2386df !important; box-shadow: 0 8px 22px rgba(30,72,120,.06) !important; }

/* Admin white chrome */
body:has(.neo-admin) {
  background: #f8fafc;
}

.neo-admin {
  grid-template-columns: var(--app-sidebar) minmax(0,1fr);
  grid-template-rows: 72px minmax(0,1fr);
  background: #f8fafc !important;
}

.neo-admin-topbar {
  position: sticky;
  top: 0;
  z-index: 4200;
  grid-column: 1 / -1;
  grid-row: 1;
  min-width: 0;
  height: 72px;
  display: flex;
  align-items: center;
  gap: clamp(14px,2vw,32px);
  padding: 0 22px;
  border-bottom: 1px solid var(--app-border);
  background: rgba(255,255,255,.96);
  box-shadow: 0 4px 18px rgba(35,71,112,.035);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}

.neo-admin-top-brand {
  flex: 0 0 calc(var(--app-sidebar) - 22px);
  display: flex;
  align-items: center;
  gap: 10px;
  color: #122646;
  font-size: 1.16rem;
  text-decoration: none;
}

.neo-admin-top-logo {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid #bfe2fc;
  border-radius: 10px;
  background: #eef8ff;
  color: var(--app-primary);
  font-size: 1.2rem;
}

.neo-admin-global-search {
  width: min(410px,27vw);
  height: 42px;
  display: grid;
  grid-template-columns: 28px minmax(0,1fr) 24px;
  align-items: center;
  padding: 0 10px;
  border: 1px solid var(--app-border);
  border-radius: 11px;
  background: #f8faff;
  color: #8b9ab1;
}

.neo-admin-global-search input {
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--app-text);
  font-size: .76rem;
}

.neo-admin-global-search kbd {
  display: grid;
  place-items: center;
  width: 21px;
  height: 23px;
  border: 1px solid #e0e7f0;
  border-radius: 5px;
  background: #fff;
  color: #90a0b8;
  font: .7rem var(--app-font);
}

.neo-admin-top-links {
  min-width: 0;
  height: 100%;
  display: flex;
  align-items: center;
  gap: 3px;
}

.neo-admin-top-links a {
  height: 100%;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 0 10px;
  border-bottom: 2px solid transparent;
  color: #2d405f;
  font-size: .75rem;
  font-weight: 650;
  white-space: nowrap;
  text-decoration: none;
}

.neo-admin-top-links a:hover,
.neo-admin-top-links a.active {
  border-bottom-color: var(--app-primary);
  color: var(--app-primary);
}

.neo-admin-top-user {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 9px;
}

.neo-admin-bell { color: #667a98; }
.neo-admin-avatar { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid #dce6f1; border-radius: 50%; background: #f7faff; color: #6a7e9d; font-size: .73rem; font-weight: 800; }
.neo-admin-top-user > span:last-child { display: grid; min-width: 94px; }
.neo-admin-top-user strong { font-size: .72rem; }
.neo-admin-top-user small { color: #8d9ab0; font-size: .62rem; }

.neo-admin-nav {
  position: sticky;
  top: 72px;
  grid-column: 1;
  grid-row: 2;
  width: var(--app-sidebar);
  height: calc(100vh - 72px);
  min-height: 0;
  max-height: calc(100vh - 72px);
  padding: 16px 12px;
  border-right: 1px solid var(--app-border);
  background: #fff !important;
}

.neo-admin-nav .neo-brand { display: none; }

.neo-store-preview {
  min-height: 40px !important;
  margin-bottom: 10px;
  justify-content: center;
  border: 1px solid #dce8f3 !important;
  background: #f7fbff !important;
  color: var(--app-primary) !important;
}

.neo-admin-nav > a,
.neo-nav-group summary {
  min-height: 38px;
  padding: 8px 10px;
  border-radius: 9px;
  color: #536783;
  font-size: .77rem;
}

.neo-nav-subitems { margin-left: 11px; }

.neo-nav-group a,
.neo-nav-action {
  min-height: 30px;
  padding: 6px 8px;
  font-size: .71rem;
}

.neo-workspace,
.business-workspace {
  grid-column: 2;
  grid-row: 2;
  min-height: calc(100vh - 72px);
  padding: 18px clamp(16px,2vw,28px) 36px;
  background: #f8fafc !important;
}

.neo-workspace > *,
.business-workspace > * {
  max-width: 1600px;
}

.neo-hero,
.neo-page-head {
  min-height: auto;
  margin-bottom: 16px;
  padding: 7px 2px 14px;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.neo-page-head h1,
.neo-hero h1 {
  font-size: clamp(1.55rem,2.4vw,2.1rem);
  letter-spacing: -.035em;
}

.neo-page-head p,
.neo-hero p:not(.eyebrow) { font-size: .8rem; }

.neo-panel,
.neo-stats > div,
.admin-panel,
.export-card,
.business-admin .neo-panel {
  border-color: #e4ebf4 !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 7px 25px rgba(30,72,120,.04) !important;
}

.neo-panel { padding: 18px; }

/* Reference dashboard */
.admin-reference-dashboard .neo-workspace {
  display: grid;
  align-content: start;
  gap: 16px;
}

.admin-reference-metrics {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 14px;
}

.admin-metric-card {
  --metric-color: #1685ef;
  min-width: 0;
  min-height: 166px;
  padding: 18px;
  overflow: hidden;
  border: 1px solid var(--app-border);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 7px 25px rgba(30,72,120,.04);
}

.admin-metric-card.is-green { --metric-color: #35bd7a; }
.admin-metric-card.is-violet { --metric-color: #855cf4; }
.admin-metric-card.is-orange { --metric-color: #f4a11c; }
.admin-metric-card.is-pink { --metric-color: #f35a8c; }
.admin-metric-card > div:first-child { display: flex; align-items: center; gap: 10px; }
.admin-metric-card p { margin: 0; color: #627590; font-size: .72rem; }
.metric-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; background: color-mix(in srgb,var(--metric-color) 10%,white); color: var(--metric-color); }
.admin-metric-card > strong { display: block; margin: 7px 0 3px 48px; color: #152847; font-size: 1.35rem; }
.admin-metric-card > small { display: block; margin-left: 48px; color: #22a96b; font-size: .66rem; font-weight: 800; }
.admin-metric-card > small em { display: block; margin-top: 5px; color: #98a5b9; font-style: normal; font-weight: 500; }
.metric-spark { height: 42px; display: flex; align-items: end; gap: 4px; margin-top: 11px; }
.metric-spark i { flex: 1; min-width: 4px; height: 34%; border-radius: 5px 5px 1px 1px; background: color-mix(in srgb,var(--metric-color) 24%,white); }
.metric-spark i:nth-child(2) { height: 68%; }.metric-spark i:nth-child(3) { height: 42%; }.metric-spark i:nth-child(4) { height: 76%; }.metric-spark i:nth-child(5) { height: 55%; }.metric-spark i:nth-child(6) { height: 88%; }.metric-spark i:nth-child(7) { height: 51%; }.metric-spark i:nth-child(8) { height: 95%; background: var(--metric-color); }

.admin-reference-row { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(350px,.9fr); gap: 16px; }
.admin-reference-row .neo-panel, .admin-reference-bottom .neo-panel { margin: 0; }
.admin-panel-title { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 12px; }
.admin-panel-title h2 { margin: 0 0 3px; color: #152847 !important; font-size: .91rem; }
.admin-panel-title p { margin: 0; color: #8998ae; font-size: .66rem; }
.admin-panel-title a { padding: 7px 11px; border: 1px solid var(--app-border); border-radius: 7px; color: #526783; font-size: .64rem; font-weight: 700; text-decoration: none; }
.admin-dashboard-table .table { font-size: .69rem; }
.admin-dashboard-table .table th { padding: 9px 10px; background: transparent !important; font-size: .59rem; }
.admin-dashboard-table .table td { padding: 10px; }
.admin-dashboard-table td:first-child a { color: var(--app-primary); font-weight: 800; }
.dashboard-status { padding: 4px 7px; border-radius: 999px; font-size: .59rem; }
.dashboard-status.is-processing { background: #eaf4ff; color: #167ee0; }
.admin-top-product-list { display: grid; }
.admin-top-product-list > a { display: grid; grid-template-columns: 24px 36px minmax(0,1fr) auto auto; align-items: center; gap: 8px; min-height: 46px; border-bottom: 1px solid #edf1f6; text-decoration: none; }
.admin-top-product-list > a > b { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 6px; background: #edf5ff; color: var(--app-primary); font-size: .65rem; }
.admin-top-product-list img { width: 34px; height: 32px; object-fit: contain; }
.admin-top-product-list span { overflow: hidden; color: #2b3f5f; font-size: .69rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-top-product-list small { color: #8594aa; font-size: .62rem; }
.admin-top-product-list strong { color: #1684e8; font-size: .68rem; }
.admin-reference-bottom { display: grid; grid-template-columns: 1.05fr .8fr 1.1fr; gap: 16px; }
.inventory-content { display: grid; grid-template-columns: 130px 1fr; align-items: center; gap: 18px; }
.inventory-donut { width: 124px; height: 124px; display: grid; place-items: center; align-content: center; border-radius: 50%; background: radial-gradient(circle at center,#fff 55%,transparent 56%),conic-gradient(#58cf8b 0 62%,#ffbf4d 62% 82%,#ff6d73 82% 92%,#dbe4ef 92%); }
.inventory-donut strong { font-size: 1.25rem; }.inventory-donut span { color: #8998ad; font-size: .63rem; }
.inventory-content ul { margin: 0; padding: 0; display: grid; gap: 9px; list-style: none; color: #61738e; font-size: .67rem; }
.inventory-content li { display: grid; grid-template-columns: 10px 1fr auto; align-items: center; gap: 6px; }
.inventory-content li i { width: 7px; height: 7px; border-radius: 2px; }.inventory-content li i.green{background:#58cf8b}.inventory-content li i.yellow{background:#ffbf4d}.inventory-content li i.red{background:#ff6d73}
.dashboard-categories > div:not(.admin-panel-title) { min-height: 35px; display: grid; grid-template-columns: 26px 1fr auto; align-items: center; gap: 7px; border-bottom: 1px solid #edf1f6; }
.dashboard-categories > div > span { width: 23px; height: 23px; display: grid; place-items:center; border-radius:6px; background:#eef6ff;color:var(--app-primary);font-size:.65rem}.dashboard-categories > div > strong{font-size:.68rem}.dashboard-categories > div > small{color:#8796aa;font-size:.6rem}
.dashboard-quick-actions > div:last-child { display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; }
.dashboard-quick-actions > div:last-child a { min-height: 78px; display: grid; place-items: center; align-content: center; gap: 7px; padding: 8px; border: 1px solid var(--app-border); border-radius: 10px; text-align:center; text-decoration:none; }
.dashboard-quick-actions > div:last-child a:hover { border-color:#badcf5;background:#f8fcff; }
.dashboard-quick-actions > div:last-child span { color:var(--app-primary);font-size:1rem}.dashboard-quick-actions > div:last-child strong{color:#354966;font-size:.61rem}

@media (max-width: 1560px) {
  .neo-admin-global-search { width: min(330px,23vw); }
  .neo-admin-top-links a {
    width: 38px;
    min-width: 38px;
    justify-content: center;
    padding-inline: 0;
    overflow: hidden;
    font-size: 0;
  }
  .neo-admin-top-links a svg { margin: 0; }
  .neo-admin-top-links a span { display: none; }
  .admin-reference-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .storefront-category-ribbon { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .store-product-group-panel .designer-product-mosaic-track { grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
}

@media (max-width: 1050px) {
  :root { --app-sidebar: 205px; }
  .neo-admin-top-user > span:last-child { display: none; }
  .neo-admin-global-search { display: none; }
  .admin-reference-row, .admin-reference-bottom { grid-template-columns: 1fr; }
  .store-product-group-panel .designer-product-mosaic-track { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
}

@media (max-width: 820px) {
  :root { --app-header: 82px; }
  .storefront-header-shell,
  .navbar.storefront-header-shell,
  .navbar.storefront-header-shell.is-scrolled {
    inset: 8px 10px auto !important;
    height: 66px;
    min-height: 66px;
    padding: 0 13px !important;
    border-radius: 14px !important;
  }
  .storefront-header-shell .container-fluid { height: 66px; }
  .denuino-brand { flex-basis: 128px; margin-right: auto !important; }
  .denuino-brand img { width: 126px; }
  body.storefront-desktop .storefront-stage,
  body.storefront-mobile .storefront-stage { padding: 12px 12px 40px !important; }
  .storefront-category-ribbon { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .storefront-category-ribbon > a { min-height: 70px; grid-template-columns: 40px minmax(0,1fr) 12px; padding: 10px; }
  .category-ribbon-icon { width: 40px; height: 40px; }
  .store-section[data-id="hero-banner"],
  .store-section[data-id="hero-banner"] .hero-media-shell,
  .store-section[data-id="hero-banner"] .custom-banner-carousel,
  .store-section[data-id="hero-banner"] .carousel-inner,
  .store-section[data-id="hero-banner"] .carousel-item,
  .store-section[data-id="hero-banner"] .section-media { min-height: 240px !important; height: 240px !important; }
  .store-section[data-id="hero-banner"] .carousel-slide-actions { left: 20px; bottom: 20px; }
  .store-product-group-panel .designer-product-mosaic-track { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 9px; }
  .store-section[data-id="featured-products"] .store-product-group-panel .designer-product-card { min-height: 200px; }
  .store-section[data-id="featured-products"] .designer-product-media { height: 110px !important; }
  .store-section[data-id="featured-products"] .designer-product-card img { height: 106px !important; }
  .store-section[data-id="hero-1778181468934"] .denuino-benefits { grid-template-columns: 1fr !important; }
  .store-section[data-id="hero-1778181468934"] .benefit-card { border-right: 0 !important; border-bottom: 1px solid var(--app-border) !important; }
  .neo-admin { display: block; padding-top: 64px; }
  .neo-admin-topbar { position: fixed; inset: 0 0 auto; height: 64px; padding: 0 13px; overflow-x: auto; }
  .neo-admin-top-brand { flex-basis: 125px; }
  .neo-admin-top-links { margin-left: auto; }
  .neo-admin-top-links a { font-size: 0; min-width: 42px; justify-content: center; }
  .neo-admin-top-links a span { display: inline; font-size: .95rem; }
  .neo-admin-top-user { display: none; }
  .neo-admin-nav { position: relative; top: 0; width: 100%; height: auto; min-height: 0; max-height: none; display: flex; overflow-x: auto; padding: 9px; border-right: 0; border-bottom: 1px solid var(--app-border); }
  .neo-admin-nav > a, .neo-admin-nav > details { flex: 0 0 auto; }
  .neo-admin-nav .neo-nav-subitems { position: absolute; z-index: 20; min-width: 190px; padding: 8px; border: 1px solid var(--app-border); border-radius: 10px; background: #fff; box-shadow: var(--app-shadow-lg); }
  .neo-workspace, .business-workspace { min-height: auto; padding: 14px 12px 28px; }
  .admin-reference-metrics { grid-template-columns: 1fr 1fr; gap: 9px; }
  .admin-metric-card { min-height: 148px; padding: 14px; }
  .admin-metric-card > strong, .admin-metric-card > small { margin-left: 0; }
  .dashboard-quick-actions > div:last-child { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 520px) {
  .storefront-category-ribbon { grid-template-columns: 1fr; }
  .store-product-group-panel .designer-product-mosaic-track { grid-template-columns: 1fr 1fr !important; }
  .admin-reference-metrics { grid-template-columns: 1fr; }
  .inventory-content { grid-template-columns: 1fr; justify-items: center; }
}

/* 2026-08 customer-care, catalog and mobile precision pass */
.storefront-messenger-launcher {
  width: 58px;
  height: 58px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.72) !important;
  border-radius: 50% !important;
  background: radial-gradient(circle at 30% 22%, #55c8ff 0 8%, #1599ed 30%, #0878df 72%, #075fc1 100%) !important;
  box-shadow: 0 12px 30px rgba(10,116,210,.28), inset 0 1px 1px rgba(255,255,255,.55) !important;
}
.storefront-messenger-launcher::after { content:''; position:absolute; inset:5px 8px auto; height:16px; border-radius:50%; background:linear-gradient(180deg,rgba(255,255,255,.38),transparent); pointer-events:none; }
.storefront-messenger-launcher svg { position:relative; z-index:1; width:28px; height:28px; }
.storefront-messenger-hide { position:absolute; right:-5px; top:-7px; width:23px; height:23px; display:grid; place-items:center; padding:0; border:1px solid #dce7ef; border-radius:50%; background:#fff; color:#71839a; box-shadow:0 5px 13px rgba(20,55,88,.12); }
.storefront-messenger-hide svg { width:12px; height:12px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.storefront-messenger-restore { width:32px; height:42px; display:grid; place-items:center; margin-left:auto; padding:0; border:1px solid #dce7ef; border-right:0; border-radius:15px 0 0 15px; background:#fff; color:#168be5; box-shadow:0 8px 22px rgba(25,60,95,.13); }
.storefront-messenger-restore svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; }
.storefront-messenger-restore[hidden],.storefront-messenger-hide[hidden],.storefront-messenger-launcher[hidden] { display:none !important; }
.storefront-messenger-form.is-closed { display:none; }
.storefront-chat-message.chat-farewell p { background:#eaf8f1; color:#24734d; }
.storefront-messenger-form.is-anonymous::before { content:'Správu odosielate anonymne'; color:#7b899b; font-size:.58rem; }

/* The three service banners use one immutable grid so every copy starts at the same x/y coordinates. */
.store-section[data-id="hero-1778181468934"] .benefit-card { align-self:stretch !important; }
.store-section[data-id="hero-1778181468934"] .benefit-text { min-width:0; align-self:center; }
.store-section[data-id="hero-1778181468934"] .benefit-text h3 { text-transform:uppercase; }
.store-section[data-id="hero-1778181468934"] { container-type:inline-size; }
@container (max-width: 880px) {
  .store-section[data-id="hero-1778181468934"] .denuino-benefits { grid-template-columns:1fr !important; gap:0 !important; }
  .store-section[data-id="hero-1778181468934"] .benefit-card,
  .store-section[data-id="hero-1778181468934"] .benefit-card:last-child { min-height:104px !important; grid-template-columns:76px minmax(0,1fr) !important; gap:16px !important; padding:14px 8px !important; border-bottom:1px solid #e2e9f0 !important; }
  .store-section[data-id="hero-1778181468934"] .benefit-card:last-child { border-bottom:0 !important; }
}

/* Product catalog: a single white canvas, deliberate filtering and no nested grey card effect. */
body:has(.products-designer-shell) { background:#fff !important; }
.storefront-stage:has(.products-designer-shell) { background:#fff !important; }
.products-designer-shell { max-width:1500px; gap:28px; }
.products-designer-shell .store-section,
.products-designer-shell .store-block,
.products-designer-shell .page-designer-target[data-page-target="catalog-toolbar"],
.products-designer-shell .page-designer-target[data-page-target="category-tiles"] { border:0 !important; border-radius:0 !important; background:#fff !important; box-shadow:none !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important; }
.product-category-sidebar { border-right:1px solid #e5ebf1; }
.product-category-sidebar .store-block { padding:0 22px 22px 0 !important; }
.catalog-category-overview { padding:8px 0 26px !important; }
.catalog-landing-grid,.category-block-grid { gap:14px !important; }
.catalog-landing-card,.category-block-card { border:1px solid #e2e8ef !important; border-radius:14px !important; background:#fff !important; box-shadow:none !important; }
.catalog-landing-card:hover,.category-block-card:hover { border-color:#9dcff0 !important; box-shadow:0 12px 28px rgba(24,75,113,.08) !important; }
.catalog-landing-card .category-block-media,.category-block-card .category-block-media { background:#f8fafc !important; }
.page-designer-target[data-page-target="catalog-toolbar"] { min-height:0 !important; padding:0 0 22px !important; border-bottom:1px solid #e4eaf0 !important; }
.catalog-toolbar { position:relative; display:grid !important; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:18px; padding:0 !important; border:0 !important; background:#fff !important; box-shadow:none !important; }
.catalog-toolbar h1 { margin:2px 0 0; color:#172d48 !important; font-size:clamp(1.8rem,3vw,2.5rem); }
.catalog-filter-trigger { display:inline-flex; align-items:center; gap:8px; min-height:42px; padding:0 16px; border:1px solid #cfe0ee; border-radius:11px; background:#fff; color:#203b57; font:inherit; font-size:.76rem; font-weight:800; }
.catalog-filter-trigger:hover,.catalog-filter-trigger.is-open { border-color:#168be5; background:#edf7ff; color:#087bd2; }
.catalog-filter-trigger svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.catalog-filter-panel { grid-column:1 / -1; display:grid; gap:16px; padding:18px; border:1px solid #dde7ef; border-radius:15px; background:#fbfdff; }
.catalog-filter-panel[hidden] { display:none !important; }
.catalog-filter-grid-compact { display:grid !important; grid-template-columns:minmax(0,1.35fr) repeat(2,minmax(0,1fr)); gap:12px !important; }
.catalog-filter-card { border:1px solid #e0e8ef !important; border-radius:11px !important; background:#fff !important; box-shadow:none !important; }
.catalog-filter-actions .btn-outline-light { border-color:#d4e0ea !important; color:#526b84 !important; background:#fff !important; }
.page-designer-target[data-page-target="product-list"] { min-height:0 !important; padding:18px 0 !important; }

/* Claims and withdrawals */
.claim-page { background:#fff !important; color:#1b304b; }
.claim-page-shell { width:min(1180px,calc(100% - 32px)); margin:0 auto; padding:34px 0 70px; }
.claim-page-head { display:grid; grid-template-columns:54px minmax(0,1fr); gap:16px; align-items:start; margin:18px 0 28px; }
.claim-page-head h1 { margin:2px 0 8px; color:#172d48; font-size:clamp(1.75rem,3vw,2.45rem); }
.claim-page-head p { max-width:760px; margin:0; color:#6d7f94; line-height:1.6; }
.claim-page-icon { width:54px; height:54px; display:grid; place-items:center; border-radius:15px; background:#eaf6ff; color:#168be5; }
.claim-page-icon svg,.claim-type-picker svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.claim-layout { display:grid; grid-template-columns:280px minmax(0,1fr); gap:22px; align-items:start; }
.claim-product-summary { position:sticky; top:100px; display:grid; gap:8px; padding:20px; border:1px solid #dfe7ef; border-radius:15px; background:#fbfdff; }
.claim-product-summary > small,.claim-product-summary dt,.claim-customer-strip small { color:#8190a3; font-size:.62rem; }
.claim-product-summary > strong { color:#1c3552; font-size:.92rem; }
.claim-product-summary > span { color:#6f8094; font-size:.68rem; }
.claim-product-summary dl { display:grid; gap:8px; margin:12px 0; }
.claim-product-summary dl div { display:flex; justify-content:space-between; gap:10px; padding-top:8px; border-top:1px solid #e6edf3; }
.claim-product-summary dd { margin:0; color:#324a65; font-size:.68rem; font-weight:750; }
.claim-product-summary a { color:#168be5; font-size:.68rem; font-weight:750; text-decoration:none; }
.claim-form { display:grid; gap:16px; }
.claim-type-picker,.claim-question { margin:0; padding:18px; border:1px solid #dfe7ef; border-radius:15px; background:#fff; }
.claim-type-picker { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.claim-type-picker legend,.claim-question legend { float:none; width:auto; margin:0 0 12px; color:#243b57; font-size:.72rem; font-weight:800; }
.claim-type-picker legend { grid-column:1 / -1; }
.claim-type-picker label { position:relative; cursor:pointer; }
.claim-type-picker input { position:absolute; opacity:0; }
.claim-type-picker label > span { height:100%; display:grid; grid-template-columns:34px minmax(0,1fr); gap:2px 10px; padding:14px; border:1px solid #dce6ee; border-radius:12px; }
.claim-type-picker label svg { grid-row:1 / 3; color:#168be5; }
.claim-type-picker label strong { color:#243b57; font-size:.75rem; }
.claim-type-picker label small { color:#7b899b; font-size:.62rem; line-height:1.4; }
.claim-type-picker input:checked + span { border-color:#168be5; background:#f0f8ff; box-shadow:0 0 0 2px rgba(22,139,229,.09); }
.claim-customer-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; padding:15px 18px; border-radius:13px; background:#f4f8fb; }
.claim-customer-strip div { display:grid; gap:3px; padding:0 14px; border-right:1px solid #dfe7ef; }
.claim-customer-strip div:first-child { padding-left:0; }.claim-customer-strip div:last-child { border:0; }
.claim-customer-strip strong { overflow:hidden; color:#334b66; font-size:.69rem; text-overflow:ellipsis; }
.claim-question legend b { color:#e24761; }
.claim-option-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.claim-option-grid label { position:relative; cursor:pointer; }
.claim-option-grid input { position:absolute; opacity:0; }
.claim-option-grid span { min-height:42px; display:flex; align-items:center; padding:9px 12px; border:1px solid #dfe7ef; border-radius:10px; color:#50667f; font-size:.67rem; }
.claim-option-grid input:checked + span { border-color:#168be5; background:#edf7ff; color:#087bd2; font-weight:750; }
.claim-submit { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:16px 18px; border-radius:13px; background:#f4f8fb; }
.claim-submit p { margin:0; color:#7a899b; font-size:.62rem; }
.profile-order-products { display:grid; gap:7px; margin-top:14px; padding-top:12px; border-top:1px solid #e4eaf0; }
.profile-order-products article { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.profile-order-products article > div { min-width:0; display:grid; }.profile-order-products small { color:#8a97a8; font-size:.6rem; }
.profile-claim-list { display:grid; gap:8px; margin-top:22px; }.profile-claim-list h3 { margin:0 0 4px; font-size:.88rem; }.profile-claim-list article { display:flex; justify-content:space-between; gap:12px; padding:12px; border:1px solid #e0e7ee; border-radius:11px; }.profile-claim-list article > div { min-width:0; display:grid; gap:3px; }.profile-claim-list small { color:#8795a7; font-size:.58rem; }.profile-claim-list p { margin:5px 0 0; color:#50677f; font-size:.64rem; }
.claim-status { width:max-content; display:inline-flex; align-items:center; padding:5px 8px; border-radius:999px; background:#fff4db; color:#9c6a00; font-size:.58rem; font-weight:800; white-space:nowrap; }.claim-status-approved,.claim-status-resolved { background:#e8f8ef; color:#167a49; }.claim-status-rejected { background:#fff0f3; color:#ca3550; }
.claims-filter-tabs { display:flex; gap:5px; margin-bottom:16px; padding:5px; border:1px solid #e0e8ef; border-radius:12px; background:#f7fafc; }.claims-filter-tabs a { padding:8px 12px; border-radius:8px; color:#60738b; font-size:.67rem; font-weight:750; text-decoration:none; }.claims-filter-tabs a.active { background:#fff; color:#168be5; box-shadow:0 3px 10px rgba(30,67,101,.08); }
.admin-claim-list { display:grid; gap:14px; }.admin-claim-card { padding:0 !important; overflow:hidden; }.admin-claim-card > header { display:flex; justify-content:space-between; gap:18px; padding:16px 18px; border-bottom:1px solid #e5ebf1; background:#fbfdff; }.admin-claim-card h2 { margin:7px 0 2px; color:#203752; font-size:.9rem; }.admin-claim-card header p,.admin-claim-card time { margin:0; color:#8492a4; font-size:.61rem; }.admin-claim-grid { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:18px; padding:18px; }.admin-claim-data { display:grid; gap:12px; }.claim-customer-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }.claim-customer-row span,.admin-claim-answer { display:grid; gap:3px; padding:11px; border-radius:10px; background:#f5f8fb; }.claim-customer-row small,.admin-claim-answer small { color:#8694a6; font-size:.57rem; }.claim-customer-row strong { overflow:hidden; color:#314963; font-size:.66rem; text-overflow:ellipsis; }.admin-claim-answer p { margin:0; color:#405a75; font-size:.67rem; line-height:1.5; }.admin-claim-decision { align-self:start; display:grid; gap:10px; padding:13px; border:1px solid #e0e8ef; border-radius:12px; background:#fbfdff; }.admin-claim-decision label { display:grid; gap:6px; color:#546a82; font-size:.63rem; font-weight:750; }.admin-claim-decision > div { display:flex; flex-wrap:wrap; gap:7px; }
.claim-question-editor { display:grid; gap:10px; }.claim-question-editor article { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(150px,.6fr) auto auto; gap:10px; align-items:end; padding:14px; border:1px solid #e0e8ef; border-radius:12px; background:#fbfdff; }.claim-question-editor article label { display:grid; gap:5px; color:#60738a; font-size:.62rem; font-weight:750; }.claim-question-editor article .wide { grid-column:1 / 3; }

/* Messenger administration reads like an inbox, with a quiet transcript and a focused action rail. */
.messages-admin-page .admin-chat-inbox { padding:0 !important; overflow:hidden; }
.messages-admin-page .admin-chat-inbox > .content-editor-head { padding:17px 18px; border-bottom:1px solid #e4ebf1; background:#fbfdff; }
.messages-admin-page .admin-chat-thread-list { gap:0; }
.messages-admin-page .admin-chat-thread { border:0; border-bottom:1px solid #e5ebf1; border-radius:0; }
.messages-admin-page .admin-chat-thread:last-child { border-bottom:0; }
.messages-admin-page .admin-chat-thread > summary { min-height:70px; padding:11px 18px; }
.messages-admin-page .admin-chat-thread[open] > summary { background:#f1f8fe; }
.messages-admin-page .admin-chat-thread-body { grid-template-columns:minmax(0,1fr) 290px; min-height:330px; padding:18px; background:#fff; }
.messages-admin-page .admin-chat-transcript { padding:12px; border:1px solid #e5ebf1; border-radius:13px; background:#f8fafc; }
.messages-admin-page .admin-chat-actions-panel { align-self:stretch; align-content:start; padding:14px; background:#fbfdff; }

@media (max-width: 900px) {
  .catalog-filter-grid-compact { grid-template-columns:1fr !important; }
  .claim-layout,.admin-claim-grid { grid-template-columns:1fr; }
  .claim-product-summary { position:static; }
  .messages-admin-page .admin-chat-thread-body { grid-template-columns:1fr; }
}

@media (max-width: 820px) {
  .store-section[data-id="hero-1778181468934"] .denuino-benefits { display:grid !important; grid-template-columns:1fr !important; gap:0 !important; }
  .store-section[data-id="hero-1778181468934"] .benefit-card,
  .store-section[data-id="hero-1778181468934"] .benefit-card:last-child { width:100% !important; min-height:104px !important; grid-template-columns:64px minmax(0,1fr) !important; gap:14px !important; padding:14px 8px !important; align-items:center !important; }
  .store-section[data-id="hero-1778181468934"] .benefit-icon-wrap { width:64px !important; height:64px !important; min-width:64px !important; }
  .store-section[data-id="hero-1778181468934"] .benefit-text { width:100% !important; margin:0 !important; padding:0 !important; }
  .store-section[data-id="hero-1778181468934"] .benefit-text h3 { margin:0 0 5px !important; }
  .store-product-group-panel .designer-product-mosaic-track { align-items:start; }
  .store-section[data-id="featured-products"] .store-product-group-panel .designer-product-card { aspect-ratio:1 / 1 !important; min-height:0 !important; display:grid !important; grid-template-rows:minmax(0,1fr) auto !important; overflow:hidden; }
  .store-section[data-id="featured-products"] .designer-product-media { width:100% !important; height:auto !important; min-height:0 !important; }
  .store-section[data-id="featured-products"] .designer-product-card img { width:100% !important; height:100% !important; min-height:0 !important; object-fit:contain !important; }
  .store-section[data-id="featured-products"] .designer-product-copy { min-width:0; }
  .store-section[data-id="featured-products"] .designer-product-copy strong { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
  .products-designer-shell { padding-inline:4px; }
  .catalog-category-overview { padding-top:0 !important; }
  .catalog-landing-grid,.category-block-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px !important; }
  .catalog-landing-card,.category-block-card { aspect-ratio:1 / 1; display:grid !important; grid-template-rows:minmax(0,1fr) auto; padding:10px !important; }
  .catalog-landing-card .category-block-media,.category-block-card .category-block-media { min-height:0 !important; aspect-ratio:auto !important; margin:0 0 7px !important; }
  .catalog-toolbar { grid-template-columns:1fr auto !important; }
  .catalog-filter-trigger { min-width:0; padding-inline:12px; }
  .catalog-filter-panel { padding:12px; }
  .claim-page-shell { width:min(100% - 20px,760px); padding-top:20px; }
  .claim-page-head { grid-template-columns:44px minmax(0,1fr); }.claim-page-icon { width:44px; height:44px; border-radius:12px; }
  .claim-type-picker,.claim-option-grid,.claim-customer-strip,.claim-customer-row { grid-template-columns:1fr; }
  .claim-customer-strip { gap:8px; }.claim-customer-strip div { padding:0 0 8px; border-right:0; border-bottom:1px solid #dfe7ef; }.claim-customer-strip div:last-child { padding-bottom:0; border:0; }
  .claim-submit { align-items:stretch; flex-direction:column; }.claim-submit .btn { width:100%; }
  .profile-order-products article { align-items:flex-start; flex-direction:column; }.profile-order-products .btn { width:100%; }
  .claim-question-editor article { grid-template-columns:1fr; }.claim-question-editor article .wide { grid-column:auto; }
}

/* Catalog, product, checkout and configuration pages share the same Air UI */
.product-catalog-main > .store-section,
.catalog-category-overview,
.page-designer-target[data-page-target="product-list"] {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.catalog-category-overview { padding: 4px 0 8px !important; }
.catalog-landing-grid { gap: 12px !important; }
.catalog-landing-card {
  min-height: 98px !important;
  padding: 13px !important;
  border: 1px solid var(--app-border) !important;
  border-radius: 13px !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: 0 5px 17px rgba(30,72,120,.035) !important;
}

.catalog-landing-card:hover {
  border-color: #b8d9f4 !important;
  box-shadow: 0 9px 24px rgba(30,100,160,.07) !important;
  transform: translateY(-2px);
}

.catalog-toolbar,
.page-designer-target[data-page-target="catalog-toolbar"] {
  padding: 18px 20px !important;
  border-color: var(--app-border) !important;
  border-radius: 14px !important;
  box-shadow: 0 6px 22px rgba(30,72,120,.035) !important;
}

.catalog-filter-grid { gap: 10px !important; }
.catalog-filter-card {
  padding: 11px 13px !important;
  border: 1px solid #e6edf5 !important;
  border-radius: 10px !important;
  background: #fbfdff !important;
}

.product-grid,
.page-designer-target[data-page-target="product-list"] .product-grid {
  grid-template-columns: repeat(auto-fill,minmax(210px,1fr)) !important;
  gap: 14px !important;
}

.product-card {
  border-color: #dce4ed !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

.product-card:hover {
  border-color: #aecdE8 !important;
  box-shadow: 0 9px 26px rgba(37,91,145,.055) !important;
  transform: translateY(-2px);
}

.product-image {
  min-height: 195px;
  padding: 14px;
  border-bottom: 0;
}

.product-image img { height: 185px; }
.product-body { padding: 13px 15px 15px; }
.product-card .product-description { color: #6f7f93 !important; }
.product-card-btn { border-radius: 8px !important; }

.product-detail-page { max-width: 1500px !important; }
.detail-image-shell {
  overflow: hidden;
  border-color: #e1e8f0;
  border-radius: 18px;
  box-shadow: 0 9px 32px rgba(30,72,120,.04);
}
.detail-image-button .detail-image { border-radius: 18px !important; }
.product-thumb-button,
.product-thumb-button img { border-radius: 9px !important; }
.product-description-panel {
  padding: clamp(20px,3vw,34px) !important;
  border: 1px solid var(--app-border) !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 7px 25px rgba(30,72,120,.035) !important;
}
.product-meta-item { border-radius: 9px; background: #fbfdff; }

.checkout-shell {
  padding: 10px 0 42px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.checkout-hero { margin-bottom: 18px; }
.checkout-panel,
.checkout-summary-card,
.checkout-side-panel,
.checkout-product-card {
  border: 1px solid var(--app-border) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 6px 22px rgba(30,72,120,.035) !important;
}
.checkout-product-card { box-shadow: none !important; }
.checkout-step { min-height: 60px; border-radius: 11px !important; }

.neo-admin input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
.neo-admin select,
.neo-admin textarea {
  border: 1px solid #dfe7f0 !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: #1d304e !important;
  box-shadow: none !important;
}
.neo-admin input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
.neo-admin select { min-height: 40px; }
.neo-admin input:focus,
.neo-admin select:focus,
.neo-admin textarea:focus {
  border-color: #70b8ef !important;
  box-shadow: 0 0 0 3px rgba(36,148,231,.11) !important;
  outline: 0;
}
.neo-admin label { color: #405570 !important; font-size: .76rem; font-weight: 700; }
.neo-admin .form-text,
.neo-admin .text-muted { color: #8190a5 !important; }

.neo-tabs,
.settings-subnav {
  gap: 5px !important;
  padding: 5px !important;
  border: 1px solid #e4ebf4 !important;
  border-radius: 11px !important;
  background: #f7faff !important;
  box-shadow: none !important;
}
.neo-tabs a,
.neo-tabs button,
.settings-subnav .btn {
  min-height: 36px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #62738c !important;
  box-shadow: none !important;
}
.neo-tabs a.active,
.neo-tabs button.active,
.settings-subnav .btn.active {
  background: #fff !important;
  color: var(--app-primary) !important;
  box-shadow: 0 3px 12px rgba(35,81,128,.08) !important;
}

.neo-admin .table { --bs-table-bg: transparent; color: #334963; }
.neo-admin .table > :not(caption) > * > * { border-bottom-color: #edf1f6; }
.neo-admin .table thead th {
  padding-block: 10px;
  background: #f8fbfe !important;
  color: #74849a;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.neo-admin .table tbody tr:hover > * { background: #f9fcff !important; }

.neo-product-editor-full,
.admin-form,
.settings-form { max-width: none !important; }
.product-editor-head { align-items: center; }
.product-toolbar { gap: 7px !important; }
.product-media-layout,
.product-selection-layout { gap: 16px !important; }
.inset-panel,
.selection-panel,
.media-editor-card,
.method-editor-card {
  border-radius: 11px !important;
  background: #fbfdff !important;
}
.neo-admin .btn-primary,
.neo-admin .btn-dark {
  border-color: var(--app-primary) !important;
  background: linear-gradient(135deg,#20a3ed,#087ee2) !important;
  color: #fff !important;
  box-shadow: 0 6px 16px rgba(19,132,222,.16) !important;
}
.neo-admin .btn-outline-light,
.neo-admin .btn-outline-secondary {
  border-color: #dce5ef !important;
  background: #fff !important;
  color: #53677f !important;
}

@media (max-width: 820px) {
  .product-grid,
  .page-designer-target[data-page-target="product-list"] .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .product-detail-page { width: calc(100% - 24px) !important; padding-block: 20px !important; }
  .checkout-shell { padding-inline: 0 !important; }
  .neo-tabs,
  .settings-subnav { flex-wrap: nowrap !important; overflow-x: auto; }
}

@media (max-width: 480px) {
  .product-grid,
  .page-designer-target[data-page-target="product-list"] .product-grid { grid-template-columns: 1fr !important; }
}

/* Layout contract — keeps admin width controls authoritative */
body.storefront-content-contained .storefront-shell {
  width: 100%;
  max-width: 1510px !important;
}

body.storefront-content-full .storefront-stage {
  padding-inline: clamp(14px, 2vw, 36px) !important;
}

body.storefront-content-full .storefront-shell {
  width: 100%;
  max-width: none !important;
}

body.storefront-navbar-full {
  --app-header: 94px;
}

body.storefront-navbar-full .storefront-header-shell,
body.storefront-navbar-full .navbar.storefront-header-shell,
body.storefront-navbar-full .navbar.storefront-header-shell.is-scrolled {
  inset: 0 0 auto !important;
  width: 100% !important;
  height: 82px;
  min-height: 82px;
  border-top: 0 !important;
  border-right: 0 !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  box-shadow: 0 8px 28px rgba(36,76,118,.055) !important;
}

body.storefront-navbar-full .storefront-header-shell .container-fluid {
  width: min(100%, 1800px);
  max-width: none;
  margin-inline: auto;
}

/* Home grid: every primary block spans the full content track */
.store-sections > .storefront-category-ribbon,
.store-sections > [data-id="hero-banner"],
.store-sections > [data-id="featured-products"],
.store-sections > [data-id="hero-1778181468934"],
.store-sections > [data-id="usp-grid"] {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: none !important;
}

.storefront-category-ribbon {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  min-width: 0;
}

/* The carousel owns the complete banner surface; no leftover section background */
.store-section[data-id="hero-banner"] {
  aspect-ratio: 1818 / 865 !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 1px solid #e5edf5 !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: 0 14px 42px rgba(32,76,120,.055) !important;
}

.store-section[data-id="hero-banner"] .hero-media-shell,
.store-section[data-id="hero-banner"] .custom-banner-carousel,
.store-section[data-id="hero-banner"] .carousel-inner,
.store-section[data-id="hero-banner"] .carousel-item,
.store-section[data-id="hero-banner"] .section-media,
.store-section[data-id="hero-banner"] .carousel-item img {
  position: relative;
  inset: auto;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
}

.store-section[data-id="hero-banner"] .hero-media-shell,
.store-section[data-id="hero-banner"] .custom-banner-carousel {
  position: absolute;
  inset: 0;
}

.store-section[data-id="hero-banner"] .section-media,
.store-section[data-id="hero-banner"] .carousel-item img {
  display: block;
  object-fit: contain !important;
  object-position: center !important;
  background: #fff !important;
}

.store-section[data-id="hero-banner"] .hero-content-layer:empty {
  display: none !important;
}

.store-section[data-id="hero-banner"]:hover {
  transform: none !important;
  border-color: #dce7f1 !important;
  box-shadow: 0 14px 42px rgba(32,76,120,.055) !important;
}

/* Admin appearance controls */
.appearance-layout-groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.appearance-layout-group {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.appearance-layout-group legend {
  margin-bottom: 9px;
  color: #405570;
  font-size: .76rem;
  font-weight: 800;
}

.appearance-layout-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.appearance-layout-card {
  position: relative;
  display: grid;
  align-content: start;
  gap: 7px;
  min-height: 154px;
  padding: 13px;
  border: 1px solid var(--app-border);
  border-radius: 12px;
  background: #fff;
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.appearance-layout-card:hover {
  border-color: #b9d9f1;
  transform: translateY(-1px);
}

.appearance-layout-card:has(input:checked) {
  border-color: var(--app-primary);
  box-shadow: 0 0 0 3px rgba(24,145,229,.10);
}

.appearance-layout-card input {
  position: absolute;
  top: 11px;
  right: 11px;
}

.appearance-layout-card strong { color: #203652; font-size: .8rem; }
.appearance-layout-card small { color: #7e8fa5; font-size: .68rem; line-height: 1.4; }

.layout-preview {
  position: relative;
  height: 56px;
  overflow: hidden;
  border: 1px solid #dfe8f2;
  border-radius: 8px;
  background: #f7faff;
}

.layout-preview i,
.layout-preview b {
  position: absolute;
  display: block;
  border-radius: 3px;
}

.layout-preview i { top: 7px; height: 9px; background: #8dccf5; }
.layout-preview b { top: 22px; bottom: 7px; background: #fff; border: 1px solid #dfe8f2; }
.layout-preview-content-contained i,
.layout-preview-content-contained b { left: 17%; right: 17%; }
.layout-preview-content-full i,
.layout-preview-content-full b { left: 5%; right: 5%; }
.layout-preview-nav-contained i { left: 16%; right: 16%; }
.layout-preview-nav-contained b,
.layout-preview-nav-full b { left: 7%; right: 7%; }
.layout-preview-nav-full i { left: 0; right: 0; border-radius: 0; }

@media (max-width: 1050px) {
  .storefront-category-ribbon { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .appearance-layout-groups { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  body.storefront-navbar-full { --app-header: 72px; }
  body.storefront-navbar-full .storefront-header-shell,
  body.storefront-navbar-full .navbar.storefront-header-shell,
  body.storefront-navbar-full .navbar.storefront-header-shell.is-scrolled {
    inset: 0 !important;
    height: 64px;
    min-height: 64px;
    border-radius: 0 !important;
  }
  .store-section[data-id="hero-banner"] { border-radius: 14px !important; }
  .appearance-layout-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
  .storefront-category-ribbon { grid-template-columns: 1fr 1fr; }
  .appearance-layout-grid { grid-template-columns: 1fr; }
}

/* Configurable homepage compositions */
@media (min-width: 1051px) {
  body.storefront-content-contained .storefront-shell {
    grid-template-columns: minmax(220px, 250px) minmax(0, 1fr) !important;
    gap: 22px !important;
  }
  body.storefront-content-contained .storefront-shell > [data-zone="sidebar-left"] {
    display: grid !important;
    grid-column: 1;
    grid-row: 1;
  }
  body.storefront-content-contained .storefront-shell > .store-sections {
    grid-column: 2;
    grid-row: 1;
  }
  body.storefront-content-contained .storefront-shell > [data-zone="sidebar-right"] { display: none !important; }

  body.storefront-content-contained-right .storefront-shell {
    width: 100%;
    max-width: 1510px !important;
    grid-template-columns: minmax(0, 1fr) minmax(235px, 275px) !important;
    gap: 22px !important;
  }
  body.storefront-content-contained-right .storefront-shell > [data-zone="sidebar-left"] { display: none !important; }
  body.storefront-content-contained-right .storefront-shell > .store-sections {
    grid-column: 1;
    grid-row: 1;
  }
  body.storefront-content-contained-right .storefront-shell > [data-zone="sidebar-right"] {
    display: grid !important;
    grid-column: 2;
    grid-row: 1;
  }

  body.storefront-content-contained-both .storefront-shell {
    width: 100%;
    max-width: 1680px !important;
    grid-template-columns: minmax(205px, 235px) minmax(0, 1fr) minmax(225px, 260px) !important;
    gap: 18px !important;
  }
  body.storefront-content-contained-both .storefront-shell > [data-zone="sidebar-left"] {
    display: grid !important;
    grid-column: 1;
    grid-row: 1;
  }
  body.storefront-content-contained-both .storefront-shell > .store-sections {
    grid-column: 2;
    grid-row: 1;
  }
  body.storefront-content-contained-both .storefront-shell > [data-zone="sidebar-right"] {
    display: grid !important;
    grid-column: 3;
    grid-row: 1;
  }

  body.storefront-content-centered .storefront-shell {
    width: 100%;
    max-width: 1320px !important;
    grid-template-columns: minmax(0,1fr) !important;
  }
  body.storefront-content-centered .storefront-shell > .store-sidebar,
  body.storefront-content-full .storefront-shell > .store-sidebar { display: none !important; }
}

.storefront-shell > .store-sidebar {
  align-self: start;
  align-content: start;
  gap: 14px;
  padding-top: 20px;
  position: relative !important;
  top: auto !important;
  z-index: 5;
}

.storefront-shell > .store-sidebar .store-block {
  width: 100%;
  min-width: 0;
  margin: 0 !important;
  padding: 16px !important;
  overflow: hidden;
  border: 1px solid #e1e9f1 !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: #263b57 !important;
  box-shadow: 0 7px 24px rgba(30,72,120,.04) !important;
  transform: none !important;
}

.storefront-shell > .store-sidebar .store-block:hover {
  border-color: #bddaf0 !important;
  box-shadow: 0 10px 28px rgba(30,85,140,.065) !important;
}

.storefront-shell > .store-sidebar .store-block h3 {
  margin: 0 0 12px;
  color: #172c48 !important;
  font-size: .9rem;
  font-weight: 800;
}

.storefront-shell > .store-sidebar .dn-side-poll,
.storefront-shell > .store-sidebar [class*="dn-side-poll-"] {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #263b57 !important;
  box-shadow: none !important;
  transform: none !important;
}

.storefront-shell > .store-sidebar .dn-side-poll h3,
.storefront-shell > .store-sidebar [class*="dn-side-poll-"] h3 { font-size: 1rem !important; }
.storefront-shell > .store-sidebar .dn-side-poll p,
.storefront-shell > .store-sidebar [class*="dn-side-poll-"] p { color: #708198 !important; font-size: .76rem !important; }
.managed-sidebar-poll { color: #263b57; }
.managed-poll-heading h3 { color: #172c48 !important; font-size: .92rem; }
.managed-poll-heading p { color: #708198 !important; font-size: .74rem; }

/* Glass opacity is independent from blur */
.storefront-theme-glass .storefront-header-shell,
.storefront-theme-glass .navbar.storefront-header-shell,
.storefront-theme-glass .navbar.storefront-header-shell.is-scrolled {
  background: color-mix(in srgb, var(--store-nav-bg, #ffffff) var(--store-nav-opacity, 72%), transparent) !important;
  -webkit-backdrop-filter: blur(var(--store-nav-blur, 18px)) saturate(155%) !important;
  backdrop-filter: blur(var(--store-nav-blur, 18px)) saturate(155%) !important;
}

/* Square, information-rich layout previews */
.appearance-layout-groups { grid-template-columns: 1fr; }
.appearance-layout-group-wide { margin-bottom: 20px; }
.appearance-layout-grid-five { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.appearance-layout-grid-nav { grid-template-columns: repeat(2, minmax(0, 300px)); }
.appearance-layout-card {
  min-height: 0;
  padding: 12px;
}
.appearance-layout-card .layout-preview {
  width: min(100%, 150px);
  height: auto;
  aspect-ratio: 1 / 1;
  justify-self: center;
}
.appearance-layout-card-horizontal {
  grid-template-columns: 74px minmax(0,1fr);
  align-items: center;
  min-height: 100px;
}
.appearance-layout-card-horizontal .layout-preview { width: 70px; }
.appearance-layout-card-horizontal > span:last-child { display: grid; gap: 5px; }

.layout-preview > i { top: 8px; left: 8px; right: 8px; height: 10px; }
.layout-preview > b { top: 24px; bottom: 8px; }
.layout-preview > em {
  position: absolute;
  top: 24px;
  bottom: 8px;
  display: block;
  border: 1px solid #d8e5f0;
  border-radius: 3px;
  background: #eaf5fd;
}
.layout-preview-left > b { left: 35%; right: 8px; }
.layout-preview-left > em { left: 8px; width: 22%; }
.layout-preview-right > b { left: 8px; right: 35%; }
.layout-preview-right > em { right: 8px; width: 22%; }
.layout-preview-both > b { left: 29%; right: 29%; }
.layout-preview-both > em { left: 8px; width: 15%; box-shadow: calc(150px - 41px) 0 0 -1px #eaf5fd; }
.layout-preview-centered > b { left: 19%; right: 19%; }
.layout-preview-centered > em { display: none; }
.layout-preview-full > b { left: 8px; right: 8px; }
.layout-preview-full > em { display: none; }
.appearance-field-note { margin: 12px 0 0; color: #7d8da2; font-size: .72rem; }

.sidebar-layout-editor { display: grid; gap: 9px; }
.sidebar-layout-row {
  display: grid;
  grid-template-columns: 62px minmax(180px,1fr) minmax(140px,190px) auto auto;
  align-items: center;
  gap: 13px;
  padding: 10px;
  border: 1px solid #e2eaf3;
  border-radius: 12px;
  background: #fbfdff;
}
.sidebar-layout-preview {
  width: 58px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid #dfe8f1;
  border-radius: 10px;
  background: #eef7ff;
  color: var(--app-primary);
  font-size: 1.25rem;
}
.sidebar-layout-preview img { width: 100%; height: 100%; object-fit: cover; }
.sidebar-layout-copy { display: grid; gap: 3px; min-width: 0; }
.sidebar-layout-copy strong { overflow: hidden; color: #263b57; font-size: .8rem; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-layout-copy small { color: #8291a5; font-size: .66rem; }
.sidebar-layout-area { display: grid; gap: 4px; }
.sidebar-layout-visible { margin: 0; }
.sidebar-order-actions { display: flex; gap: 5px; }
.sidebar-order-actions .btn { width: 34px; height: 34px; padding: 0 !important; }

.appearance-color-block {
  margin-top: 24px;
  padding-top: 22px;
  border-top: 1px solid #e3ebf3;
}
.appearance-subsection-title {
  display: grid;
  gap: 4px;
  margin-bottom: 16px;
}
.appearance-subsection-title strong { color: #172c48; font-size: .9rem; }
.appearance-subsection-title small { color: #7d8da2; font-size: .72rem; }
.appearance-color-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.homepage-order-editor { display: grid; gap: 9px; }
.homepage-order-row {
  display: grid;
  grid-template-columns: 26px 42px minmax(180px, 1fr) auto auto;
  align-items: center;
  gap: 13px;
  min-height: 64px;
  padding: 9px 11px;
  border: 1px solid #e2eaf3;
  border-radius: 12px;
  background: #fbfdff;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.homepage-order-row:hover {
  border-color: #bddcf2;
  background: #fff;
  transform: translateY(-1px);
}
.homepage-order-handle {
  color: #a1afbf;
  font-size: 1rem;
  letter-spacing: -4px;
}
.homepage-order-icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border: 1px solid #dceaf5;
  border-radius: 10px;
  background: #edf7ff;
  color: var(--app-primary);
  font-weight: 800;
}
.homepage-order-row > div:not(.homepage-order-actions) { display: grid; gap: 3px; min-width: 0; }
.homepage-order-row > div > strong { color: #263b57; font-size: .8rem; }
.homepage-order-row > div > small { color: #8b99aa; font-size: .65rem; }
.homepage-order-actions { display: flex; gap: 5px; }
.homepage-order-actions .btn { width: 34px; height: 34px; padding: 0 !important; }

/* Every homepage block participates in the saved vertical order. */
.store-sections > .storefront-category-ribbon,
.store-sections > .store-section,
.store-sections > .footer-in-home-flow {
  order: var(--home-order, 50) !important;
}
.home-footer-slot { display: none; }
.store-sections > .footer-in-home-flow {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 28px 18px !important;
  overflow: hidden;
  border: 1px solid #e1e9f1 !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg, #fbfdff 0%, #f6f9fc 100%) !important;
}
.store-sections > .footer-in-home-flow .footer-shell,
.store-sections > .footer-in-home-flow .footer-bottom-ribbon {
  width: 100%;
  max-width: none;
}

/* The visual editor is intentionally focused on arrangement only. */
.designer-layout-only-panel {
  display: grid;
  gap: 13px;
  padding: 18px;
}
.designer-layout-kicker {
  color: #168ce1;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.designer-layout-only-panel h3 { margin: 0; color: #172c48; font-size: 1rem; }
.designer-layout-only-panel p { margin: 0; color: #697c93; font-size: .76rem; line-height: 1.55; }
.designer-layout-help { display: grid; gap: 7px; }
.designer-layout-help span {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #435a76;
  font-size: .73rem;
  font-weight: 700;
}
.designer-layout-help b {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #eaf6ff;
  color: #168ce1;
  font-size: .67rem;
}
.designer-overlay .designer-palette,
.designer-overlay .designer-editor { display: none !important; }
.designer-overlay {
  width: min(340px, calc(100vw - 32px)) !important;
  color: #263b57 !important;
  border: 1px solid #dbe6f0 !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: 0 24px 70px rgba(30,72,120,.18) !important;
  -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
  backdrop-filter: blur(18px) saturate(145%) !important;
}
.designer-overlay .designer-panel-head {
  padding: 13px 16px !important;
  border-bottom: 1px solid #e3eaf2 !important;
  background: transparent !important;
  color: #172c48 !important;
}
.designer-overlay .designer-panel-head button {
  border: 1px solid #dbe5ee !important;
  background: #f5f8fb !important;
  color: #647991 !important;
}
.designer-topbar {
  border: 1px solid #dbe7f1 !important;
  background: rgba(255,255,255,.94) !important;
  color: #172c48 !important;
  box-shadow: 0 16px 45px rgba(30,72,120,.14) !important;
}
.designer-topbar-copy span { color: #73849a !important; }
.designer-active .designer-item {
  outline: 1px dashed #9bcdf0 !important;
  outline-offset: 4px;
}
.designer-active .designer-item:hover,
.designer-active .designer-item.selected {
  outline: 2px solid #2999e8 !important;
  box-shadow: 0 0 0 6px rgba(41,153,232,.1), 0 18px 44px rgba(30,72,120,.12) !important;
}
.designer-active .designer-handle {
  padding: 6px 10px;
  border: 1px solid #cfe4f4;
  background: rgba(255,255,255,.94);
  color: #168ce1;
  box-shadow: 0 7px 20px rgba(30,72,120,.12);
}
.designer-active .store-sections > .storefront-category-ribbon,
.designer-active .store-sections > .store-section,
.designer-active .store-sections > .footer-in-home-flow {
  order: initial !important;
}

/* Premium lower content/footer: calm surface, no floating grey cards */
.footer {
  margin-top: 30px !important;
  padding: 0 clamp(18px,4vw,72px) 24px !important;
  border-top: 1px solid #e2eaf2 !important;
  background: linear-gradient(180deg,#f8fbfe 0%,#f4f8fc 100%) !important;
  color: #5f7189 !important;
}
.footer-shell {
  max-width: 1510px;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 0;
  padding: 42px 0 34px;
}
.footer-column {
  min-height: 0;
  padding: 4px clamp(20px,2.4vw,38px) !important;
  border: 0 !important;
  border-right: 1px solid #e1e9f1 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #60738b !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
.footer-column:first-child { padding-left: 0 !important; }
.footer-column:last-child { padding-right: 0 !important; border-right: 0 !important; }
.footer h3 {
  margin-bottom: 18px;
  color: #172c48 !important;
  font-size: .92rem !important;
  letter-spacing: -.015em;
}
.footer a,
.footer p,
.footer li { color: #687b92 !important; font-size: .82rem; line-height: 1.55; }
.footer-contact-row,
.footer-page-card,
.footer .denuino-contact-item {
  min-height: 34px !important;
  padding: 5px 0 !important;
  background: transparent !important;
  color: #687b92 !important;
  box-shadow: none !important;
  transform: none !important;
}
.footer-contact-row:hover,
.footer-page-card:hover,
.footer .denuino-contact-item:hover { color: var(--app-primary) !important; transform: translateX(2px) !important; }
.footer .denuino-contact-box { max-width: none !important; padding: 0 !important; color: inherit !important; }
.footer .denuino-contact-icon { color: var(--app-primary) !important; }
.footer-support-card {
  gap: 12px;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.footer-flag-row { gap: 7px; }
.footer-flag-row img {
  width: 48px !important;
  height: 30px !important;
  border: 1px solid #dce5ee;
  border-radius: 6px !important;
  box-shadow: 0 3px 8px rgba(30,72,120,.07) !important;
}
.footer-bottom-ribbon {
  max-width: 1510px;
  margin-top: 0;
  padding-top: 18px;
  border-top: 1px solid #dfe7ef;
}
.footer-bottom-copy { color: #8a98aa !important; font-size: .72rem; }
body.storefront-content-full .footer-shell,
body.storefront-content-full .footer-bottom-ribbon { max-width: none; }

@media (max-width: 1250px) {
  .appearance-layout-grid-five { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .sidebar-layout-row { grid-template-columns: 56px minmax(160px,1fr) 150px auto; }
  .sidebar-order-actions { grid-column: 2 / -1; justify-content: flex-end; }
  .appearance-color-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1050px) {
  .storefront-shell > .store-sidebar { display: none !important; }
  .storefront-shell { grid-template-columns: minmax(0,1fr) !important; }
  .appearance-layout-grid-five { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .footer-shell { grid-template-columns: repeat(2,minmax(0,1fr)); row-gap: 32px; }
  .footer-column:nth-child(2) { border-right: 0 !important; }
  .footer-column:nth-child(3) { padding-left: 0 !important; }
}

@media (max-width: 720px) {
  .appearance-layout-grid-five,
  .appearance-layout-grid-nav { grid-template-columns: 1fr; }
  .sidebar-layout-row { grid-template-columns: 52px minmax(0,1fr) auto; }
  .sidebar-layout-area { grid-column: 1 / -1; }
  .sidebar-layout-visible { grid-column: 3; grid-row: 1; }
  .sidebar-order-actions { grid-column: 1 / -1; }
  .appearance-color-grid { grid-template-columns: 1fr; }
  .homepage-order-row { grid-template-columns: 24px 40px minmax(0,1fr) auto; }
  .homepage-order-row > .neo-switch { grid-column: 3; }
  .homepage-order-actions { grid-column: 4; grid-row: 1 / span 2; }
  .footer-shell { grid-template-columns: 1fr; padding-block: 32px; }
  .footer-column,
  .footer-column:first-child,
  .footer-column:nth-child(3),
  .footer-column:last-child { padding: 20px 0 !important; border-right: 0 !important; border-bottom: 1px solid #e1e9f1 !important; }
  .footer-column:last-child { border-bottom: 0 !important; }
}

/* 2026-08 admin chrome, support messenger and edge-aligned welcome content */
.store-section[data-id="usp-grid"] { padding-inline: 0 !important; }
.store-section[data-id="usp-grid"] .managed-welcome-banner {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
}

.neo-admin-topbar { gap: 16px; padding-inline: 18px; }
.neo-admin-top-brand { flex-basis: 190px; gap: 11px; }
.neo-admin-top-logo { overflow: hidden; border: 0; background: transparent; }
.neo-admin-top-logo img { width: 32px; height: 32px; display: block; object-fit: contain; }
.neo-admin-global-search {
  width: min(370px, 25vw);
  height: 40px;
  grid-template-columns: 20px minmax(0, 1fr) 22px;
  gap: 7px;
  padding: 0 11px;
  border-color: #e3eaf3;
  border-radius: 12px;
  background: #f6f8fb;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.neo-admin-global-search:focus-within { border-color: #9dcef5; background: #fff; box-shadow: 0 0 0 3px rgba(35, 142, 229, .1); }
.neo-admin-global-search > svg { width: 18px; height: 18px; }
.neo-admin-global-search input { height: 38px; padding: 0; font-size: .78rem; }
.neo-admin-global-search input::placeholder { color: #96a3b5; }
.neo-admin-global-search kbd { width: 20px; height: 20px; border: 0; background: #eaf0f6; box-shadow: none; }
.neo-admin-top-links { gap: 1px; }
.neo-admin-top-links a { gap: 6px; padding-inline: 8px; }
.neo-admin-top-links a > svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.neo-admin-top-user { gap: 4px; }
.admin-top-notification,
.admin-user-menu { position: relative; }
.admin-top-notification > summary,
.admin-user-menu > summary { list-style: none; cursor: pointer; }
.admin-top-notification > summary::-webkit-details-marker,
.admin-user-menu > summary::-webkit-details-marker { display: none; }
.admin-top-notification > summary {
  position: relative;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: #526680;
  transition: color .18s ease, background .18s ease;
}
.admin-top-notification > summary:hover,
.admin-top-notification[open] > summary { color: var(--app-primary); background: #edf7ff; }
.admin-top-notification > summary svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.admin-top-notification > summary b {
  position: absolute;
  top: 1px;
  right: 0;
  min-width: 17px;
  height: 17px;
  display: grid;
  place-items: center;
  padding: 0 4px;
  border: 2px solid #fff;
  border-radius: 999px;
  background: #ef476f;
  color: #fff;
  font-size: .56rem;
}
.admin-notification-popover,
.admin-user-menu > div {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  z-index: 40;
  width: 330px;
  overflow: hidden;
  padding: 8px;
  border: 1px solid #dfe7f0;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(25, 53, 83, .16);
}
.admin-notification-popover header { display: flex; align-items: center; justify-content: space-between; padding: 7px 8px 10px; }
.admin-notification-popover header strong { font-size: .76rem; }
.admin-notification-popover header a { color: var(--app-primary); font-size: .66rem; font-weight: 750; text-decoration: none; }
.admin-notification-popover > a { min-height: 52px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 10px; padding: 9px; border-radius: 9px; color: #1d3551; text-decoration: none; }
.admin-notification-popover > a:hover { background: #f4f9fd; }
.admin-notification-popover > a span { overflow: hidden; font-size: .7rem; font-weight: 780; text-overflow: ellipsis; white-space: nowrap; }
.admin-notification-popover > a small { grid-column: 1; overflow: hidden; color: #8290a3; font-size: .62rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-notification-popover > a strong { grid-column: 2; grid-row: 1 / 3; align-self: center; color: var(--app-primary); font-size: .68rem; }
.admin-notification-empty { margin: 0; padding: 18px 10px; color: #8795a8; font-size: .68rem; text-align: center; }
.admin-user-menu > summary { min-width: 154px; display: grid; grid-template-columns: 34px minmax(0, 1fr) 16px; align-items: center; gap: 8px; padding: 4px 6px; border-radius: 11px; }
.admin-user-menu > summary:hover,
.admin-user-menu[open] > summary { background: #f4f8fc; }
.admin-user-menu > summary > span:nth-child(2) { min-width: 0; display: grid; }
.admin-user-menu > summary strong { overflow: hidden; color: #1d3551; font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-user-menu > summary small { color: #8a98ab; font-size: .59rem; }
.admin-user-menu > summary > svg { width: 15px; height: 15px; fill: none; stroke: #8290a3; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.admin-user-menu > div { width: 190px; }
.admin-user-menu > div a { display: flex; align-items: center; gap: 9px; padding: 10px; border-radius: 8px; color: #334a65; font-size: .7rem; font-weight: 720; text-decoration: none; }
.admin-user-menu > div a:hover { background: #fff0f2; color: #d53c57; }
.admin-user-menu > div svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.neo-orbit { overflow: hidden; }
.neo-orbit img { width: 100%; height: 100%; object-fit: contain; }
.neo-store-preview span svg { width: 17px; height: 17px; display: block; }

.settings-branding-card { display: flex; align-items: center; gap: 16px; padding: 15px; border: 1px solid #e0e8f1; border-radius: 13px; background: #f9fbfd; }
.settings-icon-preview { width: 64px; height: 64px; flex: 0 0 64px; display: grid; place-items: center; padding: 8px; border: 1px solid #e0e8f1; border-radius: 14px; background: #fff; }
.settings-icon-preview img { width: 100%; height: 100%; object-fit: contain; }
.settings-branding-card > div { display: grid; gap: 5px; }
.settings-branding-card strong { color: #1b304b; font-size: .82rem; }
.settings-branding-card p { margin: 0; color: #7a8a9e; font-size: .68rem; }
.settings-file-button { width: max-content; margin-top: 4px; padding: 8px 11px; border: 1px solid #cfe2f3; border-radius: 8px; background: #fff; color: #1687e2; font-size: .67rem; font-weight: 750; cursor: pointer; }
.settings-file-button input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.settings-chat-fields { margin-top: 14px; }

.storefront-messenger { position: fixed; right: 24px; bottom: 22px; z-index: 5200; font-family: var(--app-font); }
.storefront-messenger-launcher { position: relative; width: 56px; height: 56px; display: grid; place-items: center; margin-left: auto; border: 0; border-radius: 18px; background: linear-gradient(145deg, #179bea, #0877df); color: #fff; box-shadow: 0 16px 38px rgba(12, 121, 218, .3); transition: transform .18s ease, box-shadow .18s ease; }
.storefront-messenger-launcher:hover { transform: translateY(-2px); box-shadow: 0 20px 44px rgba(12, 121, 218, .38); }
.storefront-messenger-launcher svg { width: 27px; height: 27px; }
.storefront-messenger-pulse { position: absolute; top: 3px; right: 3px; width: 11px; height: 11px; border: 2px solid #fff; border-radius: 50%; background: #34c77b; }
.storefront-messenger-panel { position: absolute; right: 0; bottom: 68px; width: min(370px, calc(100vw - 28px)); overflow: hidden; border: 1px solid #dce6ef; border-radius: 20px; background: #fff; box-shadow: 0 24px 70px rgba(22, 50, 79, .22); }
.storefront-messenger-panel[hidden] { display: none !important; }
.storefront-messenger-panel > header { display: grid; grid-template-columns: 42px minmax(0, 1fr) 32px; align-items: center; gap: 10px; padding: 14px 15px; border-bottom: 1px solid #edf1f5; background: linear-gradient(135deg, #f7fbff, #fff); }
.storefront-messenger-avatar { width: 42px; height: 42px; display: grid; place-items: center; padding: 6px; border-radius: 12px; background: #fff; box-shadow: 0 5px 16px rgba(20, 72, 110, .1); }
.storefront-messenger-avatar img { width: 100%; height: 100%; object-fit: contain; }
.storefront-messenger-panel > header div { min-width: 0; display: grid; gap: 3px; }
.storefront-messenger-panel > header strong { overflow: hidden; color: #172d48; font-size: .79rem; text-overflow: ellipsis; white-space: nowrap; }
.storefront-messenger-panel > header small { color: #7b899b; font-size: .62rem; }
.storefront-messenger-panel > header small i { display: inline-block; width: 7px; height: 7px; margin-right: 3px; border-radius: 50%; background: #38c984; }
.storefront-messenger-panel > header button { width: 32px; height: 32px; display: grid; place-items: center; border: 0; border-radius: 9px; background: transparent; color: #78889c; }
.storefront-messenger-panel > header button:hover { background: #eef4f8; color: #263c56; }
.storefront-messenger-panel > header button svg { width: 18px; height: 18px; }
.storefront-messenger-intro { margin: 12px 14px 4px; padding: 10px 12px; border-radius: 11px; background: #f0f7fd; color: #587089; font-size: .68rem; line-height: 1.45; }
.storefront-messenger-messages { max-height: 300px; min-height: 120px; overflow-y: auto; display: flex; flex-direction: column; gap: 8px; padding: 12px 14px; }
.storefront-chat-message { width: fit-content; max-width: 82%; }
.storefront-chat-message p { margin: 0; padding: 9px 11px; border-radius: 13px; color: #263b54; font-size: .72rem; line-height: 1.45; white-space: pre-wrap; }
.storefront-chat-message small { display: block; margin-top: 3px; color: #98a4b3; font-size: .55rem; }
.storefront-chat-message.from-admin { align-self: flex-start; }
.storefront-chat-message.from-admin p { border-bottom-left-radius: 4px; background: #edf3f8; }
.storefront-chat-message.from-customer { align-self: flex-end; text-align: right; }
.storefront-chat-message.from-customer p { border-bottom-right-radius: 4px; background: #168be5; color: #fff; }
.storefront-messenger-form { display: grid; gap: 8px; padding: 11px 12px 12px; border-top: 1px solid #edf1f5; background: #fbfcfe; }
.storefront-messenger-identity { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.storefront-messenger-identity input,
.storefront-messenger-compose textarea { min-width: 0; border: 1px solid #dfe7ef; outline: 0; background: #fff; color: #263b54; font: inherit; font-size: .68rem; }
.storefront-messenger-identity input { height: 34px; padding: 0 9px; border-radius: 9px; }
.storefront-messenger-compose { display: grid; grid-template-columns: minmax(0, 1fr) 38px; gap: 7px; }
.storefront-messenger-compose textarea { min-height: 40px; max-height: 100px; resize: vertical; padding: 10px; border-radius: 11px; }
.storefront-messenger-identity input:focus,
.storefront-messenger-compose textarea:focus { border-color: #8bc6ef; box-shadow: 0 0 0 3px rgba(23, 147, 232, .09); }
.storefront-messenger-compose button { width: 38px; height: 38px; align-self: end; display: grid; place-items: center; border: 0; border-radius: 11px; background: #168be5; color: #fff; }
.storefront-messenger-compose button:disabled { opacity: .55; }
.storefront-messenger-compose button svg { width: 19px; height: 19px; }
.storefront-messenger-form > small { min-height: 12px; color: #78899d; font-size: .56rem; }

.admin-chat-inbox { margin-bottom: 18px; }
.admin-chat-thread-list { display: grid; gap: 8px; }
.admin-chat-thread { overflow: hidden; border: 1px solid #e1e8f0; border-radius: 12px; background: #fff; }
.admin-chat-thread > summary { min-height: 62px; display: grid; grid-template-columns: 38px minmax(0, 1fr) auto 18px; align-items: center; gap: 10px; padding: 10px 12px; list-style: none; cursor: pointer; }
.admin-chat-thread > summary::-webkit-details-marker { display: none; }
.admin-chat-thread[open] > summary { border-bottom: 1px solid #e7edf3; background: #f8fbfd; }
.admin-chat-customer-avatar { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; background: #eaf6ff; color: #1688e4; font-size: .75rem; font-weight: 850; }
.admin-chat-thread > summary > span:nth-child(2) { min-width: 0; display: grid; gap: 2px; }
.admin-chat-thread > summary strong { overflow: hidden; color: #203650; font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-chat-thread > summary small,
.admin-chat-thread > summary time { color: #8695a8; font-size: .6rem; }
.admin-chat-thread > summary > svg { width: 17px; height: 17px; fill: none; stroke: #8795a7; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .18s ease; }
.admin-chat-thread[open] > summary > svg { transform: rotate(180deg); }
.admin-chat-thread-body { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 16px; padding: 14px; background: #fbfcfe; }
.admin-chat-transcript { max-height: 360px; overflow-y: auto; display: flex; flex-direction: column; gap: 8px; padding-right: 5px; }
.admin-chat-transcript article { width: fit-content; max-width: 78%; }
.admin-chat-transcript article p { margin: 0; padding: 9px 11px; border-radius: 11px; color: #2d435d; font-size: .69rem; line-height: 1.45; white-space: pre-wrap; }
.admin-chat-transcript article small { display: block; margin-top: 3px; color: #919daf; font-size: .56rem; }
.admin-chat-transcript article.from-customer p { border-bottom-left-radius: 3px; background: #eaf0f5; }
.admin-chat-transcript article.from-admin { align-self: flex-end; text-align: right; }
.admin-chat-transcript article.from-admin p { border-bottom-right-radius: 3px; background: #178be5; color: #fff; }
.admin-chat-reply { align-self: end; display: grid; gap: 8px; padding: 11px; border: 1px solid #e0e8f0; border-radius: 12px; background: #fff; }
.admin-chat-reply textarea { width: 100%; min-height: 92px; resize: vertical; padding: 10px; border: 0; outline: 0; color: #263c56; font: inherit; font-size: .69rem; }
.admin-chat-reply button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; }
.admin-chat-reply button svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

@media (max-width: 1380px) {
  .neo-admin-top-brand { flex-basis: 165px; }
  .neo-admin-global-search { width: min(290px, 21vw); }
  .admin-user-menu > summary { min-width: 118px; }
}
@media (max-width: 1100px) {
  .admin-user-menu > summary > span:nth-child(2) { display: none; }
  .admin-user-menu > summary { min-width: auto; grid-template-columns: 34px 14px; }
  .admin-chat-thread-body { grid-template-columns: 1fr; }
}
@media (max-width: 820px) {
  .neo-admin-top-brand strong { display: none; }
  .neo-admin-top-brand { flex: 0 0 38px; }
  .neo-admin-top-links { margin-left: 0; }
  .neo-admin-top-user { display: flex; margin-left: auto; }
  .admin-user-menu { display: none; }
  .admin-top-notification > summary { width: 34px; height: 34px; }
  .admin-notification-popover { position: fixed; top: 58px; right: 8px; width: min(330px, calc(100vw - 16px)); }
  .storefront-messenger { right: 14px; bottom: 14px; }
  .storefront-messenger-panel { bottom: 64px; }
  .storefront-messenger-identity { grid-template-columns: 1fr; }
  .store-section[data-id="usp-grid"] .managed-welcome-banner { padding-inline: 14px !important; }
}

/* Final storefront polish: footer flow, carousel clipping and lightweight content bands. */
.store-sections > .footer-in-home-flow {
  grid-column: 1 / -1 !important;
  min-width: 0 !important;
}
.store-sections > .footer-in-home-flow .footer-shell {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.store-section[data-id="hero-banner"],
.store-section[data-id="hero-banner"]:hover {
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 22px !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  isolation: isolate;
  clip-path: inset(0 round 22px);
}
.store-section[data-id="hero-banner"] .hero-media-shell,
.store-section[data-id="hero-banner"] .custom-banner-carousel,
.store-section[data-id="hero-banner"] .carousel-inner,
.store-section[data-id="hero-banner"] .carousel-item,
.store-section[data-id="hero-banner"] .section-media {
  overflow: hidden !important;
  border: 0 !important;
  border-radius: inherit !important;
  outline: 0 !important;
  background-color: #fff !important;
  box-shadow: none !important;
}
.store-section[data-id="hero-banner"] .section-media { display: block; }

.header-nav-icon-shell {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  overflow: visible;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.header-nav-icon {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  flex: 0 0 auto;
  border-radius: 0;
  clip-path: none;
  filter: none;
}
.header-nav-icon-default { color: currentColor; }
.header-search-submit,
.header-search-submit:hover,
.header-search-submit:focus-visible {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0;
  background: transparent !important;
  color: var(--app-primary) !important;
  box-shadow: none !important;
}
.header-search-submit svg { width: 19px; height: 19px; }

.store-section[data-id="hero-1778181468934"],
.store-section[data-id="hero-1778181468934"]:hover {
  padding: 8px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}
.store-section[data-id="hero-1778181468934"] .denuino-benefits {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(24px, 4vw, 64px) !important;
  align-items: center;
}
.store-section[data-id="hero-1778181468934"] .benefit-card,
.store-section[data-id="hero-1778181468934"] .benefit-card:last-child {
  min-height: 96px !important;
  display: grid !important;
  grid-template-columns: 76px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 8px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: left !important;
}
.store-section[data-id="hero-1778181468934"] .benefit-icon-wrap {
  width: 76px !important;
  height: 76px !important;
  min-width: 76px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.store-section[data-id="hero-1778181468934"] .benefit-icon {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}
.store-section[data-id="hero-1778181468934"] .benefit-text h3 {
  margin: 0 0 4px !important;
  color: #12233d !important;
  font-size: .9rem !important;
  line-height: 1.2;
}
.store-section[data-id="hero-1778181468934"] .benefit-text p {
  margin: 0 !important;
  color: #25364e !important;
  font-size: .78rem !important;
  line-height: 1.45 !important;
}

.store-sidebar .poll-card {
  display: grid;
  gap: 12px;
  color: #273c59;
}
.store-sidebar .poll-card-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 !important;
  color: #18304f !important;
  font-size: .78rem !important;
  letter-spacing: .02em;
}
.store-sidebar .poll-card-title::before {
  content: "💬";
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: #eaf5ff;
  font-size: .9rem;
}
.store-sidebar .poll-card-question {
  margin: 2px 0 0 !important;
  color: #233b5a !important;
  font-size: .9rem !important;
  line-height: 1.45;
}
.store-sidebar .poll-option-buttons { gap: 8px; }
.store-sidebar .poll-option-button {
  position: relative;
  min-height: 42px;
  padding: 10px 34px 10px 12px;
  border: 0 !important;
  border-radius: 10px;
  background: #eef7ff !important;
  color: #28415f !important;
  box-shadow: none !important;
  font-size: .78rem;
  font-weight: 700;
  transform: none !important;
}
.store-sidebar .poll-option-button:nth-child(2) { background: #effaf5 !important; }
.store-sidebar .poll-option-button:nth-child(3) { background: #fff6ea !important; }
.store-sidebar .poll-option-button::before { margin-right: 8px; content: "✨"; }
.store-sidebar .poll-option-button:nth-child(2)::before { content: "🙂"; }
.store-sidebar .poll-option-button:nth-child(3)::before { content: "💭"; }
.store-sidebar .poll-option-button::after {
  content: "›";
  position: absolute;
  right: 13px;
  color: #7890aa;
  font-size: 1rem;
}
.store-sidebar .poll-option-button:hover,
.store-sidebar .poll-option-button:focus-visible {
  filter: saturate(1.08) brightness(.985);
  outline: 2px solid rgba(39, 145, 224, .18) !important;
  outline-offset: 1px;
}
.store-sidebar .poll-result-bar { height: 8px; background: #e8eef5; }
.store-sidebar .poll-result-head,
.store-sidebar .poll-total-votes { color: #536982; font-size: .74rem; }

.storefront-category-ribbon {
  display: flex !important;
  grid-template-columns: none !important;
  gap: 12px;
  width: 100%;
  max-width: 100%;
  padding: 2px 1px 8px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
  scrollbar-color: #cbdcea transparent;
  cursor: grab;
  touch-action: pan-y pinch-zoom;
  -webkit-overflow-scrolling: touch;
}
.storefront-category-ribbon.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
  user-select: none;
}
.storefront-category-ribbon > a {
  flex: 0 0 clamp(175px, 17vw, 215px);
  scroll-snap-align: start;
}
.storefront-category-ribbon::-webkit-scrollbar { height: 5px; }
.storefront-category-ribbon::-webkit-scrollbar-track { background: transparent; }
.storefront-category-ribbon::-webkit-scrollbar-thumb { border-radius: 999px; background: #cbdcea; }

@media (max-width: 1050px) {
  .store-sections > .footer-in-home-flow .footer-shell { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 760px) {
  .store-section[data-id="hero-1778181468934"] .denuino-benefits {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .store-section[data-id="hero-1778181468934"] .benefit-card {
    grid-template-columns: 62px minmax(0, 1fr) !important;
  }
  .store-section[data-id="hero-1778181468934"] .benefit-icon-wrap {
    width: 62px !important;
    height: 62px !important;
    min-width: 62px !important;
  }
  .store-sections > .footer-in-home-flow { padding-inline: 20px !important; }
  .store-sections > .footer-in-home-flow .footer-shell { grid-template-columns: 1fr !important; }
}

/* Text-only welcome banner with selectable alignment. */
.managed-welcome-banner {
  width: min(100%, 1080px) !important;
  max-width: 1080px !important;
  display: grid;
  align-content: center;
  padding-inline: clamp(22px, 5vw, 72px) !important;
}
.managed-welcome-banner.align-left { justify-items: start; text-align: left; }
.managed-welcome-banner.align-right { justify-items: end; text-align: right; }
.managed-welcome-banner.align-left .managed-welcome-copy { margin-left: 0; margin-right: auto; }
.managed-welcome-banner.align-right .managed-welcome-copy { margin-left: auto; margin-right: 0; }
.managed-welcome-banner.align-left .managed-welcome-badges { justify-content: flex-start; }
.managed-welcome-banner.align-right .managed-welcome-badges { justify-content: flex-end; }
.welcome-admin-layout-text-only { display: block !important; }
.welcome-admin-layout-text-only > .neo-form-grid { width: 100%; }
.welcome-alignment-field { margin: 0; padding: 0; border: 0; }
.welcome-alignment-field legend { margin-bottom: 8px; color: #63758c; font-size: .72rem; font-weight: 750; }
.welcome-alignment-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.welcome-alignment-options label { position: relative; margin: 0; cursor: pointer; }
.welcome-alignment-options input { position: absolute; opacity: 0; pointer-events: none; }
.welcome-alignment-options label > span {
  min-height: 86px;
  display: grid;
  grid-template-columns: 54px minmax(0,1fr);
  grid-template-rows: auto auto;
  align-items: center;
  gap: 3px 12px;
  padding: 12px;
  border: 1px solid #dfe8f1;
  border-radius: 11px;
  background: #fbfdff;
}
.welcome-alignment-options label:has(input:checked) > span { border-color: #42a8ec; background: #f2f9ff; box-shadow: 0 0 0 2px rgba(33,145,222,.1); }
.welcome-alignment-options i { grid-row: 1 / span 2; width: 52px; height: 48px; border: 1px solid #dde7f0; border-radius: 8px; background: linear-gradient(#87cafa 0 0) 8px 10px / 25px 4px no-repeat, linear-gradient(#dce8f2 0 0) 8px 20px / 36px 3px no-repeat, linear-gradient(#dce8f2 0 0) 8px 28px / 30px 3px no-repeat, #fff; }
.welcome-alignment-options label:nth-child(2) i { transform: scaleX(-1); }
.welcome-alignment-options strong { align-self: end; color: #243b58; font-size: .78rem; }
.welcome-alignment-options small { align-self: start; color: #7f90a4; font-size: .66rem; }

.benefit-title-input {
  font-weight: 850 !important;
  text-transform: uppercase;
}
.store-section[data-id="hero-1778181468934"] .benefit-text h3 {
  font-weight: 900 !important;
  text-transform: uppercase;
}

/* Storefront account is the single admin/login entry. */
.header-account-shell,
.header-designer-item[data-header-item-id="account"] {
  align-self: stretch;
  display: flex;
  align-items: center;
}
.header-profile-chip,
.header-login-chip {
  min-height: 78px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center;
  gap: 8px;
  margin: 0 !important;
  padding: 9px 8px !important;
  border: 0 !important;
  background: transparent !important;
  color: #203252 !important;
  box-shadow: none !important;
  line-height: 1;
  text-decoration: none;
  transform: none !important;
}
.header-profile-chip:hover,
.header-login-chip:hover { color: var(--app-primary) !important; }
.header-account-icon {
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  flex: 0 0 20px;
}
.header-account-icon svg { width: 20px; height: 20px; }
.header-profile-name,
.header-login-chip > span:last-child { font-size: .8rem; font-weight: 750; }

/* Compact navigation editor. */
.navigation-admin-page { max-width: none; }
.navigation-compact-panel { padding: 16px !important; }
.navigation-compact-panel > .editor-toolbar { margin-bottom: 12px; }
.navigation-compact-panel > .selection-panel { margin-bottom: 14px !important; padding: 14px !important; }
.navigation-compact-panel .method-card-head h2 { margin: 0; font-size: .83rem; }
.navigation-compact-panel .nav-editor-grid { gap: 8px; }
#headerEditor { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.nav-header-piece {
  min-height: 74px !important;
  display: grid;
  gap: 9px;
  padding: 10px !important;
  border-radius: 10px !important;
}
.nav-header-piece .method-card-head { gap: 8px; }
.nav-header-piece .btn { width: 30px; height: 30px; padding: 0 !important; }
.nav-header-piece .neo-switch { margin: 0; font-size: .69rem; }
#navigationEditor { display: grid; gap: 8px; }
.nav-editor-details {
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid #dfe8f1 !important;
  border-radius: 11px !important;
  background: #fff !important;
}
.nav-editor-details > summary {
  min-height: 58px;
  display: grid;
  grid-template-columns: 38px minmax(0,1fr) auto 20px;
  align-items: center;
  gap: 11px;
  padding: 9px 12px;
  cursor: pointer;
  list-style: none;
}
.nav-editor-details > summary::-webkit-details-marker { display: none; }
.nav-editor-details > summary:hover { background: #f7faff; }
.nav-editor-summary-icon { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 9px; background: #eaf6ff; color: #198edf; font-size: .76rem; font-weight: 850; }
.nav-editor-details > summary > span:nth-child(2) { min-width: 0; display: grid; gap: 2px; }
.nav-editor-details > summary strong { overflow: hidden; color: #243b58; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.nav-editor-details > summary small { overflow: hidden; color: #8493a6; font-size: .64rem; text-overflow: ellipsis; white-space: nowrap; }
.nav-editor-details > summary b { padding: 4px 8px; border-radius: 999px; background: #f1f4f7; color: #8491a0; font-size: .61rem; }
.nav-editor-details > summary b.is-visible { background: #eaf9f1; color: #19945c; }
.nav-editor-details > summary i { color: #8292a5; font-style: normal; transition: transform .18s ease; }
.nav-editor-details[open] > summary i { transform: rotate(180deg); }
.nav-editor-card-body { padding: 13px; border-top: 1px solid #e5ecf3; background: #fbfdff; }
.nav-editor-fields { grid-template-columns: repeat(4, minmax(0,1fr)) !important; gap: 10px !important; }
.nav-editor-fields label { margin: 0; font-size: .67rem; }
.nav-editor-fields .form-control,
.nav-editor-fields .form-select { min-height: 36px; font-size: .73rem; }
.nav-editor-footer { display: flex; align-items: center; gap: 7px; margin-top: 11px; }
.nav-editor-footer .btn-outline-light { border-color: #cedae6 !important; color: #536982 !important; }
.nav-editor-spacer { flex: 1; }

/* Messages and poll reporting. */
.messages-admin-page { display: grid; align-content: start; gap: 16px; }
.poll-report-panel { padding: 18px !important; }
.poll-report-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; }
.poll-report-card { min-width: 0; padding: 15px; border: 1px solid #e0e9f2; border-radius: 12px; background: #fbfdff; }
.poll-report-head { display: flex; align-items: center; gap: 10px; }
.poll-report-head > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; background: #eaf6ff; }
.poll-report-head > div { min-width: 0; display: grid; gap: 2px; }
.poll-report-head strong { overflow: hidden; color: #213955; font-size: .79rem; text-overflow: ellipsis; white-space: nowrap; }
.poll-report-head small { color: #8191a4; font-size: .63rem; }
.poll-report-card > p { min-height: 34px; margin: 11px 0; color: #60748c; font-size: .72rem; line-height: 1.45; }
.poll-report-options { display: grid; gap: 9px; }
.poll-report-options > div { display: grid; gap: 4px; }
.poll-report-options span { display: flex; justify-content: space-between; gap: 8px; color: #405873; font-size: .68rem; }
.poll-report-options span b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.poll-report-options i { height: 6px; overflow: hidden; border-radius: 999px; background: #e8eef5; }
.poll-report-options em { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#46c994,#3a9bea); }
.poll-report-options small { color: #92a0b1; font-size: .59rem; }
.messages-workspace { display: grid; grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr); gap: 16px; }
.message-compose-card { display: grid; align-content: start; gap: 11px; padding: 18px !important; }
.message-compose-card label { display: grid; gap: 5px; color: #66798f; font-size: .69rem; font-weight: 700; }
.message-thread-card { padding: 18px !important; }
.message-thread-list { display: grid; gap: 7px; max-height: 460px; overflow: auto; }
.message-row { padding: 11px 0; border-bottom: 1px solid #e6edf4; }
.message-row:last-child { border-bottom: 0; }
.message-row > div { display: flex; justify-content: space-between; gap: 12px; }
.message-row strong { color: #263d59; font-size: .75rem; }
.message-row small { color: #8a99aa; font-size: .61rem; }
.message-row p { margin: 6px 0 0; color: #61758c; font-size: .7rem; line-height: 1.45; }

@media (max-width: 1200px) {
  .nav-editor-fields { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .poll-report-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .managed-welcome-banner.align-left,
  .managed-welcome-banner.align-right { justify-items: start; text-align: left; }
  .managed-welcome-banner.align-right .managed-welcome-copy { margin-left: 0; margin-right: auto; }
  .managed-welcome-banner.align-right .managed-welcome-badges { justify-content: flex-start; }
  .welcome-alignment-options,
  .nav-editor-fields,
  .poll-report-grid,
  .messages-workspace { grid-template-columns: 1fr !important; }
  .nav-editor-footer { flex-wrap: wrap; }
  .nav-editor-spacer { display: none; }
}

/* Keep the welcome copy flush with its configurable content column. */
.store-section[data-id="usp-grid"] { padding-inline: 0 !important; }
.store-section[data-id="usp-grid"] .managed-welcome-banner {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
}
@media (max-width: 760px) {
  .store-section[data-id="usp-grid"] .managed-welcome-banner { padding-inline: 14px !important; }
}

/* Messenger workflow, security center and final responsive polish. */
.neo-admin-global-search { grid-template-columns: 20px minmax(0, 1fr) !important; }
.neo-admin-global-search input,
.neo-admin-global-search input:focus { width: 100%; padding: 0 !important; border: 0 !important; outline: 0 !important; background: transparent !important; box-shadow: none !important; }
.neo-admin-avatar { overflow: hidden; }
.neo-admin-avatar img { width: 100%; height: 100%; display: block; object-fit: cover; }
.neo-admin-top-user { flex: 0 0 auto; }
.admin-user-menu > summary { width: 158px; flex: 0 0 158px; }
.admin-user-menu > summary { column-gap: 12px; padding-inline: 7px 9px; }
.admin-user-menu > summary > span:nth-child(2) { gap: 1px; padding-left: 2px; }
.admin-user-menu > summary > span:nth-child(2) small { order: 0; }
.admin-user-menu > summary > span:nth-child(2) strong { order: 1; }

@media (min-width: 821px) and (max-width: 1380px) {
  .neo-admin-topbar { gap: 8px; padding-inline: 12px; }
  .neo-admin-top-brand { flex-basis: 150px; }
  .neo-admin-global-search { width: min(245px, 20vw); }
  .neo-admin-top-links a { gap: 4px; padding-inline: 5px; font-size: .64rem; }
  .admin-top-notification > summary { width: 34px; }
}
.neo-side-icon { width: 18px; height: 18px; flex: 0 0 18px; display: grid; place-items: center; color: #6d8099; }
.neo-side-icon svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.neo-admin-nav > a,
.neo-nav-group summary { display: flex !important; align-items: center; gap: 10px !important; }
.neo-admin-nav > a:hover .neo-side-icon,
.neo-admin-nav > a.active .neo-side-icon,
.neo-nav-group summary:hover .neo-side-icon,
.neo-nav-group summary.is-active .neo-side-icon { color: var(--app-primary); }
.neo-side-badge { min-width: 20px; height: 20px; display: grid; place-items: center; margin-left: auto; padding: 0 5px; border-radius: 999px; background: #ef476f; color: #fff; font-size: .58rem; }
.admin-security-notification > summary { color: #6f6b94; }

.admin-agent-profile-card { margin-bottom: 16px; padding: 16px; border: 1px solid #e0e8f1; border-radius: 13px; background: #f9fbfd; }
.admin-agent-profile-card .content-editor-head { margin-bottom: 14px; }
.admin-chat-actions-panel { align-self: end; display: grid; gap: 9px; padding: 11px; border: 1px solid #e0e8f0; border-radius: 12px; background: #fff; }
.admin-chat-actions-panel > p { margin: 0; color: #7c8b9e; font-size: .62rem; line-height: 1.45; }
.admin-chat-attachment { display: grid; gap: 4px; margin-top: 6px; color: inherit; text-decoration: none; }
.admin-chat-attachment img { width: min(240px, 100%); max-height: 180px; border-radius: 9px; object-fit: cover; }
.admin-chat-attachment span { overflow: hidden; max-width: 240px; font-size: .58rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-chat-customer-avatar img { width: 100%; height: 100%; border-radius: inherit; object-fit: cover; }
.chat-presence-dot { width: 7px; height: 7px; display: inline-block; border-radius: 50%; }
.chat-presence-dot.online { background: #33c47a; box-shadow: 0 0 0 3px rgba(51,196,122,.12); }
.chat-presence-dot.offline { background: #aab5c1; }
.chat-status-badge { display: inline-flex; padding: 5px 8px; border-radius: 999px; background: #fff3d9; color: #9b6b00; font-size: .56rem; white-space: nowrap; }
.chat-status-badge.status-active { background: #e8f9f0; color: #168a50; }
.chat-status-badge.status-visitor_left { background: #f1f3f6; color: #758296; }
.storefront-messenger-upload { width: max-content; display: inline-flex; align-items: center; gap: 6px; margin: 0; color: #587089; font-size: .61rem; font-weight: 700; cursor: pointer; }
.storefront-messenger-upload svg { width: 16px; height: 16px; }
.storefront-messenger-upload input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.storefront-chat-attachment { display: block; margin: 4px 0; }
.storefront-chat-attachment img { width: min(220px, 100%); max-height: 180px; display: block; border-radius: 10px; object-fit: cover; }
.storefront-chat-message.agent-greeting { padding-left: 27px; position: relative; }
.storefront-chat-message.agent-greeting::before { content: ''; position: absolute; left: 0; top: 2px; width: 21px; height: 21px; border-radius: 50%; background-color: #e7f4fe; background-image: var(--chat-agent-avatar, url('/media/uploads/settings/denuino-site-icon.ico')); background-position: center; background-size: cover; background-repeat: no-repeat; }
.storefront-messenger-panel > header small.is-waiting i { background: #f5b642; }

.security-metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; }
.security-metric-grid article { min-width: 0; display: grid; grid-template-columns: 42px minmax(0,1fr); grid-template-rows: auto auto auto; gap: 2px 10px; padding: 14px; border: 1px solid #e0e8f1; border-radius: 12px; background: #fbfdff; }
.security-metric-icon { grid-row: 1 / 4; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 11px; }
.security-metric-icon svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.security-metric-icon.safe { color: #168a50; background: #e9f8f0; }.security-metric-icon.warn { color: #c77c00; background: #fff5df; }.security-metric-icon.danger { color: #dc405e; background: #fff0f3; }.security-metric-icon.info { color: #1688e4; background: #eaf6ff; }
.security-metric-grid small { color: #7f8ea1; font-size: .61rem; }.security-metric-grid strong { color: #1e3550; font-size: 1.25rem; }.security-metric-grid p { margin: 0; color: #8997a8; font-size: .57rem; }
.security-policy-note { display: flex; gap: 12px; margin-top: 14px; padding: 14px; border-radius: 12px; background: #edf7ff; color: #33516e; }
.security-policy-note > svg { width: 24px; height: 24px; flex: 0 0 24px; fill: none; stroke: #1688e4; stroke-width: 1.7; }
.security-policy-note strong { font-size: .75rem; }.security-policy-note p { margin: 3px 0 0; font-size: .66rem; line-height: 1.5; }
.security-log-panel { margin-top: 16px; }
.security-log-table { overflow-x: auto; }
.security-log-head,
.security-log-row { min-width: 940px; display: grid; grid-template-columns: 90px 130px 130px 190px minmax(260px,1fr) 92px; gap: 10px; align-items: center; }
.security-log-head { padding: 8px 10px; color: #8795a7; font-size: .58rem; font-weight: 800; text-transform: uppercase; }
.security-log-row { min-height: 60px; padding: 9px 10px; border-top: 1px solid #e8eef4; }
.security-log-row > span { min-width: 0; display: grid; gap: 2px; }
.security-result { width: max-content; padding: 4px 7px; border-radius: 999px; background: #edf1f5; color: #69798c; font-size: .56rem; text-transform: uppercase; }
.security-result.result-success { background: #e8f9f0; color: #168a50; }.security-result.result-failed { background: #fff5df; color: #a66b08; }.security-result.result-blocked,.security-result.result-lockout { background: #fff0f3; color: #d73555; }
.security-log-row strong,.security-log-row code,.security-log-row time { color: #334a65; font-size: .65rem; }.security-log-row small { color: #65788f; font-size: .61rem; }.security-log-row em { overflow: hidden; color: #98a4b3; font-size: .55rem; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }

.mobile-product-column-options { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; }
.mobile-product-column-options label { position: relative; margin: 0; cursor: pointer; }
.mobile-product-column-options input { position: absolute; opacity: 0; pointer-events: none; }
.mobile-product-column-options label > span { display: grid; gap: 8px; padding: 12px; border: 1px solid #dfe7ef; border-radius: 11px; background: #fff; }
.mobile-product-column-options i { height: 58px; display: grid; grid-template-columns: repeat(var(--mobile-preview-columns),1fr); gap: 5px; padding: 7px; border-radius: 8px; background: #f3f7fa; }
.mobile-product-column-options i b { border: 1px solid #cbe1f2; border-radius: 5px; background: #fff; }
.mobile-product-column-options strong { color: #314a66; font-size: .68rem; }
.mobile-product-column-options input:checked + span { border-color: #168be5; box-shadow: 0 0 0 2px rgba(22,139,229,.1); }

@media (min-width: 1051px) {
  .shop-category-dropdown { max-height: min(620px, calc(100vh - 110px)); overflow-y: auto; }
  .shop-category-flyout .shop-category-flyout { display: none !important; }
}

@media (max-width: 1050px) {
  .shop-category-hover .shop-category-dropdown,
  .shop-category-hover:hover .shop-category-dropdown,
  .shop-category-hover:focus-within .shop-category-dropdown { display: none !important; }
  .navbar-collapse.show {
    position: fixed !important;
    inset: 76px 10px auto !important;
    width: auto !important;
    height: auto !important;
    max-height: calc(100vh - 88px) !important;
    overflow-y: auto !important;
    padding: 12px !important;
    border: 1px solid #dce7ef !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 18px 48px rgba(25,55,85,.16) !important;
  }
  .navbar-collapse.show .header-layout-items { width: 100% !important; height: auto !important; display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 3px !important; }
  .navbar-collapse.show .header-designer-item { width: 100% !important; min-height: 0 !important; flex: 0 0 auto !important; }
  .navbar-collapse.show .nav-link-rich,
  .navbar-collapse.show .language-current,
  .navbar-collapse.show .header-profile-chip,
  .navbar-collapse.show .header-login-chip { width: 100% !important; min-height: 44px !important; justify-content: flex-start !important; padding: 9px 10px !important; border-radius: 9px !important; }
  .navbar-collapse.show .nav-link-rich.is-current { background: #edf7ff !important; box-shadow: none !important; }
  .navbar-collapse.show .header-search { width: 100% !important; }
}

@media (max-width: 820px) {
  html, body { overflow-x: hidden; background: #fff !important; }
  body.storefront-desktop .storefront-stage,
  body.storefront-mobile .storefront-stage { padding: 10px 10px 36px !important; background: #fff !important; }
  .storefront-shell { display: block !important; }
  .store-sidebar { position: static !important; width: 100% !important; }
  .store-section,
  .store-block { background: #fff !important; background-image: none !important; box-shadow: none !important; }
  .store-section[data-id="hero-1778181468934"] .denuino-benefits,
  .store-section[data-id="hero-1778181468934"] .benefit-card { background: #fff !important; background-image: none !important; color: #1e3550 !important; }
  .store-section[data-id="hero-1778181468934"] .benefit-card { border-bottom: 1px solid #e2e9f0 !important; }
  .store-product-group-panel .designer-product-mosaic-track { grid-template-columns: repeat(var(--store-mobile-product-columns, 2), minmax(0,1fr)) !important; gap: 8px !important; }
  .store-section[data-id="featured-products"] .store-product-group-panel .designer-product-card { min-width: 0 !important; min-height: 190px !important; padding: 8px !important; }
  .store-section[data-id="featured-products"] .designer-product-media { height: 96px !important; }
  .store-section[data-id="featured-products"] .designer-product-card img { height: 92px !important; }
  .store-section[data-id="featured-products"] .designer-product-copy strong { font-size: .66rem !important; line-height: 1.3; }
  .store-section[data-id="featured-products"] .designer-product-copy > span { font-size: .7rem !important; }
  .storefront-messenger { z-index: 6500; }
  .storefront-messenger-panel { max-height: calc(100vh - 92px); overflow-y: auto; }
  .security-metric-grid { grid-template-columns: 1fr 1fr; }
  .admin-chat-thread > summary { grid-template-columns: 38px minmax(0,1fr) 18px; }
  .admin-chat-thread > summary time { display: none; }
  .admin-chat-thread-body { padding: 10px; }
  .mobile-product-column-options { grid-template-columns: 1fr; }
  .neo-admin-nav { gap: 4px; }
  .neo-admin-nav > a,
  .neo-admin-nav > details { min-width: max-content; }
}

@media (max-width: 520px) {
  .security-metric-grid { grid-template-columns: 1fr; }
  .storefront-messenger-panel { width: calc(100vw - 20px); right: -4px; }
}

/* Final cascade guards for layouts that are configured narrower than the viewport. */
.store-section[data-id="hero-1778181468934"] { container-type:inline-size; }
@container (max-width: 880px) {
  .store-section[data-id="hero-1778181468934"] .denuino-benefits { grid-template-columns:1fr !important; gap:0 !important; }
  .store-section[data-id="hero-1778181468934"] .benefit-card,
  .store-section[data-id="hero-1778181468934"] .benefit-card:last-child { width:100% !important; min-height:104px !important; grid-template-columns:76px minmax(0,1fr) !important; align-items:center !important; gap:16px !important; padding:14px 8px !important; border-right:0 !important; border-bottom:1px solid #e2e9f0 !important; }
  .store-section[data-id="hero-1778181468934"] .benefit-card:last-child { border-bottom:0 !important; }
  .store-section[data-id="hero-1778181468934"] .benefit-icon-wrap { width:76px !important; height:76px !important; min-width:76px !important; }
  .store-section[data-id="hero-1778181468934"] .benefit-text { width:100% !important; margin:0 !important; padding:0 !important; }
}
@media (max-width:820px) {
  .store-section[data-id="featured-products"] .store-product-group-panel .designer-product-card { aspect-ratio:1 / 1 !important; min-height:0 !important; display:grid !important; grid-template-rows:minmax(0,1fr) auto !important; overflow:hidden !important; }
  .store-section[data-id="featured-products"] .designer-product-media { width:100% !important; height:auto !important; min-height:0 !important; }
  .store-section[data-id="featured-products"] .designer-product-card img { width:100% !important; height:100% !important; min-height:0 !important; object-fit:contain !important; }
}

.admin-presence-row { display:flex; align-items:center; gap:10px; padding:10px 12px; border-bottom:1px solid #e8eef4; }
.admin-presence-row:last-child { border-bottom:0; }
.admin-presence-row > i { width:9px; height:9px; flex:0 0 9px; border-radius:50%; background:#20b66d; box-shadow:0 0 0 4px rgba(32,182,109,.12); }
.admin-presence-row > span { min-width:0; display:grid; gap:2px; }
.admin-presence-row strong { color:#2a405a; font-size:.72rem; }
.admin-presence-row small { overflow:hidden; color:#7c8da0; font-size:.61rem; text-overflow:ellipsis; white-space:nowrap; }
.admin-order-collaboration { display:flex; align-items:center; gap:8px; margin:0 0 12px; padding:10px 13px; border:1px solid #bfe8d2; border-radius:11px; background:#f0fbf5; color:#3f6170; font-size:.72rem; }
.admin-order-collaboration[hidden] { display:none !important; }
.admin-order-collaboration strong { color:#197447; }
.admin-collaboration-pulse { width:8px; height:8px; border-radius:50%; background:#20b66d; box-shadow:0 0 0 4px rgba(32,182,109,.12); }

/* 2026-08 product catalogue, reviews and responsive grid refinement. */
.product-card,
.designer-product-card { transform: none !important; }
.product-card:hover,
.designer-product-card:hover { transform: none !important; box-shadow: none !important; }
.product-image,
.designer-product-media { position: relative; overflow: hidden; }
.product-card-image-primary,
.product-card-image-secondary { transition: opacity .28s ease !important; }
.product-card-image-secondary { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; object-fit: contain !important; opacity: 0; }
@media (hover:hover) and (pointer:fine) {
  .has-secondary-image:hover .product-card-image-primary { opacity: 0; }
  .has-secondary-image:hover .product-card-image-secondary { opacity: 1; }
}
.product-card-btn { display: inline-flex !important; align-items: center; justify-content: center; gap: 8px; }
.product-cart-icon { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.product-availability-badge { min-height: 30px; display: inline-flex !important; align-items: center; gap: 7px; padding: 6px 10px !important; border: 1px solid #bde9cf !important; border-radius: 9px !important; font-size: .69rem !important; font-weight: 700; line-height: 1.1; }
.product-availability-dot { width: 7px !important; height: 7px !important; flex: 0 0 7px; border-radius: 50%; box-shadow: 0 0 0 4px rgba(27,169,93,.1); }
.product-quantity-field { min-width: 120px; display: grid; gap: 6px; color: #52667e; font-size: .72rem; font-weight: 800; }
.product-quantity-field > span { line-height: 1; }
.product-quantity-field .form-control { min-height: 46px; }

/* Compact product-detail cart action and configurable cart flight. */
.product-detail-page .buy-box {
  grid-template-columns: 120px minmax(190px, 238px) !important;
  align-items: end;
  justify-content: start;
  gap: 16px;
}
.product-detail-page .buy-box .product-quantity-field { margin-right: 0; }
.review-eligibility-card { min-height: 220px; display:flex; align-items:flex-start; gap:16px; padding:22px !important; border:1px solid #dce7ef !important; border-radius:16px !important; background:#f8fbfd !important; box-shadow:none !important; }
.review-eligibility-card h3 { margin:0 0 8px; color:#1d334e; font-size:1.1rem; }
.review-eligibility-card p { margin:0 0 16px; color:#62778e; line-height:1.6; }
.review-eligibility-icon { width:46px; height:46px; display:grid; place-items:center; flex:0 0 46px; border-radius:14px; background:#eaf6ff; color:#168be4; }
.review-eligibility-icon svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linejoin:round; }
.product-review-notice { border:1px solid #cfe4f4; background:#f2f9fe; color:#375c78; }
.product-detail-cart-button {
  position: relative;
  width: 218px;
  min-height: 46px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 9px;
  overflow: hidden;
  border: 0 !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg,#168fe6,#087bc4) !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(16,137,216,.16) !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
  white-space: nowrap;
  transition: width .25s cubic-bezier(.2,.8,.2,1), border-radius .25s ease, transform .25s ease, opacity .2s ease, box-shadow .25s ease !important;
}
.product-detail-cart-button:hover { transform: translateY(-1px); box-shadow: 0 11px 25px rgba(16,137,216,.22) !important; }
.product-detail-cart-button-icon { width: 19px; height: 19px; display: inline-grid; place-items: center; flex: 0 0 19px; }
.product-detail-cart-button-icon svg,
.cart-flight-orb svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.product-detail-cart-button.is-cart-preparing { justify-content: flex-start; padding-inline: 8px 14px; }
.product-detail-cart-button.is-cart-preparing > img { width: 32px; height: 32px; flex: 0 0 32px; border-radius: 7px; background: #fff; object-fit: contain; }
.product-detail-cart-button.is-cart-preparing > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.product-detail-cart-button.is-cart-compressing { width: 50px !important; padding-inline: 8px; border-radius: 50% !important; opacity: .22; transform: scale(.82); }
.product-detail-cart-button.is-cart-compressing > span { opacity: 0; }
.product-detail-cart-button.is-cart-confirmed { width: 52px !important; border-radius: 50% !important; color: transparent !important; }
.product-detail-cart-button.is-cart-confirmed::after { content: "✓"; position: absolute; color: #fff; font-size: 1.1rem; }
.product-detail-cart-button.is-cart-restoring { animation: cart-button-restore .3s cubic-bezier(.2,.9,.3,1.2); }
@keyframes cart-button-restore { from { opacity:.35; transform:scale(.72); } to { opacity:1; transform:scale(1); } }

.cart-flight-orb {
  position: fixed;
  z-index: 12050;
  display: grid;
  place-items: center;
  overflow: hidden;
  pointer-events: none;
  border: 2px solid rgba(255,255,255,.95);
  border-radius: 50%;
  background: #fff;
  color: #0f8edf;
  box-shadow: 0 0 0 5px rgba(30,155,238,.12), 0 12px 30px rgba(11,83,137,.3);
  will-change: transform;
}
.cart-flight-orb img { width: 88%; height: 88%; border-radius: 50%; object-fit: contain; }
.cart-flight-orb svg { width: 25px; height: 25px; }
.cart-flight-trail {
  position: fixed;
  z-index: 12040;
  width: 72px;
  height: 17px;
  pointer-events: none;
  border-radius: 999px;
  background: linear-gradient(90deg,transparent,rgba(35,210,255,.34),rgba(41,135,255,.9));
  filter: blur(3px);
  transform-origin: right center;
  will-change: transform,opacity;
}
.cart-flight-trail::before,
.cart-flight-trail::after { content:""; position:absolute; left:8px; top:50%; width:8px; height:8px; border-radius:50%; background:#74e9ff; box-shadow:16px -7px 0 -2px #69b8ff,28px 6px 0 -3px #fff; }
.cart-flight-shockwave {
  position: fixed;
  z-index: 12030;
  left: var(--cart-wave-x);
  top: var(--cart-wave-y);
  width: 18px;
  height: 18px;
  pointer-events: none;
  border: 2px solid rgba(22,145,230,.72);
  border-radius: 50%;
  transform: translate(-50%,-50%);
  animation: cart-flight-wave .58s ease-out forwards;
}
@keyframes cart-flight-wave { to { opacity:0; transform:translate(-50%,-50%) scale(calc(5 * var(--cart-wave-scale))); border-width:1px; } }
.cart-target-impact { animation: cart-target-impact .45s cubic-bezier(.2,.8,.25,1.3); }
@keyframes cart-target-impact { 0%,100%{transform:scale(1)} 45%{transform:scale(1.2)} 70%{transform:scale(.94)} }

/* Animation administration. */
.animation-settings-form { display: grid; gap: 16px; }
.animation-settings-intro { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.animation-settings-intro > div { display: flex; align-items: center; gap: 14px; }
.animation-settings-intro h2,
.animation-settings-intro p { margin: 0; }
.animation-settings-intro p { margin-top: 4px; color: #718399; font-size: .78rem; }
.animation-section-icon { width: 44px; height: 44px; display: grid; place-items: center; flex: 0 0 44px; border-radius: 13px; background: #eaf6ff; color: #168be4; }
.animation-section-icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.cart-animation-settings .content-editor-head { margin-bottom: 18px; }
.cart-animation-layout { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(260px,.6fr); gap: 22px; }
.cart-animation-controls { display: grid; gap: 18px; }
.page-language-visibility { min-width: 0; width: 100%; }
.banner-text-editor { padding:24px;border:1px solid #d7e1d5;border-radius:12px;background:#f7f9f3;color:#243e2c;min-height:120px;overflow-wrap:anywhere; }
.banner-text-editor img {max-width:100%;max-height:220px;object-fit:contain}
.banner-text-editor .gsb-service-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.banner-text-editor .gsb-service-grid > a {display:block;padding:16px;border:1px solid #d7e1d5;border-radius:8px;color:#243e2c}
.page-language-visibility > legend { float: none; width: auto; margin-bottom: 12px; }
.page-language-visibility > .neo-check-grid { clear: both; width: 100%; grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr)); }
.animation-style-fieldset { margin: 0; padding: 0; border: 0; }
.animation-style-fieldset legend { margin-bottom: 10px; color: #243c58; font-size: .78rem; font-weight: 850; }
.animation-style-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.animation-style-grid label { position: relative; cursor: pointer; }
.animation-style-grid input { position: absolute; opacity: 0; pointer-events: none; }
.animation-style-grid label > span { min-height: 142px; display: grid; align-content: start; gap: 5px; padding: 14px; border: 1px solid #dce7ef; border-radius: 14px; background: #fff; transition: border-color .18s ease,box-shadow .18s ease,background .18s ease; }
.animation-style-grid input:checked + span { border-color: #168de2; background: #f5fbff; box-shadow: 0 0 0 3px rgba(22,141,226,.1); }
.animation-style-grid strong { color: #243b56; font-size: .8rem; }
.animation-style-grid small { color: #75879a; font-size: .69rem; line-height: 1.45; }
.animation-choice-orbit { width: 36px; height: 36px; display: grid; place-items: center; margin-bottom: 3px; border-radius: 50%; background: #edf7ff; color: #168be4; font-style: normal; font-weight: 900; }
.animation-choice-orbit.is-rocket { box-shadow: -8px 4px 14px rgba(34,184,247,.18); }
.animation-choice-orbit.is-smooth { background:#f0edff; color:#7459e8; }
.animation-choice-orbit.is-minimal { background:#ecfaf3; color:#1b9e61; }
.animation-range-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.animation-range-grid label { display: grid; gap: 9px; padding: 13px 14px; border: 1px solid #e0e8ef; border-radius: 12px; background: #fbfcfd; }
.animation-range-grid label > span { display:flex; justify-content:space-between; color:#405873; font-size:.73rem; font-weight:750; }
.animation-range-grid output { color:#168be4; }
.animation-range-grid input { width:100%; accent-color:#168be4; }
.animation-toggle-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.animation-toggle-grid .neo-switch { min-height: 48px; padding: 12px 14px; border: 1px solid #e0e8ef; border-radius: 12px; background: #fff; }
.cart-animation-preview { min-height: 100%; display: grid; align-content: center; gap: 7px; padding: 18px; border: 1px solid #dce8f0; border-radius: 16px; background: linear-gradient(145deg,#f7fbff,#eef7ff); }
.cart-animation-preview > strong { color:#2e4864; font-size:.8rem; }
.cart-animation-preview > p { margin:0; color:#7890a5; font-size:.69rem; line-height:1.5; }
.animation-preview-stage { height: 132px; position:relative; overflow:hidden; border-radius:12px; background:rgba(255,255,255,.72); }
.preview-product,.preview-cart { position:absolute; top:50%; display:grid; place-items:center; transform:translateY(-50%); }
.preview-product { left:18px; width:44px; height:44px; border-radius:10px; background:#fff; box-shadow:0 7px 18px rgba(36,91,132,.13); }
.preview-product i { width:22px; height:22px; border-radius:6px; background:linear-gradient(135deg,#20a5ef,#7b68ee); }
.preview-cart { right:18px; width:42px; height:42px; border-radius:50%; background:#168be4; color:#fff; }
.preview-cart svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.preview-route { position:absolute; left:62px; right:60px; top:50%; height:44px; border-top:2px dashed rgba(22,139,228,.3); border-radius:50%; transform:translateY(-20%); }
.neo-save-bar { position:sticky; bottom:14px; z-index:20; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 14px; border:1px solid #dce7ef; border-radius:14px; background:rgba(255,255,255,.94); box-shadow:0 12px 30px rgba(35,65,90,.1); backdrop-filter:blur(12px); }
.neo-save-bar span { color:#74869a; font-size:.72rem; }

@media (max-width: 820px) {
  .product-detail-page .buy-box { grid-template-columns: 1fr !important; }
  .product-detail-cart-button { width: 100%; }
  .cart-animation-layout { grid-template-columns: 1fr; }
  .animation-style-grid { grid-template-columns: 1fr; }
  .animation-style-grid label > span { min-height: 0; }
  .animation-range-grid,.animation-toggle-grid { grid-template-columns: 1fr; }
  .animation-settings-intro,.neo-save-bar { align-items:stretch; flex-direction:column; }
  .neo-save-bar .btn { width:100%; }
}

@media (prefers-reduced-motion: reduce) {
  .cart-flight-orb,.cart-flight-trail,.cart-flight-shockwave { display:none !important; }
  .product-detail-cart-button { transition-duration:.01ms !important; }
}

.review-card { display: grid; gap: 13px; padding: 18px !important; border: 1px solid #dde7ef !important; border-radius: 16px !important; background: #fff !important; }
.review-author { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 11px; }
.review-author > span:nth-child(2) { display: grid; gap: 2px; }
.review-author small { color: #8796a7; font-size: .7rem; }
.review-avatar { width: 42px; height: 42px; display: grid; place-items: center; overflow: hidden; border-radius: 50%; background: #eaf6ff; color: #1488e5; font-size: .82rem; font-weight: 900; }
.review-avatar img { width: 100%; height: 100%; object-fit: cover; }
.review-stars { display: inline-flex; gap: 2px; white-space: nowrap; }
.review-stars i { color: #d8e0e8; font-style: normal; }
.review-stars i.is-filled { color: #ffb21c; }
.review-card > p { margin: 0; color: #40536a; line-height: 1.65; }
.review-photo { width: min(180px,100%); display: block; overflow: hidden; border-radius: 12px; border: 1px solid #dfe7ef; }
.review-photo img { width: 100%; max-height: 180px; display: block; object-fit: cover; }
.review-shop-reply { display: grid; gap: 5px; margin-left: 28px; padding: 13px 15px; border-left: 3px solid #168be5; border-radius: 0 11px 11px 0; background: #f2f8fd; }
.review-shop-reply strong { color: #126fac; font-size: .75rem; }
.review-shop-reply p { margin: 0; color: #526980; font-size: .82rem; }
.review-compose { padding: 20px !important; border: 1px solid #dce6ee !important; border-radius: 16px !important; background: #fff !important; box-shadow: none !important; }
.review-rating-field { margin: 0; padding: 0; border: 0; }
.review-rating-field legend { margin-bottom: 7px; color: #52667e; font-size: .78rem; font-weight: 700; }
.review-star-input { width: max-content; display: flex; flex-direction: row; gap: 4px; }
.review-star-input input { position: absolute; opacity: 0; pointer-events: none; }
.review-star-input label { color: #d5dee7; font-size: 1.85rem; line-height: 1; cursor: pointer; transition: color .16s ease, transform .16s ease; }
.review-star-input label:hover,
.review-star-input label.is-selected { color: #ffb21c; }
.review-star-input label:hover { transform: scale(1.08); }
.review-upload { display: grid; gap: 6px; color: #52667e; font-size: .75rem; font-weight: 700; }
.review-upload small { color: #8897a7; font-weight: 500; }

.admin-review-list { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,420px),1fr)); gap: 16px; align-items: start; }
.admin-review-count { padding: 8px 11px; border: 1px solid #dce6ef; border-radius: 10px; color: #61758c; font-size: .72rem; font-weight: 800; }
.admin-review-card { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 16px; align-items: start; padding: 18px !important; }
.admin-review-person,.admin-review-product { min-width: 0; display: flex; align-items: center; gap: 10px; }
.admin-review-person > div,.admin-review-product > span { min-width: 0; display: grid; gap: 2px; }
.admin-review-person small,.admin-review-product small { color: #8a99aa; font-size: .63rem; }
.admin-review-product img { width: 52px; height: 52px; flex: 0 0 52px; object-fit: contain; border: 1px solid #e2e9f0; border-radius: 10px; }
.admin-review-product strong { overflow: hidden; color: #2f4660; font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-review-content { grid-column: 1/-1; min-width: 0; display: grid; gap: 8px; }
.admin-review-content p { margin: 0; color: #52677e; font-size: .76rem; line-height: 1.55; }
.admin-review-reply { grid-column: 1/-1; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: end; padding-top: 14px; border-top: 1px solid #e6edf3; }
.admin-review-reply label { display: grid; gap: 5px; color: #5c7087; font-size: .68rem; font-weight: 800; }
.customer-block-settings { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 14px; border: 1px solid #f0d5da; border-radius: 12px; background: #fff8f9; }
.customer-block-settings .neo-switch { grid-column: 1/-1; }

@media (max-width: 820px) {
  .page-designer-target[data-page-target="product-list"] .product-grid,
  .product-catalog-main .product-grid { grid-template-columns: repeat(var(--store-mobile-product-columns,2), minmax(0,1fr)) !important; gap: 9px !important; }
  .product-card { min-width: 0 !important; min-height: 0 !important; height: auto !important; overflow: hidden; border: 1px solid #dbe5ed !important; border-radius: 13px !important; background: #fff !important; box-shadow: none !important; }
  .product-card .product-image { height: clamp(112px,31vw,154px) !important; min-height: 0 !important; padding: 8px !important; background: #fff !important; }
  .product-card .product-image img { width: 100% !important; height: 100% !important; object-fit: contain !important; }
  .product-card .product-body { min-width: 0; gap: 6px !important; padding: 9px !important; }
  .product-card .product-category { margin: 0 !important; font-size: .55rem !important; }
  .product-card .product-title { min-height: 0 !important; margin: 0 !important; font-size: .72rem !important; line-height: 1.34 !important; }
  .product-card .product-description { display: none !important; }
  .product-card .product-meta { align-items: flex-start !important; gap: 6px !important; margin-top: 4px !important; }
  .product-card .product-meta strong { font-size: .82rem !important; }
  .product-card .product-availability-badge { min-height: 0; padding: 4px 7px !important; font-size: .57rem !important; }
  .product-card .product-card-btn { min-height: 36px !important; padding: 6px !important; font-size: .62rem !important; }
  .product-card .product-cart-icon { width: 14px; height: 14px; }

  body.mobile-products-1 .product-catalog-main .product-grid,
  body.mobile-products-1 .page-designer-target[data-page-target="product-list"] .product-grid { grid-template-columns: 1fr !important; }
  body.mobile-products-1 .product-card { display: grid !important; grid-template-columns: minmax(108px,34vw) minmax(0,1fr); }
  body.mobile-products-1 .product-card .product-image { height: 100% !important; min-height: 150px !important; }
  body.mobile-products-1 .product-card .product-body { padding: 12px 12px 12px 5px !important; }
  body.mobile-products-1 .product-card .product-title { font-size: .82rem !important; }

  body.mobile-products-3 .product-card .product-image { height: clamp(82px,23vw,108px) !important; padding: 5px !important; }
  body.mobile-products-3 .product-card .product-body { padding: 7px !important; }
  body.mobile-products-3 .product-card .product-category,
  body.mobile-products-3 .product-card .product-availability-badge { display: none !important; }
  body.mobile-products-3 .product-card .product-title { font-size: .61rem !important; }
  body.mobile-products-3 .product-card .product-card-btn span { display: none; }

  .store-section[data-id="featured-products"] .store-product-group-panel .designer-product-card { aspect-ratio: auto !important; min-height: 0 !important; display: grid !important; grid-template-rows: clamp(100px,28vw,142px) auto !important; padding: 7px !important; border: 1px solid #dbe5ed !important; border-radius: 13px !important; }
  .store-section[data-id="featured-products"] .designer-product-media { width: 100% !important; height: 100% !important; min-height: 0 !important; }
  .store-section[data-id="featured-products"] .designer-product-card img { width: 100% !important; height: 100% !important; object-fit: contain !important; }
  body.mobile-products-1 .store-product-group-panel .designer-product-mosaic-track { grid-template-columns: 1fr !important; }
  body.mobile-products-1 .store-section[data-id="featured-products"] .designer-product-card { grid-template-columns: minmax(110px,34vw) minmax(0,1fr); grid-template-rows: minmax(142px,auto) !important; align-items: center; }
  body.mobile-products-3 .store-section[data-id="featured-products"] .designer-product-card { grid-template-rows: clamp(80px,22vw,105px) auto !important; }

  .catalog-category-overview,
  .product-catalog-main > .store-section { padding-inline: 0 !important; }
  .product-catalog-main .shop-toolbar { justify-content: flex-start !important; text-align: left !important; }
  .product-catalog-main .shop-toolbar > div { width: 100%; text-align: left !important; }
  .catalog-landing-grid,
  .product-catalog-main .category-block-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 8px !important; }
  .catalog-landing-card,
  .product-catalog-main .category-block-card { min-height: 76px !important; display: grid !important; grid-template-columns: 58px minmax(0,1fr) !important; align-items: center !important; gap: 10px !important; padding: 8px !important; border: 1px solid #dce6ee !important; border-radius: 12px !important; background: #fff !important; box-shadow: none !important; }
  .catalog-landing-card,
  .product-catalog-main .category-block-card { width: 100% !important; height: auto !important; aspect-ratio: auto !important; }
  .catalog-landing-card .category-block-media,
  .product-catalog-main .category-block-card .category-block-media { width: 58px !important; height: 58px !important; min-height: 58px !important; padding: 4px !important; border: 0 !important; border-radius: 9px !important; background: #f7f9fb !important; }
  .product-catalog-main .category-block-card strong { margin: 0 !important; font-size: .68rem !important; line-height: 1.3 !important; text-align: left !important; }
  .catalog-toolbar { padding: 13px !important; border: 1px solid #dce6ee !important; border-radius: 14px !important; background: #fff !important; box-shadow: none !important; }
  .catalog-products-heading { font-size: 1.15rem !important; }
  .buy-box { align-items: end !important; }
  .buy-box .product-quantity-field { grid-column: 1/-1; width: 100%; }
  .review-author { grid-template-columns: 38px minmax(0,1fr); }
  .review-author .review-stars { grid-column: 2; }
  .review-shop-reply { margin-left: 0; }
  .admin-review-card { grid-template-columns: 1fr !important; }
  .admin-review-reply { grid-column: auto; grid-template-columns: 1fr; }
  .customer-block-settings { grid-template-columns: 1fr; }
}

@media (max-width: 330px) {
  .catalog-landing-grid,
  .product-catalog-main .category-block-grid { grid-template-columns: 1fr !important; }
  .product-catalog-main .category-block-card { min-height: 70px !important; }
}

.account-blocked-page { min-height: calc(100vh - 90px); display: grid; place-items: center; padding: 32px 16px; background: #f7f9fb; }
.account-blocked-card { width: min(520px,100%); display: grid; justify-items: center; gap: 13px; padding: clamp(26px,5vw,46px); border: 1px solid #dce5ed; border-radius: 20px; background: #fff; text-align: center; box-shadow: 0 18px 55px rgba(26,50,77,.08); }
.account-blocked-card h1 { margin: 0; color: #172d43; }
.account-blocked-card > p { margin: 0; color: #667b91; line-height: 1.55; }
.account-blocked-icon { width: 64px; height: 64px; display: grid; place-items: center; border-radius: 18px; background: #fff0f3; color: #d73a59; }
.account-blocked-icon svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.account-blocked-card dl { width: 100%; display: grid; gap: 8px; margin: 4px 0; }
.account-blocked-card dl div { display: flex; justify-content: space-between; gap: 16px; padding: 10px 12px; border-radius: 10px; background: #f6f9fb; text-align: left; }
.account-blocked-card dt { color: #8190a1; font-size: .72rem; }
.account-blocked-card dd { margin: 0; color: #314a64; font-size: .75rem; font-weight: 800; }
.security-result.result-login_wait { background:#fff5df; color:#9f6809; }
.security-result.result-account_lock,
.security-result.result-security_lock { background:#fff0f3; color:#d73555; }
.security-result.result-password_reset_recommended { background:#fff8c5; color:#9a6700; }

/* 2026-08 catalogue and review interaction corrections. */
.product-card-btn,
.product-card-btn span,
.product-card-btn svg { color:#fff !important; }
.product-card-btn svg { stroke:#fff !important; }
.product-availability-badge { gap:0 !important; }
.product-availability-dot { display:none !important; }
.catalog-category-placeholder {
  width: 100%;
  height: 100%;
  display: grid !important;
  place-items: center;
  color: #1598d4 !important;
}
.catalog-category-placeholder svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (max-width:820px) {
  .catalog-landing-card .category-block-media,
  .product-catalog-main .category-block-card .category-block-media {
    position:relative !important;
    display:grid !important;
    place-items:center !important;
    overflow:hidden !important;
  }
  .catalog-landing-card .category-block-media img,
  .product-catalog-main .category-block-card .category-block-media img {
    position:static !important;
    inset:auto !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    padding:3px !important;
    opacity:1 !important;
    visibility:visible !important;
    object-fit:contain !important;
    object-position:center !important;
    transform:none !important;
  }
}

/* Compact, consistent admin row actions. */
.product-row-actions,
.order-doc-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  white-space: nowrap;
}

.product-row-actions form,
.order-doc-actions form { margin: 0; }

.admin-icon-action {
  width: 36px;
  height: 36px;
  min-width: 36px;
  display: inline-grid;
  place-items: center;
  padding: 0 !important;
  border: 1px solid #d9e4ed !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #168bd5 !important;
  box-shadow: none !important;
  text-decoration: none;
  transition: border-color .16s ease, background .16s ease, color .16s ease;
}

.admin-icon-action:hover {
  border-color: #9fd2f2 !important;
  background: #f2f9fe !important;
  color: #0878ba !important;
  transform: none !important;
}

.admin-icon-action svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.admin-icon-action.is-danger {
  border-color: #f0d7dc !important;
  color: #d8435b !important;
}

.admin-icon-action.is-danger:hover {
  border-color: #efb5bf !important;
  background: #fff5f7 !important;
  color: #c72d48 !important;
}

/* Orders: readable controls and calm status chips instead of oversized badges. */
.order-suite .ops-table {
  border-collapse: separate;
  border-spacing: 0;
}

.order-suite .ops-table tbody td {
  padding-block: 14px;
  border-bottom: 1px solid #e6edf3 !important;
}

.order-suite .ops-table tbody tr:last-child td { border-bottom: 0 !important; }
.order-suite .ops-table .click-row:hover td { background: #f8fbfd !important; }

.order-suite .inline-status {
  min-width: 172px;
  margin: 0;
}

.order-suite .inline-status select {
  width: 100%;
  min-height: 38px;
  padding: 7px 32px 7px 11px;
  border: 1px solid color-mix(in srgb, var(--status-color) 34%, #d9e4ed);
  border-radius: 10px;
  background-color: color-mix(in srgb, var(--status-color) 8%, white);
  color: #233b53;
  font-size: .75rem;
  font-weight: 700;
}

.order-suite .status-pill {
  width: max-content;
  max-width: 170px;
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 10px;
  border: 1px solid color-mix(in srgb, var(--status-color) 38%, white);
  border-radius: 999px;
  background: color-mix(in srgb, var(--status-color) 13%, white);
  color: color-mix(in srgb, var(--status-color) 75%, #26384b);
  font-size: .68rem;
  font-weight: 800;
  line-height: 1.2;
  white-space: normal;
}

.order-method-cell { min-width: 190px; }
.order-doc-link { font-size: .68rem; font-weight: 850; text-decoration: none; }

@media (max-width:820px) {
  .admin-review-card { grid-template-columns: 1fr; }
  .admin-review-product,
  .admin-review-content,
  .admin-review-reply { grid-column: 1; }
}

/* Desktop sidebar category flyouts must be allowed to leave the card and sit above the homepage. */
@media (min-width: 1051px) {
  .storefront-shell > .store-sidebar {
    z-index: 120 !important;
    overflow: visible !important;
  }

  .store-block-category-menu,
  .store-block-category-menu .category-side-block,
  .store-block-category-menu .side-category-menu,
  .store-block-category-menu .side-category-row {
    overflow: visible !important;
  }

  .store-block-category-menu {
    position: relative !important;
    z-index: 1;
  }

  .store-block-category-menu:focus-within,
  .store-block-category-menu:hover {
    z-index: 130;
  }

  .store-block-category-menu .side-category-flyout {
    left: calc(100% + 12px);
    top: -10px;
    z-index: 5000 !important;
    width: max-content;
    min-width: 250px;
    max-width: min(360px, calc(100vw - 32px));
    max-height: min(560px, calc(100vh - 130px));
    overflow-x: visible;
    overflow-y: auto;
  }

  .storefront-shell > [data-zone="sidebar-right"] .store-block-category-menu .side-category-flyout {
    right: calc(100% + 12px);
    left: auto;
  }

  .store-block-category-menu .side-category-flyout a {
    white-space: normal;
  }
}

/* Product administration: compact catalogue controls and a consistent editor workspace. */
.neo-admin-topbar .neo-admin-global-search {
  width: auto;
  max-width: 720px;
  flex: 1 1 520px;
  margin-right: auto;
  grid-template-columns: 28px minmax(0, 1fr);
}

.product-page-actions,
.admin-text-icon-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.product-page-actions { flex-wrap: wrap; }
.admin-text-icon-button svg {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.product-section-nav {
  width: 100%;
  margin-top: 14px !important;
  margin-bottom: 18px !important;
  padding: 6px !important;
}

.product-section-nav .btn {
  padding-inline: 14px !important;
  font-weight: 750;
}

.product-management-panel {
  padding: 18px !important;
}

.product-list-filter {
  grid-template-columns: minmax(210px, 1.35fr) minmax(175px, 1fr) minmax(155px, .9fr) repeat(4, minmax(105px, .62fr)) auto;
  gap: 10px;
  align-items: end;
  margin: 0 0 18px;
  padding: 0 0 18px;
  border-bottom: 1px solid #e7eef5;
}

.product-list-filter .ops-field {
  min-width: 0;
  display: grid;
  gap: 6px;
}

.product-list-filter .ops-actions {
  min-width: max-content;
  align-self: end;
  justify-content: flex-end;
  gap: 7px;
}

.product-list-filter .ops-actions .btn {
  min-height: 40px;
  padding-inline: 13px;
}

.product-management-panel .neo-product-mini small {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 4px;
  color: #7b8da3 !important;
  font-size: .7rem;
}

.product-management-panel .neo-product-mini small span {
  color: #5d7189;
  font-weight: 750;
}

.product-management-panel .table-responsive {
  border: 1px solid #e6edf4;
  border-radius: 12px;
}

.product-management-panel .neo-table thead th:first-child,
.product-management-panel .neo-table tbody td:first-child { padding-left: 14px; }
.product-management-panel .neo-table tbody td { padding-block: 11px; }

.neo-product-editor-full {
  gap: 14px;
}

.neo-product-editor-full .product-editor-head {
  min-height: 0;
  margin: 0 !important;
  padding: 4px 2px 12px !important;
}

.product-editor-head > div:first-child {
  min-width: 220px;
}

.product-editor-head h1 {
  max-width: 680px;
  overflow: hidden;
  font-size: clamp(1.45rem, 2vw, 1.9rem) !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-editor-head small {
  display: block;
  margin-top: 4px;
  color: #8494a8;
  font-size: .69rem;
}

.product-toolbar {
  align-items: center;
  gap: 6px !important;
}

.product-toolbar .btn {
  min-height: 38px;
  padding: 8px 12px;
  font-size: .73rem;
}

.product-preview-button {
  border-color: #b9ddf5 !important;
  color: #0d83ce !important;
}

.product-edit-tabs {
  top: 8px !important;
  z-index: 40;
  width: 100%;
  margin: 0 !important;
  padding: 5px !important;
  overflow-x: auto;
  flex-wrap: nowrap !important;
}

.product-edit-tabs a {
  min-height: 34px !important;
  display: inline-flex;
  align-items: center;
  padding: 7px 11px !important;
  font-size: .71rem;
  font-weight: 750;
  white-space: nowrap;
}

.neo-product-editor-full .tab-pane {
  margin: 0 !important;
  padding: 18px !important;
}

.neo-product-editor-full .tab-pane > h2,
.neo-product-editor-full .panel-title-row h2 {
  margin: 0;
  font-size: 1.05rem;
}

.neo-product-editor-full .tab-pane > h2 + *,
.neo-product-editor-full .tab-pane > p + * {
  margin-top: 14px;
}

.neo-product-editor-full .panel-title-row {
  margin-bottom: 13px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e8eef5;
}

.neo-product-editor-full .panel-title-row + .panel-title-row {
  margin-top: 2px;
}

.neo-product-editor-full .panel-title-row h3,
.neo-product-editor-full .media-card-head h3,
.neo-product-editor-full .inset-panel h3,
.neo-product-editor-full .selection-panel h3 {
  margin: 0;
  font-size: .82rem;
}

.neo-product-editor-full .panel-title-row p,
.neo-product-editor-full .section-caption,
.neo-product-editor-full .tab-pane > p {
  margin: 3px 0 0;
  color: #7b8ba0;
  font-size: .72rem;
  line-height: 1.45;
}

.neo-product-editor-full .neo-form-grid {
  grid-template-columns: repeat(auto-fit, minmax(205px, 1fr));
  gap: 11px 12px;
  margin-bottom: 14px;
}

.neo-product-editor-full .neo-form-grid label {
  gap: 5px;
  min-width: 0;
}

.neo-product-editor-full .neo-form-grid .wide {
  grid-column: 1 / -1;
}

.neo-product-editor-full textarea:not(.rich-editor-source) {
  min-height: 94px;
}

.rich-description-editor {
  margin-top: 2px;
  border-radius: 11px;
}

.rich-description-head {
  padding: 11px 13px;
}

.rich-editor-toolbar {
  gap: 4px;
  padding: 7px;
}

.rich-editor-toolbar > button,
.rich-toolbar-upload {
  width: 35px;
  height: 35px;
  min-width: 35px;
  min-height: 35px;
  padding: 0;
  border-radius: 7px;
}

.rich-editor-toolbar > button svg,
.rich-toolbar-upload svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.rich-editor-toolbar > select {
  height: 35px;
  min-height: 35px;
}

.rich-editor-canvas {
  min-height: 270px;
  max-height: 580px;
  padding: 17px;
}

.neo-product-editor-full .product-media-layout {
  gap: 12px !important;
  margin-top: 12px;
}

.neo-product-editor-full .media-editor-card,
.neo-product-editor-full .inset-panel,
.neo-product-editor-full .selection-panel {
  padding: 14px;
  border: 1px solid #e4ebf2;
  background: #fbfdff !important;
}

.neo-product-editor-full .inset-panel {
  margin: 13px 0;
}

.neo-product-editor-full .neo-check-grid {
  grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
  gap: 8px;
  margin: 12px 0;
}

.neo-product-editor-full .neo-check-grid label {
  min-height: 42px;
  padding: 9px 11px;
  border-radius: 9px !important;
  background: #fff !important;
  font-size: .72rem;
}

.neo-product-editor-full .variant-mode-picker,
.neo-product-editor-full .payment-checkbox-list {
  gap: 8px;
}

.neo-product-editor-full .variant-mode-picker > label,
.neo-product-editor-full .payment-checkbox-list > label {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 11px;
  border: 1px solid #e1e9f1;
  border-radius: 9px;
  background: #fff;
}

.neo-product-editor-full .variant-editor-row {
  grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
  gap: 10px;
  padding: 12px;
  border-radius: 11px;
  background: #fbfdff;
}

.neo-product-editor-full .warehouse-grid-header,
.neo-product-editor-full .warehouse-grid-row {
  grid-template-columns: minmax(170px, 1.35fr) repeat(4, minmax(115px, 1fr));
  gap: 9px;
}

.neo-product-editor-full .warehouse-grid-header {
  padding: 0 10px;
  color: #71839a;
  font-size: .68rem;
  font-weight: 800;
}

.neo-product-editor-full .warehouse-grid-row {
  padding: 11px;
  border: 1px solid #e4ebf2;
  border-radius: 11px;
  background: #fbfdff;
}

.neo-product-editor-full .category-tree-selector,
.neo-product-editor-full .selection-list {
  max-height: 430px;
  overflow: auto;
}

.neo-product-editor-full .product-selection-layout {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px !important;
}

@media (max-width: 1380px) {
  .product-list-filter {
    grid-template-columns: repeat(4, minmax(145px, 1fr));
  }
  .product-list-filter .ops-actions { grid-column: 1 / -1; justify-content: flex-start; }
}

@media (max-width: 820px) {
  .neo-admin-topbar .neo-admin-global-search { display: none; }
  .product-page-actions { width: 100%; justify-content: flex-start; }
  .product-section-nav { margin-top: 10px !important; }
  .product-list-filter { grid-template-columns: 1fr 1fr; }
  .product-list-filter .ops-field:first-child,
  .product-list-filter .ops-actions { grid-column: 1 / -1; }
  .product-editor-head { align-items: flex-start !important; }
  .product-editor-head h1 { white-space: normal; }
  .product-toolbar { width: 100%; justify-content: flex-start; }
  .neo-product-editor-full .tab-pane { padding: 14px !important; }
  .neo-product-editor-full .product-media-layout,
  .neo-product-editor-full .product-selection-layout { grid-template-columns: 1fr; }
  .neo-product-editor-full .warehouse-grid-header { display: none; }
  .neo-product-editor-full .warehouse-grid-row { grid-template-columns: 1fr 1fr; }
  .neo-product-editor-full .warehouse-name-cell { grid-column: 1 / -1; }
}

@media (max-width: 520px) {
  .product-list-filter { grid-template-columns: 1fr; }
  .product-list-filter .ops-field:first-child,
  .product-list-filter .ops-actions { grid-column: auto; }
  .product-list-filter .ops-actions { justify-content: stretch; }
  .product-list-filter .ops-actions .btn { flex: 1 1 auto; }
  .neo-product-editor-full .neo-form-grid { grid-template-columns: 1fr; }
  .neo-product-editor-full .warehouse-grid-row { grid-template-columns: 1fr; }
.neo-product-editor-full .warehouse-name-cell { grid-column: auto; }
}

/* 2026-08 admin content and data-table refinement */
.neo-workspace .btn svg,
.table-row-actions svg,
.table-icon-link svg,
.announcement-admin-page svg { width:17px; height:17px; flex:0 0 17px; fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; }
.neo-workspace .btn { display:inline-flex; align-items:center; justify-content:center; gap:7px; }
.admin-list-toolbar { min-height:64px; padding:12px 14px !important; display:flex; align-items:center; justify-content:space-between; gap:16px; box-shadow:none !important; }
.admin-inline-search { width:min(520px,100%); display:flex; align-items:center; gap:8px; position:relative; }
.admin-inline-search > svg { position:absolute; left:13px; width:18px; height:18px; fill:none; stroke:#70839a; stroke-width:1.8; pointer-events:none; }
.admin-inline-search > input { width:100%; min-height:42px; padding:8px 12px 8px 40px; border:1px solid #d7e2ec; border-radius:10px; background:#fff; color:#142a43; outline:0; }
.admin-inline-search > input:focus { border-color:#4da9ee; box-shadow:0 0 0 3px rgba(28,145,229,.1); }
.admin-table-panel { padding:0 16px !important; overflow:hidden; box-shadow:none !important; }
.admin-data-table { margin:0 !important; color:#1a3049 !important; font-size:.84rem; }
.admin-data-table thead th { padding:13px 10px !important; border-bottom:1px solid #dce6ef !important; background:#f8fafc !important; color:#63768d !important; font-size:.69rem !important; font-weight:800 !important; letter-spacing:.045em; text-transform:uppercase; white-space:nowrap; }
.admin-data-table tbody td { padding:12px 10px !important; border-color:#e7edf3 !important; vertical-align:middle; }
.admin-data-table tbody tr:hover:not(.review-reply-row) { background:#fbfdff; }
.admin-data-table td > small,.admin-data-table td > span + small,.admin-data-table td > strong + small { display:block; margin-top:3px; color:#7b8ca0; }
.admin-empty-cell { padding:40px 20px !important; color:#77899d; text-align:center; }
.table-row-actions { display:flex; align-items:center; flex-wrap:wrap; gap:7px; }
.table-row-actions form { margin:0; }
.table-row-actions .btn { min-height:36px; padding:7px 10px !important; white-space:nowrap; }
.table-icon-link { display:inline-flex; align-items:center; gap:7px; color:#0786d1; font-weight:700; text-decoration:none; white-space:nowrap; }
.muted-cell { color:#8797aa; }
.table-person-cell,.table-product-cell { display:flex; align-items:center; gap:10px; min-width:160px; }
.table-person-cell > span:last-child,.table-product-cell > span:last-child { min-width:0; }
.table-person-cell > span:last-child { display:grid; gap:3px; line-height:1.2; }
.table-person-cell > span:last-child strong,.table-person-cell > span:last-child small { display:block; }
.table-person-cell > span:last-child small { color:#788a9e; font-size:.71rem; }
.customer-profile-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(390px,.85fr); gap:18px; align-items:start; }
.customer-profile-editor,.customer-order-history { box-shadow:none!important; }
.customer-profile-summary { display:flex; align-items:center; gap:12px; padding-bottom:16px; margin-bottom:16px; border-bottom:1px solid #e3ebf2; }
.customer-profile-summary>img,.customer-profile-summary>span:first-child { width:46px; height:46px; border-radius:13px; object-fit:cover; display:grid; place-items:center; background:#eaf5fd; color:#098ad6; font-weight:850; }
.customer-profile-summary h2,.customer-panel-heading h2 { margin:0; font-size:1.08rem; }.customer-profile-summary p,.customer-panel-heading p { margin:3px 0 0; color:#72849a; font-size:.75rem; }.customer-profile-summary>.status-pill { margin-left:auto; }
.customer-profile-editor .neo-form-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }.customer-profile-editor .neo-form-grid label { gap:5px; }.customer-profile-editor .customer-block-settings { display:grid; grid-template-columns:1fr 1.4fr 1fr; gap:12px; padding:14px; border:1px solid #e2eaf1; border-radius:12px; background:#f8fbfd; }
.customer-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }.customer-panel-heading>span { min-width:30px; height:30px; display:grid; place-items:center; border-radius:9px; background:#eaf5fd; color:#0789d4; font-weight:800; }.customer-orders-table td,.customer-orders-table th { padding:11px 9px!important; }.customer-orders-table .admin-icon-action svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; }
@media(max-width:1180px){.customer-profile-layout{grid-template-columns:1fr}.customer-profile-editor .neo-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.customer-profile-editor .neo-form-grid,.customer-profile-editor .customer-block-settings{grid-template-columns:1fr}.customer-profile-editor .wide{grid-column:auto}.customer-profile-summary{align-items:flex-start;flex-wrap:wrap}.customer-profile-summary>.status-pill{margin-left:0}}
.settings-form{display:grid;gap:12px}.settings-section-collapsible{overflow:hidden;transition:border-color .2s ease}.settings-section-collapsible>.settings-section-head{position:relative;margin:0!important;padding:16px 48px 16px 0!important;cursor:pointer;border:0!important}.settings-section-collapsible>.settings-section-head .settings-collapse-chevron{position:absolute;right:2px;top:50%;width:20px;height:20px;transform:translateY(-50%) rotate(180deg);fill:none;stroke:#60768e;stroke-width:1.8;transition:transform .2s ease}.settings-section-collapsible.is-collapsed>.settings-section-head .settings-collapse-chevron{transform:translateY(-50%)}.settings-section-collapsible.is-collapsed>:not(.settings-section-head){display:none!important}.settings-section-collapsible>.settings-section-head h2{font-size:1rem!important}.settings-section-collapsible>.settings-section-head p{margin-bottom:0!important;font-size:.75rem}
.nav-editor-switches{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;padding-left:8px}.nav-editor-switches .neo-switch{min-height:36px;margin:0!important;padding:7px 10px!important;border:1px solid #e0e9f0;border-radius:10px;background:#f8fbfd}.page-admin-actions .btn{display:inline-flex;align-items:center;gap:7px}.page-admin-actions .btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.product-group-admin-list{border:1px solid #dfe8ef;border-radius:14px;overflow:hidden;background:#fff}.product-group-admin-list .product-group-editor{margin:0!important;border:0!important;border-bottom:1px solid #e6edf3!important;border-radius:0!important;box-shadow:none!important}.product-group-admin-list .product-group-editor:last-child{border-bottom:0!important}.product-group-editor>summary{min-height:62px;padding:12px 16px!important}.product-group-editor>summary>div{display:grid!important;grid-template-columns:28px minmax(160px,1fr) 110px;align-items:center;gap:8px;width:70%}.product-group-editor>summary>div small{text-align:left}.product-group-editor>summary>span:last-child{font-size:.76rem;font-weight:750;color:#0789d4}.product-group-editor-body{border-top:1px solid #e6edf3;background:#fbfdff}
.table-avatar,.table-product-cell img { width:36px; height:36px; flex:0 0 36px; border-radius:10px; object-fit:cover; display:grid; place-items:center; background:#edf6fd; color:#168bd5; font-weight:800; }
.table-product-cell img { border-radius:8px; background:#fff; }
.table-clamp { max-width:330px; display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; color:#53677d; line-height:1.4; }
.review-stars.compact { white-space:nowrap; font-size:.94rem; }
.review-stars.compact i { color:#dbe3eb; font-style:normal; }
.review-stars.compact i.is-filled { color:#ffad21; }
.admin-data-table tr.is-unread > td:first-child { box-shadow:inset 3px 0 #168fe6; }
.status-pill.status-new { background:#e8f5ff !important; color:#087fc7 !important; border-color:#bce1f8 !important; }
.status-pill.status-danger { background:#fff0f1 !important; color:#c9424e !important; border-color:#ffd0d4 !important; }
.review-reply-row > td { padding:0 !important; background:#f8fbfe !important; }
.review-reply-workspace { display:grid; grid-template-columns:minmax(240px,.8fr) minmax(320px,1.2fr); gap:24px; padding:20px; border-left:3px solid #168fe6; }
.review-reply-workspace p { color:#53677d; }
.review-reply-workspace img { max-width:140px; max-height:100px; border-radius:10px; object-fit:cover; }
.review-reply-workspace form label { display:grid; gap:7px; color:#40566f; font-weight:700; }
.review-reply-workspace form > div { display:flex; gap:8px; margin-top:10px; }
.admin-filter-search { width:100%; display:grid; grid-template-columns:190px minmax(260px,1fr) auto auto; align-items:end; gap:10px; }
.admin-filter-search label { display:grid; gap:6px; color:#52677e; font-size:.76rem; font-weight:750; }
.search-input-with-icon { position:relative; }
.search-input-with-icon svg { position:absolute; z-index:1; left:12px; top:50%; width:17px; height:17px; transform:translateY(-50%); fill:none; stroke:#7b8da2; stroke-width:1.8; }
.search-input-with-icon input { padding-left:38px; }
.coupon-create-panel { padding:0 !important; overflow:hidden; box-shadow:none !important; }
.coupon-create-panel > summary { min-height:66px; padding:14px 18px; display:flex; align-items:center; justify-content:space-between; cursor:pointer; list-style:none; }
.coupon-create-panel > summary span { display:grid; gap:3px; }.coupon-create-panel > summary small { color:#71849a; }.coupon-create-panel > summary b { color:#0788d5; font-size:.78rem; }
.coupon-compact-form { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; padding:18px; border-top:1px solid #e1e9f0; background:#fbfdff; }
.coupon-compact-form label { display:grid; align-content:start; gap:6px; color:#4a6078; font-size:.76rem; font-weight:750; }.coupon-compact-form .wide { grid-column:1/-1; }.coupon-form-footer { display:flex !important; flex-direction:row !important; align-items:center !important; justify-content:space-between; }
.coupon-code-cell { display:inline-flex; padding:6px 9px; border-radius:7px; background:#eef7fe; color:#087fc7; letter-spacing:.04em; }
.icon-action-button { width:36px; height:36px; display:grid; place-items:center; border:1px solid #d6e2ec; border-radius:9px; background:#fff; color:#0789d5; }.icon-action-button.danger { color:#df5360; border-color:#f2cdd1; }
.poll-result-details { position:relative; display:inline-block; text-align:left; }.poll-result-details > summary { cursor:pointer; color:#0789d5; font-weight:750; list-style:none; white-space:nowrap; }.poll-result-details[open] .poll-report-options { min-width:340px; margin-top:10px; padding:14px; border:1px solid #dce7ef; border-radius:12px; background:#fff; box-shadow:0 12px 30px rgba(25,53,78,.12); }
.poll-response-list { min-width:440px; margin-top:12px; padding-top:12px; border-top:1px solid #e2eaf1; }.poll-response-list > strong { display:block; margin-bottom:8px; color:#243b55; }.poll-response-list > div { display:grid; grid-template-columns:minmax(150px,1fr) minmax(130px,1fr) auto; align-items:center; gap:12px; padding:8px 0; border-top:1px solid #edf2f6; }.poll-response-list span { display:grid; }.poll-response-list small,.poll-response-list time { color:#8292a5; font-size:.68rem; }.poll-response-list em { color:#0789d5; font-style:normal; font-weight:750; }
.footer-editor-stack { grid-template-columns:1fr !important; gap:10px !important; }
.footer-collapsible-editor { padding:0 !important; overflow:hidden; border:1px solid #dbe6ef !important; border-radius:13px !important; background:#fff !important; }
.footer-collapsible-editor > summary,.poll-collapsible-editor > summary { min-height:68px; padding:12px 16px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; list-style:none; cursor:pointer; }
.footer-collapsible-editor > summary > span:nth-child(2),.poll-collapsible-editor > summary > span:nth-child(2) { display:grid; gap:3px; }.footer-collapsible-editor summary small,.poll-collapsible-editor summary small { color:#73869b; }.footer-collapsible-editor summary b,.poll-collapsible-editor summary b { color:#0789d5; font-size:.76rem; }
.footer-summary-preview { width:44px; height:44px; display:grid; place-items:center; border-radius:10px; overflow:hidden; background:#eef7fd; color:#168bd5; font-weight:900; }.footer-summary-preview img { width:100%; height:100%; object-fit:cover; }
.footer-collapsible-body,.poll-collapsible-body { padding:16px; border-top:1px solid #e3ebf2; background:#fbfdff; }
.poll-editor-grid { grid-template-columns:1fr !important; gap:10px !important; }.poll-collapsible-editor { padding:0 !important; overflow:hidden; box-shadow:none !important; }.poll-collapsible-body > .btn { margin-right:8px; margin-top:10px; }
.nav-header-piece { min-width:190px; padding:12px !important; }.nav-editor-grid { align-items:start; }.nav-visibility-switch { min-height:42px !important; display:flex !important; flex-direction:row !important; align-items:center !important; gap:9px !important; padding:10px 12px !important; }.nav-visibility-switch input { margin:0 !important; position:static !important; }
.announcement-editor { display:grid; gap:18px; box-shadow:none !important; }.announcement-editor-preview,.storefront-announcement > div { display:flex; align-items:center; gap:10px; }.announcement-editor-preview { min-height:54px; padding:12px 16px; border-radius:12px; background:#eaf6ff; color:#1f587d; font-weight:650; }.announcement-editor-preview img,.storefront-announcement img { width:28px; height:28px; object-fit:contain; }.announcement-editor-actions { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.storefront-announcement { position:relative; z-index:1005; margin:0!important; padding:0 16px; background:#eaf6ff; color:#1d587e; border-top:1px solid #dce8f0; border-bottom:1px solid #cfe7f6; transition:opacity .22s ease,transform .22s ease; }.storefront-announcement > div { min-height:44px; max-width:1720px; margin:auto; justify-content:flex-start; font-size:.84rem; font-weight:600; }.storefront-announcement.align-center > div,.announcement-editor-preview.align-center { justify-content:center; text-align:center; }.storefront-announcement.is-bold > div,.announcement-editor-preview.is-bold { font-weight:800; }.storefront-announcement button { width:30px; height:30px; display:grid; place-items:center; margin-left:auto; border:0; background:transparent; color:inherit; }.storefront-announcement button svg { width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8; }.storefront-announcement.tone-success { background:#eafaf1;color:#216b45;border-color:#c8eed8; }.storefront-announcement.tone-warning { background:#fff7e7;color:#835d18;border-color:#f5dfad; }.storefront-announcement.tone-neutral { background:#f3f5f7;color:#4f6174;border-color:#dfe5ea; }.storefront-announcement.is-leaving { opacity:0; transform:translateY(-8px); }
.product-detail-page .buy-box { gap:22px !important; }

@media(max-width:900px){.admin-list-toolbar{align-items:stretch;flex-direction:column}.admin-inline-search{width:100%}.admin-filter-search{grid-template-columns:1fr 1fr}.admin-filter-search .grow{grid-column:1/-1}.review-reply-workspace{grid-template-columns:1fr}.coupon-compact-form{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.admin-table-panel{padding:0 8px!important}.admin-data-table{min-width:760px}.admin-filter-search,.coupon-compact-form{grid-template-columns:1fr}.coupon-compact-form .wide{grid-column:auto}.coupon-form-footer{align-items:stretch!important;flex-direction:column!important}.announcement-editor-actions{align-items:stretch;flex-direction:column}.storefront-announcement>div{justify-content:flex-start;font-size:.76rem}.product-detail-page .buy-box{gap:12px!important}}
.method-editor-list{display:grid;gap:0!important;border:1px solid #dfe8ef;border-radius:14px;overflow:hidden}.method-editor-list .compact-list-card{margin:0!important;border:0!important;border-bottom:1px solid #e5edf3!important;border-radius:0!important;box-shadow:none!important}.method-editor-list .compact-list-card:last-child{border-bottom:0!important}.compact-list-summary{min-height:66px;padding:10px 14px!important}.compact-list-body{padding:18px!important;border-top:1px solid #e5edf3;background:#fbfdff}.compact-list-actions .btn,.editor-toolbar .btn{display:inline-flex;align-items:center;gap:7px}.compact-list-actions .btn svg,.editor-toolbar .btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.status-editor-table{display:grid;gap:0;border:1px solid #dfe8ef;border-radius:14px;overflow:hidden}.status-editor-row{margin:0!important;border:0!important;border-bottom:1px solid #e5edf3!important;border-radius:0!important;box-shadow:none!important}.status-editor-row:last-child{border-bottom:0!important}.status-color-preview{width:12px;height:34px;border-radius:999px;background:var(--status-color);box-shadow:0 0 0 4px color-mix(in srgb,var(--status-color) 12%,white)}
.settings-integration-details{padding:0!important;margin:0 0 10px!important;overflow:hidden}.settings-integration-details>summary{list-style:none;cursor:pointer;padding:14px 16px}.settings-integration-details>summary::-webkit-details-marker{display:none}.settings-integration-body{padding:16px;border-top:1px solid #e4ecf2;background:#fbfdff}.settings-integration-details h2{margin:0;font-size:1rem}

/* 2026-08 compact configuration pass */
body.has-storefront-announcement.storefront-navbar-full { --app-header: 82px; }
body.has-storefront-announcement:not(.storefront-navbar-full) { --app-header: 94px; }
body.has-storefront-announcement .storefront-announcement {
  margin-top: 0 !important;
  border-top: 0 !important;
}

.storefront-category-ribbon { position: relative; z-index: 2; }
.storefront-category-ribbon > a { position: relative; z-index: 1; pointer-events: auto; }

.order-suite .ops-table tbody tr.order-row-waiting > td { background: #fff8e8 !important; }
.order-suite .ops-table tbody tr.order-row-cancelled > td { background: #fff0f2 !important; }
.order-suite .ops-table tbody tr.order-row-processing > td { background: #eef7ff !important; }
.order-suite .ops-table tbody tr.order-row-shipped > td { background: #eefaf3 !important; }
.order-suite .ops-table tbody tr.order-row-waiting:hover > td { background: #fff3d5 !important; }
.order-suite .ops-table tbody tr.order-row-cancelled:hover > td { background: #ffe5e9 !important; }
.order-suite .ops-table tbody tr.order-row-processing:hover > td { background: #e1f1ff !important; }
.order-suite .ops-table tbody tr.order-row-shipped:hover > td { background: #e0f6e9 !important; }

.neo-admin .product-group-admin-list .product-group-editor > summary {
  min-height: 52px !important;
  padding: 7px 14px !important;
}
.neo-admin .product-group-admin-list .product-group-editor > summary > div {
  width: min(72%, 760px) !important;
  grid-template-columns: 24px minmax(150px, 1fr) 90px !important;
}
.neo-admin .product-group-admin-list .product-group-editor > summary strong { font-size: .86rem; }
.neo-admin .product-group-admin-list .product-group-editor > summary small,
.neo-admin .product-group-admin-list .product-group-editor > summary > span:last-child { font-size: .7rem !important; }
.neo-admin .product-group-admin-list .product-group-editor-body { padding: 14px !important; }
.neo-admin .content-hub-save { min-height: 54px; padding: 8px 12px !important; }

.settings-form .neo-switch,
.settings-form .settings-single-switch,
.settings-section-collapsible .neo-switch,
.automatic-mail-page .neo-switch,
.external-api-page .neo-check-grid label,
.announcement-editor .neo-switch {
  width: max-content !important;
  max-width: 100%;
  min-height: 34px !important;
  margin: 0 !important;
  padding: 6px 9px !important;
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  justify-self: start;
  border-radius: 9px !important;
}
.settings-form .settings-single-switch {
  border-color: transparent !important;
  background: transparent !important;
  padding-inline: 0 !important;
}
.settings-form .neo-switch input,
.settings-form .settings-single-switch input,
.automatic-mail-page .neo-switch input,
.external-api-page input[type="checkbox"],
.announcement-editor .neo-switch input {
  position: static !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  flex: 0 0 16px;
}

.footer-static-note {
  min-height: 38px;
  margin: 0 0 8px !important;
  padding: 3px 0 7px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.footer-static-note > svg { width: 20px !important; height: 20px !important; }

.announcement-editor-compact { gap: 12px !important; padding: 16px 18px !important; }
.announcement-editor-compact .announcement-editor-preview { min-height: 44px; padding: 9px 13px; }
.announcement-editor-compact .announcement-config-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px 12px !important;
}
.announcement-editor-compact .announcement-config-grid > label { gap: 5px; font-size: .72rem; }
.announcement-editor-compact .announcement-config-grid textarea { min-height: 72px; }
.announcement-editor-compact .announcement-config-grid small { font-size: .63rem; line-height: 1.25; }
.announcement-editor-compact .announcement-editor-actions { padding-top: 2px; }

.compact-settings-details {
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid #dfe8ef !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: none !important;
}
.compact-settings-details + .compact-settings-details { margin-top: 10px !important; }
.compact-settings-details > summary {
  min-height: 54px;
  padding: 9px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  list-style: none;
  cursor: pointer;
}
.compact-settings-details > summary::-webkit-details-marker { display: none; }
.compact-settings-details > summary > span { display: grid; gap: 2px; }
.compact-settings-details > summary strong { color: #18314c; font-size: .9rem; }
.compact-settings-details > summary small { color: #778a9f; font-size: .68rem; }
.compact-settings-details > summary b { color: #0789d4; font-size: .7rem; }
.compact-settings-details[open] > summary { border-bottom: 1px solid #e3ebf2; background: #fbfdff; }
.compact-settings-body { padding: 14px; }

.external-api-page .external-api-settings-panel,
.automatic-mail-page { padding: 8px !important; }
.external-api-page .external-api-settings-panel > .ops-subnav,
.automatic-mail-page > .ops-subnav { margin-bottom: 8px !important; }
.external-api-page .neo-check-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 10px; }
.external-api-page .neo-check-grid label { border: 0 !important; background: transparent !important; }
.external-api-page .neo-table th,
.external-api-page .neo-table td { padding: 9px 10px !important; }
.external-api-page textarea[readonly] { min-height: 110px; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .72rem; }

.automatic-mail-page { display: grid; gap: 8px; }
.automatic-mail-page .settings-save-bar {
  min-height: 50px;
  padding: 7px 8px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: #71849a;
  font-size: .76rem;
}
.mail-template-stack { display: grid; gap: 7px !important; }
.mail-template-card { margin: 0 !important; padding: 0 !important; overflow: hidden; border-radius: 10px !important; }
.mail-template-summary {
  min-height: 48px;
  padding: 8px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  list-style: none;
}
.mail-template-summary::-webkit-details-marker { display: none; }
.mail-template-summary > span { display: grid; gap: 2px; }
.mail-template-summary small { color: #7a8ca0; font-size: .66rem; }
.mail-template-summary b { padding: 4px 8px; border-radius: 999px; background: #eef7fd; color: #1687cf; font-size: .65rem; }
.mail-template-card-body { padding: 14px; border-top: 1px solid #e4ebf2; background: #fbfdff; }
.mail-template-remove-row { display: flex; justify-content: flex-end; margin-bottom: 8px; }
.mail-template-flags { gap: 6px !important; }
.mail-placeholder-box { margin-top: 12px !important; padding: 10px !important; }

@media (max-width: 900px) {
  .announcement-editor-compact .announcement-config-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .external-api-page .neo-check-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  body.has-storefront-announcement.storefront-navbar-full { --app-header: 64px; }
  body.has-storefront-announcement:not(.storefront-navbar-full) { --app-header: 64px; }
  .announcement-editor-compact .announcement-config-grid { grid-template-columns: 1fr !important; }
  .announcement-editor-compact .announcement-config-grid .wide { grid-column: auto !important; }
  .automatic-mail-page .settings-save-bar { align-items: stretch; flex-direction: column; }
}

/* Final checkout authority: keep long method lists compact and the completion screen shadow-free. */
.checkout-shell .method-radio-group {
  max-height: 390px;
  padding-right: 4px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #c8d9e6 transparent;
}
.checkout-shell .method-radio-group::-webkit-scrollbar { width: 6px; }
.checkout-shell .method-radio-group::-webkit-scrollbar-thumb { border-radius: 99px; background: #c8d9e6; }
.checkout-shell .method-choice-copy strong,
.checkout-shell .method-choice-price { color: #132744 !important; }
.checkout-shell .method-choice-copy small { color: #61758e !important; }
.checkout-shell .method-choice-body,
.checkout-shell .method-choice-card:hover .method-choice-body { box-shadow: none !important; transform: none !important; }
.content-page-inner .thank-you-shell,
.content-page-inner > .cart-designer-panel,
.content-page-inner > .cart-designer-panel:hover {
  border-color: #dce6ef !important;
  background: #fff !important;
  box-shadow: none !important;
  transform: none !important;
}
@media (max-width: 767px) {
  .checkout-shell .method-radio-group { max-height: 330px; }
}

/* Four-step storefront checkout — clean Denuino commerce system (2026-08). */
.checkout-shell {
  width: min(1480px, calc(100% - 32px)) !important;
  max-width: none !important;
  margin: 20px auto 48px !important;
  padding: 26px 30px 30px !important;
  border: 1px solid #e1e9f3 !important;
  border-radius: 20px !important;
  background: #fff !important;
  color: #102443 !important;
  box-shadow: 0 12px 38px rgba(44, 74, 118, .055) !important;
}
.checkout-shell :is(h1, h2, h3, h4, strong, label, dt) { color: #102443; }
.checkout-shell :is(p, small, dd) { color: #657793; }
.checkout-hero {
  display: flex !important;
  flex-direction: column-reverse;
  align-items: stretch !important;
  gap: 24px !important;
  margin: 0 0 24px !important;
  padding: 0 6px !important;
}
.checkout-hero > div:first-child { max-width: 760px; }
.checkout-hero .eyebrow { margin: 0 0 7px; color: #087df4 !important; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.checkout-hero h1 { margin: 0 0 7px !important; font-size: clamp(1.7rem, 2.4vw, 2.35rem) !important; letter-spacing: -.035em; }
.checkout-hero p { margin: 0; font-size: .94rem; }
.checkout-stepper {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(820px, 100%) !important;
  margin: 0 auto !important;
  gap: 0 !important;
}
.checkout-step {
  position: relative;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 0;
  padding: 6px 28px !important;
  border: 0 !important;
  background: transparent !important;
  color: #71819a !important;
  font-size: .92rem;
  font-weight: 650;
  box-shadow: none !important;
}
.checkout-step::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: 50%;
  right: -18%;
  width: 36%;
  height: 1px;
  background: #cfdbea;
}
.checkout-step:last-child::after { display: none; }
.checkout-step span {
  position: relative;
  z-index: 1;
  display: inline-grid !important;
  place-items: center;
  flex: 0 0 34px;
  width: 34px !important;
  height: 34px !important;
  border: 1px solid #cfdbea !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: #6d7d96 !important;
  font-weight: 800;
}
.checkout-shell .checkout-step.active { border: 0 !important; background: transparent !important; color: #087df4 !important; box-shadow: none !important; }
.checkout-step.active span { border-color: #087df4 !important; background: #087df4 !important; color: #fff !important; box-shadow: 0 6px 18px rgba(8, 125, 244, .2) !important; }
.checkout-step.completed span { border-color: #9be6d2 !important; color: transparent !important; }
.checkout-step.completed span::before { content: "✓"; position: absolute; color: #16b58b; font-size: 1rem; }
.checkout-step.completed::after { background: #8dbfff; }
.checkout-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 340px !important;
  gap: 28px !important;
  align-items: start !important;
}
.checkout-main { min-width: 0; }
.checkout-panel {
  padding: 24px !important;
  border: 1px solid #e0e9f3 !important;
  border-radius: 16px !important;
  background: #fff !important;
  color: #102443 !important;
  box-shadow: none !important;
}
.checkout-panel:hover { transform: none !important; box-shadow: none !important; }
.checkout-panel-head { margin: 0 0 20px !important; padding: 0 !important; border: 0 !important; }
.checkout-panel-head .eyebrow { margin: 0 0 6px; color: #087df4 !important; font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.checkout-panel-head h2 { margin: 0 0 5px !important; font-size: clamp(1.45rem, 2vw, 2rem) !important; letter-spacing: -.025em; }
.checkout-panel-head p { margin: 0; }
.checkout-step-panel { display: none !important; }
.checkout-step-panel.active { display: block !important; animation: checkout-stage-enter .28s ease both; }
@keyframes checkout-stage-enter { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }
.checkout-side { position: sticky !important; top: calc(var(--app-header, 76px) + 18px) !important; }
.checkout-side-panel {
  padding: 22px !important;
  border: 1px solid #dce7f2 !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: none !important;
}
.checkout-side-title { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.checkout-side-title h2 { margin: 0 !important; font-size: 1.1rem !important; }
.checkout-side-title-icon,
.checkout-trust-list > div > span {
  display: grid;
  place-items: center;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #eff6ff;
  color: #087df4;
}
.checkout-side-title-icon svg,
.checkout-trust-list svg,
.checkout-terms-note svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.checkout-side-products {
  display: grid;
  max-height: 250px;
  margin: 0 0 17px;
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid #e2eaf3;
  border-radius: 12px;
  background: #fff;
  scrollbar-width: thin;
}
.checkout-side-product {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 10px 11px;
  border-bottom: 1px solid #e8eef5;
}
.checkout-side-product:last-child { border-bottom: 0; }
.checkout-side-product img { width: 42px; height: 42px; object-fit: contain; border-radius: 7px; background: #fff; }
.checkout-side-product > div { display: grid; min-width: 0; gap: 2px; }
.checkout-side-product strong { overflow: hidden; color: #1c3150; font-size: .73rem; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.checkout-side-product small { overflow: hidden; color: #72839a; font-size: .64rem; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.checkout-side-product b { color: #132744; font-size: .7rem; white-space: nowrap; }
.checkout-summary-totals.compact { display: grid !important; grid-template-columns: 1fr auto !important; gap: 13px 20px !important; margin: 0 !important; padding: 0 0 18px !important; border-bottom: 1px solid #e2eaf3; }
.checkout-summary-totals.compact dt,
.checkout-summary-totals.compact dd { margin: 0 !important; font-size: .91rem; }
.checkout-summary-totals.compact dt:last-of-type,
.checkout-summary-totals.compact dd:last-of-type { margin-top: 5px !important; padding-top: 16px; border-top: 1px solid #e2eaf3; font-size: 1.08rem; font-weight: 850; color: #102443 !important; }
.checkout-summary-totals.compact dd:last-of-type { color: #087df4 !important; font-size: 1.32rem; }
.checkout-trust-list { display: grid; gap: 15px; padding: 20px 0; }
.checkout-trust-list > div { display: flex; align-items: center; gap: 11px; }
.checkout-trust-list > div > span { flex-basis: 38px; width: 38px; height: 38px; border-radius: 11px; }
.checkout-trust-list p { display: grid; gap: 2px; margin: 0; line-height: 1.3; }
.checkout-trust-list strong { font-size: .83rem; }
.checkout-trust-list small { font-size: .73rem; }
.checkout-terms-note { display: flex; align-items: center; gap: 10px; padding: 13px; border: 1px solid #bcdcff; border-radius: 11px; background: #f7fbff; color: #087df4; font-size: .73rem; line-height: 1.4; }
.checkout-terms-note svg { flex: 0 0 24px; }

/* Product rows and quantity controls */
.checkout-products { display: grid; gap: 0 !important; border: 1px solid #e1e9f2; border-radius: 13px; overflow: hidden; }
.checkout-product-table-head { grid-template-columns: minmax(0, 1fr) 130px 180px !important; padding: 10px 18px !important; border-bottom: 1px solid #e1e9f2; background: #fbfdff !important; }
.checkout-product-card {
  margin: 0 !important;
  padding: 16px 18px !important;
  border: 0 !important;
  border-bottom: 1px solid #e4ebf3 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  transform: none !important;
}
.checkout-product-card:last-child { border-bottom: 0 !important; }
.cart-density-table .checkout-product-card { grid-template-columns: 86px minmax(0, 1fr) 190px !important; gap: 16px !important; align-items: center !important; }
.checkout-product-card > img { width: 78px !important; height: 72px !important; object-fit: contain !important; background: #fff !important; }
.checkout-product-copy h3 { margin: 0 0 5px !important; font-size: .98rem !important; line-height: 1.35; }
.checkout-product-copy > p:not(.cart-variant-line) { margin: 5px 0 !important; font-size: .78rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cart-product-codes { gap: 8px !important; }
.cart-product-codes small { font-size: .72rem; }
.checkout-product-meta { display: flex !important; gap: 14px !important; margin-top: 8px; font-size: .82rem; }
.checkout-qty-form { display: flex !important; justify-content: flex-end; align-items: center; gap: 10px !important; }
.cart-quantity-control { display: grid; grid-template-columns: 34px 48px 34px; height: 38px; border: 1px solid #d7e2ee; border-radius: 9px; overflow: hidden; background: #fff; }
.cart-quantity-control .cart-qty-step { border: 0; background: #fff; color: #31506f; font-size: 1.1rem; cursor: pointer; }
.cart-quantity-control .cart-qty-step:hover { background: #f1f7fd; color: #087df4; }
.cart-quantity-control .auto-cart-qty { width: 48px !important; min-width: 0 !important; height: 36px !important; padding: 0 !important; border: 0 !important; border-inline: 1px solid #e0e8f1 !important; border-radius: 0 !important; text-align: center; -moz-appearance: textfield; }
.cart-quantity-control .auto-cart-qty::-webkit-outer-spin-button,
.cart-quantity-control .auto-cart-qty::-webkit-inner-spin-button { margin: 0; -webkit-appearance: none; }
.cart-remove-button { display: grid !important; place-items: center; width: 38px !important; height: 38px !important; min-width: 38px !important; padding: 0 !important; border: 0 !important; color: #7b8ca3 !important; background: transparent !important; }
.cart-remove-button:hover { color: #e04455 !important; background: #fff3f4 !important; }
.cart-remove-button svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.checkout-cart-footer { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 18px; margin-top: 14px !important; }
.checkout-coupon-row { display: grid !important; grid-template-columns: minmax(180px, 1fr) minmax(260px, 440px); align-items: center; gap: 18px; padding: 14px 16px !important; border: 1px solid #cfe2f7 !important; border-radius: 12px !important; background: #f8fbff !important; }
.checkout-coupon-row h3 { margin: 0 0 3px !important; font-size: .9rem !important; }
.checkout-coupon-row p { margin: 0; font-size: .75rem; }
.coupon-form { display: grid !important; grid-template-columns: 1fr auto; gap: 8px; }
.checkout-primary-next,
.checkout-actions .btn-info,
#placeOrderButton { min-height: 44px !important; padding: 10px 24px !important; border: 0 !important; border-radius: 9px !important; background: linear-gradient(135deg, #087df4, #0566e8) !important; color: #fff !important; font-weight: 800 !important; box-shadow: 0 8px 18px rgba(8, 125, 244, .14) !important; }
.checkout-primary-next:hover,
.checkout-actions .btn-info:hover,
#placeOrderButton:hover { transform: translateY(-1px); box-shadow: 0 10px 22px rgba(8, 125, 244, .2) !important; }

/* Address, delivery and payment stages */
.checkout-toggle-row { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px !important; margin-bottom: 14px; }
.checkout-toggle-row .consent-row { min-height: 48px; padding: 10px 14px !important; border: 1px solid #dbe6f1 !important; border-radius: 10px !important; background: #fff !important; }
.checkout-address-block { margin: 0 0 14px !important; padding: 16px !important; border: 1px solid #e0e9f2 !important; border-radius: 12px !important; background: #fff !important; }
.checkout-address-block h3 { margin: 0 0 12px !important; font-size: .96rem !important; }
.checkout-field-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px !important; }
.checkout-field-grid .wide { grid-column: 1 / -1; }
.checkout-shell .form-label { margin: 0; color: #243b5a !important; font-size: .78rem; font-weight: 700; }
.checkout-shell :is(.form-control, .form-select) { min-height: 42px !important; border: 1px solid #d8e3ef !important; border-radius: 9px !important; background-color: #fff !important; color: #132744 !important; box-shadow: none !important; }
.checkout-shell :is(.form-control, .form-select):focus { border-color: #60aaf7 !important; box-shadow: 0 0 0 3px rgba(8, 125, 244, .08) !important; }
.company-fields { grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 12px 16px !important; }
.checkout-method-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px !important;
  align-items: start;
}
.checkout-shipping-stage > span,
.checkout-payment-stage > span { display: block; margin: 0 0 10px; font-size: .85rem; }
.checkout-shell .method-radio-group { display: grid !important; grid-template-columns: 1fr; gap: 8px !important; max-height: none !important; padding: 0 !important; overflow: visible !important; }
.checkout-shell .method-choice-card { margin: 0 !important; }
.checkout-shell .method-choice-body { min-height: 62px !important; padding: 9px 12px !important; border: 1px solid #dce6f1 !important; border-radius: 10px !important; background: #fff !important; }
.checkout-shell .method-choice-card.is-selected .method-choice-body { border-color: #087df4 !important; background: #f7fbff !important; box-shadow: inset 0 0 0 1px #087df4 !important; }
.checkout-shell .method-choice-card.has-pickup-panel .method-choice-body {
  border: 0 !important;
  border-bottom: 1px solid #c8def4 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.checkout-shell .method-choice-card input { accent-color: #087df4; }
.method-choice-logo { width: 42px !important; height: 34px !important; object-fit: contain !important; }
.method-choice-copy strong { font-size: .87rem !important; }
.method-choice-copy small { margin-top: 2px; font-size: .72rem !important; }
.method-choice-price { margin-left: auto; font-size: .82rem !important; white-space: nowrap; }
.shipping-method-unit { min-width: 0; }
.shipping-method-unit.has-pickup-panel {
  overflow: hidden;
  border: 1px solid #46a2f5;
  border-radius: 11px;
  background: #f5faff;
  box-shadow: inset 3px 0 0 #087df4;
}
.pickup-selector-panel { margin: 4px 0 4px 26px !important; padding: 12px 14px !important; border: 1px solid #9dcbfb; border-radius: 9px; background: #f5faff; }
.shipping-method-unit > .pickup-selector-panel {
  margin: 0 !important;
  padding: 12px 14px 14px 38px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #f5faff !important;
}
.pickup-selector-heading { display: grid; gap: 2px; margin-bottom: 9px; }
.pickup-selector-heading strong { font-size: .79rem; }
.pickup-selector-heading small { color: #6a7e97; font-size: .69rem; font-weight: 500; }
.shipping-method-unit .pickup-point-summary,
.shipping-method-unit #pickupPointSummary {
  margin-top: 9px;
  color: #172a43 !important;
  opacity: 1 !important;
  font-size: .74rem;
  font-weight: 650;
  line-height: 1.45;
}
#openCarrierMapWidget {
  border: 1px solid #b7c0cc !important;
  background: #d6dce4 !important;
  color: #172a43 !important;
  box-shadow: none !important;
}
#openCarrierMapWidget:hover,
#openCarrierMapWidget:focus-visible {
  border-color: #a5afbc !important;
  background: #c6ced8 !important;
  color: #102239 !important;
}
#placeOrderButton:disabled {
  cursor: not-allowed;
  border-color: #cbd4df !important;
  background: #d7dee7 !important;
  color: #7b899b !important;
  box-shadow: none !important;
  transform: none !important;
  opacity: 1 !important;
}
.checkout-summary-card { margin-top: 16px !important; padding: 15px 16px !important; border: 1px solid #e0e9f2 !important; border-radius: 11px !important; background: #fff !important; }
.checkout-summary-card h3 { margin: 0 0 12px !important; font-size: .95rem !important; }
.checkout-summary-items { display: grid; gap: 8px; }
.checkout-summary-item { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; font-size: .78rem; }
.checkout-summary-totals:not(.compact) { margin-top: 12px !important; padding-top: 12px !important; border-top: 1px solid #e2eaf3; }
.checkout-actions { display: flex !important; justify-content: space-between !important; align-items: center; gap: 12px; margin-top: 18px !important; }
.checkout-actions .btn-outline-light { min-height: 42px; border: 1px solid #d7e2ee !important; background: #fff !important; color: #344d6a !important; box-shadow: none !important; }
.checkout-payment-mount { margin-bottom: 16px; }
.checkout-payment-mount .checkout-payment-stage { display: block; }
.checkout-selection-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-bottom: 16px; padding: 13px 16px; border: 1px solid #e0e9f2; border-radius: 11px; background: #fbfdff; }
.checkout-selection-strip > div { display: grid; gap: 3px; padding: 0 16px; border-right: 1px solid #e0e9f2; }
.checkout-selection-strip > div:first-child { padding-left: 0; }
.checkout-selection-strip > div:last-child { padding-right: 0; border-right: 0; }
.checkout-selection-strip span { color: #6b7e97; font-size: .7rem; }
.checkout-selection-strip strong { font-size: .82rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.checkout-final-card { display: grid !important; grid-template-columns: minmax(0, 1.4fr) minmax(220px, .8fr); gap: 20px; margin: 0 0 12px !important; padding: 16px !important; border: 1px solid #e0e9f2 !important; border-radius: 11px !important; background: #fff !important; }
.checkout-final-card h3 { grid-column: 1 / -1; margin: 0 !important; font-size: .96rem !important; }
.checkout-final-totals { padding-left: 18px; border-left: 1px solid #e1e9f2; }
.checkout-final-totals p { display: flex; justify-content: space-between; gap: 12px; margin: 0 0 8px; font-size: .78rem; }
.checkout-final-totals p:last-child { margin-top: 12px; padding-top: 11px; border-top: 1px solid #e1e9f2; }
.checkout-final-totals p:last-child strong { color: #087df4 !important; font-size: 1.02rem; }
.checkout-consents { display: grid !important; gap: 0 !important; border: 1px solid #e0e9f2; border-radius: 10px; overflow: hidden; }
.checkout-consents .consent-row { min-height: 42px; margin: 0 !important; padding: 9px 13px !important; border: 0 !important; border-bottom: 1px solid #e7edf4 !important; border-radius: 0 !important; background: #fff !important; font-size: .76rem; }
.checkout-consents .consent-row:last-child { border-bottom: 0 !important; }
.checkout-consents input { width: 16px; height: 16px; accent-color: #087df4; }
.checkout-consents .consent-row.is-invalid { background: #fff5f6 !important; color: #a92f43 !important; }
.checkout-consents .consent-row.is-invalid input { outline: 2px solid rgba(225, 65, 87, .25); outline-offset: 2px; }
.checkout-consents a,
.checkout-terms-note a { color: #087df4 !important; font-weight: 750; text-decoration: underline; text-underline-offset: 2px; }

@media (max-width: 1100px) {
  .checkout-grid { grid-template-columns: minmax(0, 1fr) 300px !important; gap: 18px !important; }
  .checkout-shell { padding-inline: 20px !important; }
  .checkout-step { padding-inline: 14px !important; }
  .checkout-coupon-row { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .checkout-shell { width: min(100% - 20px, 760px) !important; margin-top: 12px !important; padding: 18px !important; }
  .checkout-grid { grid-template-columns: 1fr !important; }
  .checkout-side { position: static !important; order: -1; }
  .checkout-side-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
  .checkout-side-title,
  .checkout-side-products,
  .checkout-summary-totals.compact,
  .checkout-terms-note { grid-column: 1 / -1; }
  .checkout-trust-list { grid-column: 1 / -1; grid-template-columns: repeat(3, 1fr); }
  .checkout-trust-list > div { align-items: flex-start; }
  .checkout-cart-footer { grid-template-columns: 1fr; }
  .checkout-primary-next { justify-self: end; }
}
@media (max-width: 680px) {
  .checkout-shell { width: calc(100% - 12px) !important; margin: 6px auto 24px !important; padding: 12px !important; border-radius: 14px !important; }
  .checkout-hero { gap: 16px !important; margin-bottom: 16px !important; padding-inline: 2px !important; }
  .checkout-hero > div:first-child { display: none; }
  .checkout-stepper { overflow-x: auto; padding-bottom: 3px; }
  .checkout-stepper { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; overflow: visible; }
  .checkout-step { min-width: 0; padding: 4px 2px !important; gap: 4px; font-size: .65rem; }
  .checkout-step span { flex-basis: 28px; width: 28px !important; height: 28px !important; font-size: .75rem; }
  .checkout-step::after { display: none; }
  .checkout-panel { padding: 15px !important; border-radius: 12px !important; }
  .checkout-panel-head { margin-bottom: 14px !important; }
  .checkout-panel-head h2 { font-size: 1.35rem !important; }
  .checkout-side-panel { display: block; padding: 16px !important; }
  .checkout-trust-list { grid-template-columns: 1fr; }
  .checkout-products { border-radius: 10px; }
  .checkout-product-table-head { display: none !important; }
  .cart-density-table .checkout-product-card,
  .checkout-product-card { display: grid !important; grid-template-columns: 64px minmax(0, 1fr) !important; gap: 10px !important; padding: 13px 10px !important; }
  .checkout-product-card > img { width: 60px !important; height: 60px !important; }
  .checkout-product-copy h3 { font-size: .86rem !important; }
  .checkout-product-copy > p:not(.cart-variant-line) { display: none; }
  .checkout-product-meta { flex-wrap: wrap; gap: 7px 10px !important; }
  .checkout-qty-form { grid-column: 2; justify-content: space-between !important; }
  .cart-quantity-control { grid-template-columns: 32px 42px 32px; }
  .cart-quantity-control .auto-cart-qty { width: 42px !important; }
  .checkout-coupon-row { padding: 12px !important; }
  .coupon-form { grid-template-columns: 1fr; }
  .checkout-primary-next { width: 100%; justify-content: center; }
  .checkout-field-grid,
  .checkout-toggle-row,
  .company-fields,
  .checkout-method-grid,
  .checkout-shell .method-radio-group,
  .checkout-selection-strip,
  .checkout-final-card { grid-template-columns: 1fr !important; }
  .checkout-field-grid .wide { grid-column: auto; }
  .company-fields { grid-column: auto; }
  .checkout-selection-strip > div { padding: 9px 0; border-right: 0; border-bottom: 1px solid #e0e9f2; }
  .checkout-selection-strip > div:last-child { border-bottom: 0; }
  .checkout-final-card h3 { grid-column: auto; }
  .checkout-final-totals { padding: 14px 0 0; border-left: 0; border-top: 1px solid #e1e9f2; }
  .checkout-actions { align-items: stretch; flex-direction: column-reverse; }
  .checkout-actions .btn { width: 100%; }
}

/* Final catalog/cart cascade guard: keep the clean treatment above legacy theme rules. */
.storefront-header-shell .shop-category-dropdown { display: none !important; }
.products-designer-shell .catalog-landing-card,
.products-designer-shell .category-block-card,
.products-designer-shell .product-card,
.products-designer-shell .store-block,
.products-designer-shell .catalog-toolbar,
.products-designer-shell .product-catalog-main > .store-section {
  box-shadow: none !important;
  transform: none !important;
}
.products-designer-shell .catalog-landing-card,
.products-designer-shell .category-block-card,
.products-designer-shell .product-card { border-color: #e0e6ed !important; }
.products-designer-shell .catalog-landing-card:hover,
.products-designer-shell .category-block-card:hover,
.products-designer-shell .product-card:hover { border-color: #ccd7e2 !important; box-shadow: none !important; transform: none !important; }
.products-designer-shell .catalog-filter-panel { display: none !important; }
.checkout-product-table-head { display: grid !important; grid-template-columns: 72px minmax(170px,1fr) 82px 118px 88px !important; gap: 10px !important; }
.checkout-product-table-head > span:first-child { grid-column: 1 / 3; }
.cart-density-table .checkout-product-card,
.checkout-product-card { display: grid !important; grid-template-columns: 72px minmax(170px,1fr) 82px 118px 88px !important; gap: 10px !important; align-items: center !important; }
.checkout-product-copy { min-width: 0; }
.checkout-product-copy h3 { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.checkout-product-card > img { width: 64px !important; height: 64px !important; }
.checkout-qty-form { grid-column: 4 !important; }

@media (max-width: 820px) {
  .checkout-product-table-head { display: none !important; }
  .cart-density-table .checkout-product-card,
  .checkout-product-card { grid-template-columns: 64px minmax(0,1fr) auto !important; grid-template-rows: auto auto auto !important; gap: 8px 10px !important; }
  .checkout-product-card > img { grid-column: 1; grid-row: 1 / 4; }
  .checkout-product-copy { grid-column: 2 / 4; grid-row: 1; }
  .checkout-product-unit-price { grid-column: 2; grid-row: 2; }
  .checkout-product-subtotal { grid-column: 3; grid-row: 2; padding-right: 0; }
  .checkout-qty-form { grid-column: 2 / 4 !important; grid-row: 3; justify-content: flex-start !important; padding-right: 36px; }
}

/* Cart controls share the product-row grid so quantity, subtotal and delete never collide. */
.checkout-shell.cart-density-table .checkout-product-table-head,
.checkout-shell.cart-density-table .checkout-product-card {
  grid-template-columns: 72px minmax(170px, 1fr) 82px 118px minmax(88px, auto) 38px !important;
}
.checkout-shell.cart-density-table .checkout-qty-form {
  display: contents !important;
  width: auto;
}
.checkout-shell.cart-density-table .checkout-qty-form .cart-quantity-control {
  grid-column: 4;
  grid-row: 1;
  justify-self: stretch;
}
.checkout-shell.cart-density-table .checkout-qty-form .cart-quantity-control .auto-cart-qty {
  min-height: 0 !important;
  height: 36px !important;
  padding: 0 !important;
  border: 0 !important;
  border-inline: 1px solid #e0e8f1 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.checkout-shell.cart-density-table .checkout-product-subtotal {
  grid-column: 5;
  grid-row: 1;
  min-width: 0;
  padding-right: 0;
  text-align: right;
  white-space: nowrap;
}
.checkout-shell.cart-density-table .checkout-qty-form .cart-remove-button {
  position: static !important;
  grid-column: 6;
  grid-row: 1;
  justify-self: center;
  transform: none !important;
  color: #7b8ca3 !important;
}
.checkout-shell.cart-density-table .checkout-qty-form .cart-remove-button:hover,
.checkout-shell.cart-density-table .checkout-qty-form .cart-remove-button:focus-visible {
  color: #e04455 !important;
  background: #fff3f4 !important;
}
.checkout-shell.cart-density-table .checkout-qty-form .cart-remove-button:focus-visible {
  outline: 2px solid rgba(224, 68, 85, .28);
  outline-offset: 2px;
}
.checkout-shell.cart-density-table .cart-remove-button::before {
  display: none !important;
  content: none !important;
}

@media (max-width: 820px) {
  .checkout-shell.cart-density-table .checkout-product-card {
    grid-template-columns: 64px minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto auto !important;
  }
  .checkout-shell.cart-density-table .checkout-product-copy {
    grid-column: 2 / 4;
    grid-row: 1;
  }
  .checkout-shell.cart-density-table .checkout-product-unit-price {
    grid-column: 2;
    grid-row: 2;
  }
  .checkout-shell.cart-density-table .checkout-product-subtotal {
    grid-column: 3;
    grid-row: 2;
  }
  .checkout-shell.cart-density-table .checkout-qty-form .cart-quantity-control {
    grid-column: 2;
    grid-row: 3;
    justify-self: start;
  }
  .checkout-shell.cart-density-table .checkout-qty-form .cart-remove-button {
    grid-column: 3;
    grid-row: 3;
    justify-self: end;
  }
}
/* Order fulfillment uses the same light palette as the admin workspace. */
.order-suite .fulfillment-panel {
  background: #f8fafc;
  border-color: #dce5ef;
  color: #172033;
}
.order-suite .fulfillment-panel h3,
.order-suite .fulfillment-panel label,
.order-suite .order-method-meta strong { color: #172033; }
.order-suite .order-method-meta { background: #fff; border-color: #dce5ef; }
.order-suite .order-method-meta span,
.order-suite .tracking-number,
.order-suite .shipment-audit-item small { color: #526175; }
.order-suite .shipment-audit-item { background: #fff; border-color: #dce5ef; }
.order-suite .fulfillment-neutral { background: #edf1f5; border-color: #cbd5e1; color: #475569; }
.order-suite .fulfillment-packeta,
.order-suite .fulfillment-info { background: #e8f2ff; border-color: #b6d5fb; color: #175a99; }
.order-suite .fulfillment-success { background: #e4f5eb; border-color: #a4d9bb; color: #17633b; }
.order-suite .fulfillment-warning { background: #fff3d6; border-color: #e8ce8c; color: #785000; }
.order-suite .fulfillment-danger { background: #fdecec; border-color: #efb6b6; color: #a12525; }
.order-suite .btn-beexpress,
.order-suite .btn-packeta { background: #0868b8; border-color: #0868b8; color: #fff; }
.order-suite .btn-beexpress:hover,
.order-suite .btn-packeta:hover { background: #085493; border-color: #085493; color: #fff; }
.order-suite .btn-outline-info,
.order-suite .btn-outline-light { background: #fff; border-color: #b9cce0; color: #24527d; }
.order-suite .btn-outline-info:hover,
.order-suite .btn-outline-light:hover { background: #e8f2ff; border-color: #86b4df; color: #173e63; }
.order-suite .btn:disabled { opacity: 1; background: #e7edf3; border-color: #cbd5e1; color: #566578; box-shadow: none; }
.order-suite .orders-list-table { table-layout: fixed; width: 100%; min-width: 1100px; }
.order-suite .orders-list-table th,
.order-suite .orders-list-table td { padding-inline: 8px; overflow-wrap: anywhere; }
.order-suite .orders-list-table .order-col-select { width: 3%; }
.order-suite .orders-list-table .order-col-code { width: 11%; }
.order-suite .orders-list-table .order-col-customer { width: 8%; }
.order-suite .orders-list-table .order-col-shipping { width: 11%; }
.order-suite .orders-list-table .order-col-fulfillment { width: 16%; }
.order-suite .orders-list-table .order-col-payment { width: 10%; }
.order-suite .orders-list-table .order-col-status { width: 16%; }
.order-suite .orders-list-table .order-col-payment-status { width: 8%; }
.order-suite .orders-list-table .order-col-price { width: 8%; }
.order-suite .orders-list-table .order-col-documents { width: 9%; }
.order-suite .orders-list-table .inline-status select { padding-inline: 7px 22px; }
.order-suite .orders-list-table th:last-child,
.order-suite .orders-list-table td:last-child { text-align: center; }
.order-suite .orders-list-table .order-fulfillment-row,
.order-suite .orders-list-table .inline-status { min-width: 0; }
.order-suite .orders-list-table .status-pill { max-width: 100%; white-space: normal; }
.order-suite .orders-list-table .order-fulfillment-form .btn { white-space: normal; }
.order-suite .orders-list-table .order-doc-actions {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 6px;
  min-width: 0;
}
.order-suite .orders-list-table .order-doc-actions > * { flex-shrink: 0; }
.order-suite .orders-list-table .order-method-cell {
  min-width: 0;
  width: 100%;
  gap: 6px;
}
.order-suite .orders-list-table .order-method-cell > div {
  flex: 1 1 0;
  min-width: 0;
  overflow-wrap: anywhere;
}
.order-suite .orders-list-table .order-method-logo {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  padding: 2px;
}
.order-suite .orders-list-table .order-method-cell strong { font-size: .8rem; line-height: 1.35; }
.order-suite .orders-list-table .order-method-cell small { font-size: .72rem; line-height: 1.45; }
