.konic-mode-switch {
  position: fixed;
  z-index: 9999;
  left: 50%;
  bottom: max(18px, env(safe-area-inset-bottom));
  transform: translateX(-50%);
  width: max-content;
  max-width: calc(100vw - 28px);
  padding: 5px;
  border: 1px solid rgba(37, 31, 26, .14);
  border-radius: 999px;
  background: rgba(249, 246, 240, .9);
  box-shadow: 0 16px 50px rgba(45, 34, 24, .2);
  backdrop-filter: blur(18px) saturate(1.2);
  display: flex;
  align-items: center;
  gap: 3px;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.konic-mode-switch a {
  min-height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #5d5650;
  font-size: 11px;
  font-weight: 680;
  letter-spacing: .03em;
  text-decoration: none;
  white-space: nowrap;
  transition: color .18s ease, background .18s ease, transform .18s ease;
}

.konic-mode-switch a:hover { color: #161311; }
.konic-mode-switch a:active { transform: scale(.97); }

.konic-mode-switch a.is-active {
  color: #fff;
  background: #df181d;
  box-shadow: 0 7px 18px rgba(223, 24, 29, .24);
}

.konic-mode-switch .konic-mode-all { padding-left: 12px; color: #161311; }
[data-konic-hidden="true"] { display: none !important; }
html { scrollbar-gutter: stable; }

.konic-arrow-glyph {
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 600 !important;
  -webkit-text-stroke: .08px currentColor !important;
}

.arrow::before { height: 1.35px !important; }
.arrow::after { border-top-width: 1.35px !important; border-right-width: 1.35px !important; }

.site-header .product-trigger::after {
  margin-left: 7px !important;
  color: currentColor !important;
  background: transparent !important;
  font-size: 11px !important;
  font-weight: 750 !important;
  line-height: 1 !important;
}

.site-header .header-actions > .icon-button .search-icon {
  box-sizing: border-box;
  width: 15px;
  height: 15px;
  border: 1.7px solid currentColor;
  border-radius: 50%;
  transform: translate(-1.5px, -1px);
}

.site-header .header-actions > .icon-button .search-icon::after {
  right: -5px;
  bottom: -2px;
  width: 6px;
  height: 1.7px;
  border-radius: 999px;
  background: currentColor;
  transform: rotate(45deg);
  transform-origin: left center;
}

@media (min-width: 961px) {
  .site-header .header-in {
    width: min(1440px, calc(100vw - 64px)) !important;
    margin-left: max(32px, calc((100vw - 1440px) / 2)) !important;
    margin-right: 0 !important;
    grid-template-columns: 185px minmax(0, 1fr) 326px !important;
    gap: 36px !important;
  }

  .site-header .konic-brand-link {
    width: 185px !important;
  }

  .site-header .konic-brand-link > img {
    width: 136px !important;
  }

  .site-header .konic-site-label {
    left: 138px !important;
    bottom: 8px !important;
  }

  .site-header .header-actions {
    width: 326px !important;
    height: 44px;
    padding: 0 !important;
    gap: 8px !important;
    justify-self: end;
    justify-content: flex-start !important;
    transform: none !important;
  }

  .site-header .nav {
    justify-content: flex-start !important;
    gap: 30px !important;
  }

  .site-header .nav > a,
  .site-header .product-trigger {
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 12px !important;
    font-weight: 750 !important;
    letter-spacing: normal !important;
  }

  .site-header .header-socials {
    flex: 0 0 99px;
    width: 99px;
    gap: 6px !important;
    margin: 0 !important;
  }

  .site-header .header-socials a {
    width: 29px !important;
    height: 29px !important;
    flex: 0 0 29px;
  }

  .site-header .header-actions > .icon-button {
    width: 40px !important;
    height: 40px !important;
    flex: 0 0 40px;
  }

  .site-header .konic-site-route {
    width: 171px !important;
    min-width: 171px !important;
    max-width: 171px !important;
    height: 44px;
    min-height: 44px;
    flex: 0 0 171px;
    box-sizing: border-box;
  }
}

.category-dock.konic-home-categories {
  grid-template-columns: minmax(240px, 1.28fr) repeat(4, minmax(124px, .8fr));
}

.home-category-grid {
  width: min(760px, 100%);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.home-category-grid a {
  min-height: 148px;
  padding: 22px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.08);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: #fff;
  text-decoration: none;
  transition: transform .2s ease, background .2s ease;
}

.home-category-grid a:hover { transform: translateY(-3px); background: rgba(255,255,255,.15); }
.home-category-grid small { color: rgba(255,255,255,.58); font-size: 10px; letter-spacing: .09em; }
.home-category-grid strong { font-size: clamp(20px, 2.4vw, 32px); font-weight: 540; letter-spacing: -.025em; }
.home-category-grid span { align-self: flex-end; font-size: 18px; }

@media (min-width: 1181px) {
  :root { --gutter: max(32px, calc((100vw - 1440px) / 2)); }
  .shell { width: min(1440px, calc(100% - 64px)); }
  .smart-copy { padding-left: var(--gutter); }
  .product-detail-copy { padding-right: var(--gutter); }
}

/* Alternate the visual rhythm after the left-copy/right-image hero. */
@media (min-width: 861px) {
  #heroTitle,
  .konic-compact-hero h1 {
    white-space: nowrap;
  }

  #mounts .poster-media {
    left: 0 !important;
    right: auto !important;
    width: 100% !important;
    object-fit: cover !important;
    object-position: 50% 0% !important;
    transform: none;
  }

  #mounts::after {
    background:
      linear-gradient(270deg, rgba(20,18,16,.995) 0, rgba(20,18,16,.97) 24%, rgba(20,18,16,.76) 37%, rgba(20,18,16,.3) 49%, rgba(20,18,16,.06) 61%, transparent 73%),
      linear-gradient(0deg, rgba(18,16,14,.5), transparent 38%) !important;
  }

  #mounts .poster-copy {
    align-items: flex-end;
    text-align: left;
  }

  #mounts .poster-copy > h2,
  #mounts .poster-copy > .lede {
    width: min(430px, 31%);
    margin-right: 0;
  }

  #smart .smart-layout {
    grid-template-columns: 1.22fr .78fr;
  }

  #smart .smart-visual {
    grid-column: 1;
    grid-row: 1;
  }

  #smart .smart-copy {
    grid-column: 2;
    grid-row: 1;
    padding-left: clamp(38px, 5vw, 88px);
    padding-right: var(--gutter);
  }

  #support .support-main {
    grid-template-columns: 1.28fr .72fr;
  }

  #support .support-cards {
    grid-column: 1;
    grid-row: 1;
  }

  #support .support-main > div:first-child {
    grid-column: 2;
    grid-row: 1;
  }
}

.hero-media[src*="category-cleaning-safe-v3"] {
  object-position: center center;
}

.hero-media[src*="category-cleaning-premium-v4"] {
  object-position: center center;
}

.konic-all-products-entry {
  position: relative;
  cursor: pointer;
  outline: none;
}

.konic-all-products-entry::after {
  content: none;
}

.konic-all-products-entry:hover::after,
.konic-all-products-entry:focus-visible::after { transform: translate(2px, -2px); }
.konic-all-products-entry:focus-visible { box-shadow: 0 0 0 2px var(--red) inset; }

/* The desktop product menu sits 2px below the 72px header with a safe hover bridge. */
@media (min-width: 961px) {
  .site-header .product-nav {
    height: var(--header);
    display: flex;
    align-items: stretch;
  }

  .site-header .product-nav::before {
    content: "";
    position: absolute;
    z-index: 2;
    top: 100%;
    left: 0;
    right: 0;
    height: 4px;
  }

  .site-header .product-menu {
    position: fixed !important;
    top: 74px !important;
    left: 50vw !important;
    right: auto !important;
    width: min(1440px, calc(100vw - 64px)) !important;
    padding: 13px !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 8px !important;
    border-radius: 18px !important;
    transform: translate(-50%, 7px) !important;
  }

  .site-header .product-nav:hover .product-menu,
  .site-header .product-nav:focus-within .product-menu {
    transform: translate(-50%, 0) !important;
  }

  .site-header .product-menu a {
    min-height: 82px;
    padding: 16px 18px !important;
    align-items: center;
  }
}

.site-header .product-trigger {
  display: inline-flex;
  align-items: center;
  height: var(--header);
}

#range::after {
  background:
    linear-gradient(90deg, rgba(217,203,184,1) 0%, rgba(217,203,184,.98) 20%, rgba(217,203,184,.88) 31%, rgba(217,203,184,.58) 41%, rgba(217,203,184,.22) 50%, transparent 60%),
    linear-gradient(0deg, rgba(18,16,14,.22), transparent 39%) !important;
}

.category-dock.konic-home-categories .dock-item strong span { display: none !important; }
.category-dock.konic-home-categories .dock-item[data-konic-dock-category="whiteware"] .dock-thumb img {
  transform: scale(1.17);
}
.category-dock.konic-home-categories .dock-item[data-konic-dock-category="projector"] .dock-thumb img {
  transform: scale(1.3);
}
.category-dock.konic-home-categories .dock-item[data-konic-dock-category="whiteware"]:hover .dock-thumb img {
  transform: scale(1.19);
}
.category-dock.konic-home-categories .dock-item[data-konic-dock-category="projector"]:hover .dock-thumb img {
  transform: scale(1.32);
}

.konic-compact-hero {
  height: 400px !important;
  min-height: 400px !important;
}

.konic-catalog-page .konic-compact-hero {
  height: 260px !important;
  min-height: 260px !important;
}

.konic-catalog-page .konic-compact-hero .subhero-media {
  object-position: center 55%;
}

.konic-catalog-page.konic-catalog-television .subhero-media { object-position: center 50%; }
.konic-catalog-page.konic-catalog-whiteware .subhero-media { object-position: center 44%; }
.konic-catalog-page.konic-catalog-audio .subhero-media { object-position: center 58%; }
.konic-catalog-page.konic-catalog-projector .subhero-media { object-position: center 60%; }
.konic-catalog-page.konic-catalog-accessories .subhero-media { object-position: center 56%; }

.konic-compact-hero .subhero-copy { max-width: 630px; }
.konic-compact-hero .display {
  max-width: 620px;
  font-size: clamp(46px, 4.4vw, 70px) !important;
  line-height: .96;
}
.konic-compact-hero .lede { max-width: 530px; }
.konic-catalog-page .catalog,
.konic-catalog-page .konic-catalog-section { padding-top: 28px !important; }
.konic-catalog-page .category-nav { margin-bottom: 28px; }
.konic-catalog-page .category-nav:has(+ .konic-subcategory-nav) { margin-bottom: 0; }
.konic-subcategory-nav {
  display: flex;
  align-items: stretch;
  gap: clamp(20px, 3vw, 42px);
  min-width: 0;
  max-width: 100%;
  margin: 0 0 24px;
  padding-inline-start: 22px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  border-bottom: 1px solid var(--line);
  scrollbar-width: thin;
}
.konic-subcategory-nav button {
  flex: 0 0 auto;
  min-height: 51px;
  padding: 0 2px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  white-space: nowrap;
}
.konic-subcategory-nav button span { font-size: 13px; font-weight: 700; }
.konic-subcategory-nav button b { font-size: 11px; font-weight: 600; }
.konic-subcategory-nav button.is-active { color: var(--red); border-bottom-color: var(--red); }
.konic-subcategory-nav button:focus-visible { outline: 2px solid var(--red); outline-offset: -4px; }

.konic-catalog-layout {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}

.konic-catalog-filter {
  position: sticky;
  top: calc(var(--header) + 74px);
  min-height: 470px;
  padding: 26px 22px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(240, 235, 227, .9);
}

.konic-catalog-filter h2 {
  margin: 0 0 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--line);
  font-size: 23px;
  letter-spacing: -.025em;
}

.konic-catalog-filter > p,
.konic-filter-help > p {
  margin: 0 0 10px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .12em;
}

.konic-filter-controls { display: grid; gap: 3px; }
.konic-filter-controls button {
  width: 100%;
  min-height: 42px;
  padding: 0 10px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  transition: color .18s ease, background .18s ease;
}
.konic-filter-controls button:hover { background: rgba(255,255,255,.58); }
.konic-filter-controls button.is-active { color: var(--red); background: rgba(255,255,255,.92); }
.konic-filter-controls button span { font-size: 13px; }
.konic-filter-controls button b { font-size: 12px; font-weight: 650; }

.konic-filter-help {
  margin-top: 24px;
  padding-top: 19px;
  border-top: 1px solid var(--line);
  display: grid;
  gap: 5px;
}
.konic-filter-help a {
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 12px;
}
.konic-filter-help a:hover { color: var(--red); }

.konic-catalog-layout .product-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: start;
}
.konic-catalog-layout.is-flat { grid-template-columns: minmax(0, 1fr); }
.konic-catalog-layout.is-flat .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.konic-catalog-page .konic-compact-hero .subhero-copy { max-width: 680px; }
.konic-catalog-layout .product-card[hidden] { display: none !important; }
.konic-catalog-layout .product-card,
.konic-catalog-layout .product-picture,
.konic-catalog-layout .product-info { background: #fff; }
.konic-catalog-layout .product-info h3 { text-wrap: balance; }

.konic-support-index .feature-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.konic-support-index .feature-card { min-height: 330px; }

@media (max-width: 1180px) {
  .konic-catalog-layout { grid-template-columns: 210px minmax(0, 1fr); }
  .konic-catalog-layout .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .konic-compact-hero { height: 400px !important; min-height: 400px !important; }
  .konic-catalog-page .konic-compact-hero { height: 260px !important; min-height: 260px !important; }
  .konic-catalog-layout { grid-template-columns: 1fr; }
  .konic-catalog-filter { position: static; min-height: 0; }
  .konic-filter-controls { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .konic-filter-help { grid-template-columns: 1fr 1fr; }
  .konic-filter-help p { grid-column: 1 / -1; }
  .konic-catalog-layout .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .konic-support-index .feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .konic-compact-hero .display { font-size: clamp(42px, 13vw, 58px) !important; }
  .konic-filter-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .konic-catalog-layout .product-grid { grid-template-columns: 1fr; }
}

@media (max-width: 1080px) {
  .category-dock.konic-home-categories { grid-template-columns: repeat(4, 1fr); }
  .category-dock.konic-home-categories .dock-intro { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
  .konic-mode-switch { bottom: max(10px, env(safe-area-inset-bottom)); width: calc(100vw - 20px); }
  .konic-mode-switch a { flex: 1; padding: 0 8px; }
  .category-dock.konic-home-categories { grid-template-columns: 1fr 1fr; }
  .home-category-grid { grid-template-columns: 1fr 1fr; }
  .home-category-grid a { min-height: 122px; padding: 17px; }
}

@media (prefers-reduced-motion: reduce) {
  .konic-mode-switch a, .home-category-grid a { transition: none; }
}

/* V17 — clean hero assets, calmer transitions and consistent tertiary pages. */
.site-header .nav {
  column-gap: 30px !important;
}

.site-header .product-menu a {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 72px 14px;
  gap: 12px;
  align-items: center !important;
  overflow: hidden;
}

.site-header .product-menu a > span {
  min-width: 0;
}

.site-header .product-menu .konic-menu-line-icon {
  width: 72px;
  height: 48px;
  fill: none;
  stroke: rgba(67, 61, 55, .26);
  stroke-width: 1.15;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}

.site-header .product-menu a:hover .konic-menu-line-icon,
.site-header .product-menu a:focus-visible .konic-menu-line-icon {
  stroke: rgba(67, 61, 55, .44);
}

/* Every Home child-page hero uses the same 260px image rhythm and no path trail. */
body:not(.home-page) .subhero,
.subhero.konic-compact-hero,
.subhero.konic-editorial-hero {
  height: 260px !important;
  min-height: 260px !important;
}

.breadcrumb {
  display: none !important;
}

.subhero .subhero-content {
  height: 100%;
}

.subhero .subhero-copy {
  padding-top: var(--header);
  justify-content: center;
}

.subhero .display,
.konic-compact-hero .display {
  max-width: 620px;
  font-size: clamp(38px, 3.45vw, 56px) !important;
  line-height: .96;
}

.subhero .eyebrow {
  margin-bottom: 9px;
}

.subhero .lede {
  max-width: 500px;
  margin-top: 12px;
  font-size: 11px;
  line-height: 1.45;
}

/* Blend the split-layout image into the Home paper colour instead of showing a hard seam. */
.smart-visual::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0 auto 0 0;
  width: clamp(92px, 13vw, 230px);
  pointer-events: none;
  background: linear-gradient(90deg, #e7ded1 0%, rgba(231, 222, 209, .96) 16%, rgba(231, 222, 209, .68) 42%, rgba(231, 222, 209, .24) 72%, rgba(231, 222, 209, 0) 100%);
}

#range::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(217,203,184,1) 0%, rgba(217,203,184,.995) 19%, rgba(217,203,184,.92) 31%, rgba(217,203,184,.66) 43%, rgba(217,203,184,.31) 53%, rgba(217,203,184,.08) 62%, rgba(217,203,184,0) 71%),
    linear-gradient(0deg, rgba(18,16,14,.22), transparent 39%) !important;
}

#range .poster-media {
  z-index: 0;
}

#range .range-copy {
  position: relative;
  z-index: 2;
}

@media (max-width: 860px) {
  .subhero,
  .subhero.konic-compact-hero,
  .subhero.konic-editorial-hero {
    height: 260px !important;
    min-height: 260px !important;
  }

  .subhero .display,
  .konic-compact-hero .display {
    font-size: clamp(35px, 10.5vw, 48px) !important;
  }
}

.where-to-buy-page .subhero .subhero-content{z-index:2}

body:has(.stockist-grid) .subhero .subhero-content{z-index:3 !important}
