/*
 * ISBAT nettbutikk – butikklandingen /butikk/ (side 1013818, #isbat-catalog-landing) 30.10.2026, v1.
 * Lastes SIST (etter isbat-catalog-landing.css, isbat-store-polish-2026.css og isbat-ux-report.css)
 * via mu-plugins/isbat-landing-kort-20261030.php. Alle regler bruker ID-spesifisitet
 * (#isbat-catalog-landing.wbl) fordi polish-CSS-en bruker det samme.
 * Mål: kort som på kategorisidene (isbat-kategori-ux-20261030-v1.css), kortere vei til første
 * kort når en kategori er valgt, kategoritre med hele etiketter / ≥ 40 px rader / ingen indre
 * scroll, og ingen «Kompakt visning». Kontrast: normal tekst ≥ 4,5:1 (målt i KS-rapporten).
 * Klassenavn uten «-spec» (temaets [class*="-spec"] gir monospace).
 */

/* ---------- 1. Valgt kategori: hero og hurtigvalg vekk, resultathodet bærer konteksten ---------- */
#isbat-catalog-landing.wbl.er-kategori .catalog-hero,
#isbat-catalog-landing.wbl.er-kategori .journey-strip {
  display: none;
}
#isbat-catalog-landing.wbl.er-kategori .catalog-shell {
  padding-top: 20px;
}

/* ---------- 2. Katalogskall, sidepanel og kategoritre (desktop) ---------- */
@media (min-width: 941px) {
  #isbat-catalog-landing.wbl .catalog-shell {
    grid-template-columns: 286px minmax(0, 1fr);
    gap: 28px;
    padding-top: 24px;
    padding-bottom: 64px;
  }
  /* Ingen indre scroll: panelet følger siden (var sticky med max-height + overflow-y: auto). */
  #isbat-catalog-landing.wbl .filter-sidebar,
  #isbat-catalog-landing.wbl.is-header-hidden .filter-sidebar {
    position: static;
    top: auto;
    max-height: none;
    overflow: visible;
    padding: 14px 14px 16px;
    border: 1px solid var(--line, #d5e1ed);
    border-radius: 10px;
    background: #fff;
    box-shadow: none;
    scrollbar-width: auto;
  }
}
#isbat-catalog-landing.wbl .sidebar-heading {
  margin-bottom: 8px;
}
#isbat-catalog-landing.wbl .sidebar-heading .section-label {
  font-size: .72rem; /* 12,6 px */
}
#isbat-catalog-landing.wbl .sidebar-heading > button,
#isbat-catalog-landing.wbl .clear-all {
  min-height: 40px;
  font-size: .76rem;
}
#isbat-catalog-landing.wbl .category-tree {
  margin-top: 12px;
}
#isbat-catalog-landing.wbl .tree-group-block + .tree-group-block {
  margin-top: 16px;
}
#isbat-catalog-landing.wbl .tree-group-title {
  margin: 0 0 4px;
  padding-left: 10px;
  color: #5b6b80; /* 5,0:1 på hvitt */
  font-size: .72rem;
}
#isbat-catalog-landing.wbl .tree-row {
  grid-template-columns: minmax(0, 1fr) 36px;
}
#isbat-catalog-landing.wbl .tree-row:not(:has(.tree-toggle)) {
  grid-template-columns: 1fr; /* bladrader uten pil får hele bredden */
}
#isbat-catalog-landing.wbl .all-products-button,
#isbat-catalog-landing.wbl .tree-select,
#isbat-catalog-landing.wbl .tree-children .tree-select,
#isbat-catalog-landing.wbl .tree-children .tree-children .tree-select {
  min-height: 40px;
  padding: 6px 10px;
  gap: 8px;
  border-radius: 7px;
  color: #2f405a; /* 10:1 på hvitt */
  font-size: .86rem; /* 15 px */
  font-weight: 650;
  line-height: 1.3;
}
#isbat-catalog-landing.wbl .tree-children .tree-select {
  font-size: .84rem;
}
#isbat-catalog-landing.wbl .tree-children .tree-children .tree-select {
  font-size: .82rem;
}
/* Hele etiketter: ordbryting bare på mellomrom, ingen orddeling («Nye ismaski-ner»). */
#isbat-catalog-landing.wbl .tree-select span:first-child,
#isbat-catalog-landing.wbl .all-products-button span:first-child {
  min-width: 0;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
  -webkit-hyphens: manual;
  hyphens: manual;
}
#isbat-catalog-landing.wbl .all-products-button small,
#isbat-catalog-landing.wbl .tree-select small,
#isbat-catalog-landing.wbl .subcategory-row small {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  min-width: 22px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  background: #f1f6fb;
  color: #4a5c73 !important; /* 6,2:1 på #f1f6fb; !important mot small-regler i site-readability/ux-report */
  -webkit-text-fill-color: #4a5c73 !important;
  font-size: .76rem !important; /* 13,3 px; site-readability setter small til .875rem !important */
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
#isbat-catalog-landing.wbl .tree-node.is-path > .tree-row .tree-select {
  color: var(--blue-deep, #072a70);
  background: #f1f6fb;
}
#isbat-catalog-landing.wbl .tree-node.is-path > .tree-row .tree-select small {
  background: #e3edf8;
  color: #3f5169 !important; /* 7,4:1 på #e3edf8 */
  -webkit-text-fill-color: #3f5169 !important;
}
#isbat-catalog-landing.wbl .tree-node.is-active > .tree-row .tree-select,
#isbat-catalog-landing.wbl .all-products-button.is-active {
  color: #fff;
  background: var(--blue, #003399);
  box-shadow: inset 3px 0 0 var(--red, #e30613);
}
#isbat-catalog-landing.wbl .tree-node.is-active > .tree-row .tree-select small,
#isbat-catalog-landing.wbl .all-products-button.is-active small {
  background: rgba(255, 255, 255, .18);
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
#isbat-catalog-landing.wbl .all-products-button:hover:not(.is-active),
#isbat-catalog-landing.wbl .tree-node:not(.is-active) > .tree-row .tree-select:hover {
  color: var(--blue, #003399);
  background: #f1f6fb;
}
#isbat-catalog-landing.wbl .tree-toggle {
  width: 36px;
  height: 40px;
  color: #4a5c73;
}
#isbat-catalog-landing.wbl .tree-children {
  margin: 2px 0 6px 10px;
  padding-left: 8px;
}
#isbat-catalog-landing.wbl .facet-form {
  margin-top: 16px;
  padding-top: 14px;
  gap: 14px;
}
#isbat-catalog-landing.wbl .facet-form legend,
#isbat-catalog-landing.wbl .advanced-filters summary span,
#isbat-catalog-landing.wbl .advanced-filters summary small,
#isbat-catalog-landing.wbl .facet-options label,
#isbat-catalog-landing.wbl .facet-options small {
  font-size: .78rem; /* 13,65 px */
}
#isbat-catalog-landing.wbl .facet-options small {
  color: #4a5c73 !important;
  -webkit-text-fill-color: #4a5c73 !important;
}
#isbat-catalog-landing.wbl .sidebar-help {
  margin-top: 14px;
}

/* ---------- 3. Resultathode: tittel, antall + én prisregel, underkategorichips, ingen visningsbryter ---------- */
#isbat-catalog-landing.wbl .results-context {
  padding-bottom: 12px;
}
#isbat-catalog-landing.wbl .result-trail {
  margin-bottom: 8px;
  font-size: .76rem; /* 13,3 px */
}
#isbat-catalog-landing.wbl .results-title-row {
  align-items: start;
  gap: 16px;
}
#isbat-catalog-landing.wbl .results-title-row .section-label {
  font-size: .72rem;
}
#isbat-catalog-landing.wbl .results-title-row h2 {
  font-size: clamp(1.6rem, 2.4vw, 2.1rem);
  line-height: 1.08;
}
#isbat-catalog-landing.wbl .result-count {
  margin-top: 6px;
  color: var(--ink, #15253b);
  font-size: .86rem;
  font-weight: 700;
}
#isbat-catalog-landing.wbl .bl26-prisnote {
  margin: 2px 0 0;
  color: #55677d; /* 5,9:1 på hvitt */
  font-size: .84rem;
}
#isbat-catalog-landing.wbl .view-toggle {
  display: none !important;
}
#isbat-catalog-landing.wbl .desktop-sort {
  font-size: .72rem;
}
#isbat-catalog-landing.wbl .desktop-sort select,
#isbat-catalog-landing.wbl .mobile-sort select {
  min-height: 42px;
  font-size: .82rem;
}
#isbat-catalog-landing.wbl .category-description {
  margin-top: 8px;
  color: #55677d;
  font-size: .9rem;
  line-height: 1.5;
}
#isbat-catalog-landing.wbl .subcategory-row {
  margin-top: 12px;
  gap: 6px;
}
#isbat-catalog-landing.wbl .subcategory-row button {
  min-height: 34px;
  padding: 2px 10px 2px 12px;
  gap: 6px;
  color: var(--blue-deep, #072a70);
  font-size: .82rem;
  font-weight: 700;
}
#isbat-catalog-landing.wbl .subcategory-row button:hover,
#isbat-catalog-landing.wbl .subcategory-row button:focus-visible {
  color: var(--blue, #003399);
  background: #f1f6fb;
}
#isbat-catalog-landing.wbl .filter-status {
  min-height: 0;
  padding: 10px 0 8px;
}
#isbat-catalog-landing.wbl .active-filters > span,
#isbat-catalog-landing.wbl .active-filters button {
  font-size: .78rem;
}

/* ---------- 4. Produktkort: fast 4:3-bildeflate, nøkkelspesifikasjoner, primærknapp, meta-rad ---------- */
#isbat-catalog-landing.wbl .product-grid,
#isbat-catalog-landing.wbl .catalog-loading {
  gap: 18px;
}
#isbat-catalog-landing.wbl .product-card {
  border-color: var(--line, #d5e1ed);
  border-radius: 10px;
  box-shadow: none;
}
#isbat-catalog-landing.wbl .product-card:hover,
#isbat-catalog-landing.wbl .product-card:focus-within {
  border-color: rgba(0, 51, 153, .42);
  box-shadow: 0 14px 30px -18px rgba(7, 42, 112, .35);
  transform: none;
}
#isbat-catalog-landing.wbl .product-image {
  aspect-ratio: 4 / 3;
  height: auto;
  border-bottom: 1px solid var(--line, #d5e1ed);
  background: #fff;
}
#isbat-catalog-landing.wbl .product-image img,
#isbat-catalog-landing.wbl .product-card.has-packshot .product-image img,
#isbat-catalog-landing.wbl .product-grid:not(.is-compact) .product-image img,
#isbat-catalog-landing.wbl .product-grid:not(.is-compact) .product-card.has-packshot .product-image img {
  width: 100%;
  height: 100%;
  padding: 12px;
  object-fit: contain;
  object-position: 50% 50%;
  background: #fff;
  transform: none;
}
/* Ingen hover-skalering: Chrome regner transformert bilde som overflyt (KS flagget bildelenken som klippet). */
#isbat-catalog-landing.wbl .product-card:hover .product-image img,
#isbat-catalog-landing.wbl .product-grid:not(.is-compact) .product-card:hover .product-image img {
  transform: none;
}
/* Eldre JS-cache / SSR før JS: kategorimerke på bildet, «Referanse #» og prisinfo per kort vises ikke. */
#isbat-catalog-landing.wbl .product-image > span,
#isbat-catalog-landing.wbl .product-meta,
#isbat-catalog-landing.wbl .product-footer > span {
  display: none;
}
#isbat-catalog-landing.wbl .product-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 6px;
  padding: 14px 16px 16px;
}
#isbat-catalog-landing.wbl .bl26-kort-badge,
#isbat-catalog-landing.wbl .product-brand {
  margin: 0;
  color: var(--blue, #003399);
  font-size: .75rem; /* 13 px */
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
#isbat-catalog-landing.wbl .bl26-kort-badge[hidden],
#isbat-catalog-landing.wbl .product-brand:empty {
  display: none;
}
#isbat-catalog-landing.wbl .product-card h3 {
  min-height: 0;
  margin: 0;
  font-size: 1.02rem;
  line-height: 1.28;
  letter-spacing: -.01em;
}
/* site-readability.css setter a { color: #7be5ff } og a:hover { color: #b3f0ff } globalt (1,25:1 på hvitt). */
#isbat-catalog-landing.wbl .product-card h3 a,
#isbat-catalog-landing.wbl a.bl26-kort-tittellenke {
  color: var(--blue-deep, #072a70);
  text-decoration: none;
}
#isbat-catalog-landing.wbl .product-card h3 a:hover,
#isbat-catalog-landing.wbl .product-card h3 a:focus-visible,
#isbat-catalog-landing.wbl a.bl26-kort-tittellenke:hover,
#isbat-catalog-landing.wbl a.bl26-kort-tittellenke:focus-visible {
  color: var(--blue, #003399);
  text-decoration: underline;
}
#isbat-catalog-landing.wbl .bl26-kort-nokkel,
#isbat-catalog-landing.wbl .product-attributes {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 2px 0 0;
  padding: 0;
  list-style: none;
}
#isbat-catalog-landing.wbl .bl26-kort-nokkel[hidden],
#isbat-catalog-landing.wbl .product-attributes[hidden] {
  display: none;
}
#isbat-catalog-landing.wbl .bl26-kort-nokkel li,
#isbat-catalog-landing.wbl .product-attributes li {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  min-width: 0;
  max-width: 100%;
  padding: 3px 8px;
  border: 0;
  border-radius: 6px;
  background: #f1f6fb;
  color: var(--blue-deep, #072a70);
  font-size: .78rem; /* 13,65 px */
  font-weight: 700;
  line-height: 1.35;
}
#isbat-catalog-landing.wbl .bl26-nokkel-k {
  flex: none;
  color: #4a5c73; /* 6,2:1 på #f1f6fb */
  font-weight: 600;
}
#isbat-catalog-landing.wbl .bl26-nokkel-v {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--blue-deep, #072a70);
  font-weight: 700;
}
#isbat-catalog-landing.wbl .product-description {
  display: -webkit-box;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  color: #55677d; /* 5,9:1 på hvitt */
  font-size: .86rem;
  line-height: 1.5;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4; /* første hele setning (≤ 115 tegn) får plass; klampen er sikkerhetsnett */
  line-clamp: 4;
}
#isbat-catalog-landing.wbl .product-footer {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid var(--line, #d5e1ed);
}
#isbat-catalog-landing.wbl .product-footer button {
  width: 100%;
  min-height: 44px;
  padding: 6px 14px;
  border: 1px solid var(--blue, #003399);
  border-radius: 8px;
  background: var(--blue, #003399);
  color: #fff;
  font-size: .9rem;
  font-weight: 700;
  line-height: 1.2;
}
#isbat-catalog-landing.wbl .product-footer button:hover,
#isbat-catalog-landing.wbl .product-footer button:focus-visible {
  border-color: var(--blue-deep, #072a70);
  background: var(--blue-deep, #072a70);
  color: #fff;
}
#isbat-catalog-landing.wbl .product-footer button.is-added {
  border-color: var(--line, #d5e1ed);
  background: #f1f6fb;
  color: var(--blue-deep, #072a70);
}
#isbat-catalog-landing.wbl .product-footer button.is-loading {
  opacity: .7;
}
#isbat-catalog-landing.wbl .bl26-kort-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 4px 12px;
}
#isbat-catalog-landing.wbl a.bl26-kort-lenke {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 32px;
  color: var(--blue, #003399);
  font-size: .84rem;
  font-weight: 700;
  text-decoration: none;
}
#isbat-catalog-landing.wbl a.bl26-kort-lenke::after {
  content: "\2192";
  font-weight: 400;
}
#isbat-catalog-landing.wbl a.bl26-kort-lenke:hover,
#isbat-catalog-landing.wbl a.bl26-kort-lenke:focus-visible {
  color: var(--blue-deep, #072a70);
  text-decoration: underline;
}
#isbat-catalog-landing.wbl .bl26-kort-sku {
  color: #55677d;
  font-size: .76rem; /* 13,3 px */
}
#isbat-catalog-landing.wbl .load-more-wrap {
  margin-top: 22px;
  padding-top: 18px;
}

/* ---------- 5. Brytepunkter ---------- */
@media (max-width: 1220px) {
  #isbat-catalog-landing.wbl .catalog-shell {
    grid-template-columns: 270px minmax(0, 1fr);
    gap: 24px;
  }
  #isbat-catalog-landing.wbl .product-grid,
  #isbat-catalog-landing.wbl .catalog-loading {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 940px) {
  /* Polish-CSS-ens «UX V3»-blokk ligger etter media-queriene sine siden 30.10 og tvinger to
   * hero-kolonner på mobil (tekst med én bokstav per linje). Rettes her, sist i kaskaden. */
  #isbat-catalog-landing.wbl .hero-layout {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  #isbat-catalog-landing.wbl .hero-assist {
    max-width: none;
  }
  /* Samme årsak: hurtigvalg-raden fikk 180 px tittelkolonne + 152 px knapper på mobil. */
  #isbat-catalog-landing.wbl .journey-layout {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  #isbat-catalog-landing.wbl .journey-options strong {
    overflow-wrap: normal;
    -webkit-hyphens: manual;
    hyphens: manual;
  }
  #isbat-catalog-landing.wbl .catalog-shell {
    display: block;
    padding-top: 18px;
    padding-bottom: 56px;
  }
  #isbat-catalog-landing.wbl.er-kategori .catalog-shell {
    padding-top: 12px;
  }
  /* Sidepanelet er en skuff (fixed) under 940 px: behold skuffens ramme og bunnluft. */
  #isbat-catalog-landing.wbl .filter-sidebar {
    padding: 0 20px 94px;
    border: 0;
    border-right: 1px solid var(--line, #d5e1ed);
    border-radius: 0;
    background: #fff;
  }
  #isbat-catalog-landing.wbl .all-products-button,
  #isbat-catalog-landing.wbl .tree-select,
  #isbat-catalog-landing.wbl .tree-children .tree-select,
  #isbat-catalog-landing.wbl .tree-children .tree-children .tree-select {
    min-height: 44px;
  }
  #isbat-catalog-landing.wbl .tree-toggle {
    height: 44px;
  }
}
@media (max-width: 620px) {
  /* Hjelpeboksen i heroen: tittel og knapp under hverandre (var to kolonner → «produktvalg et?»). */
  #isbat-catalog-landing.wbl .hero-assist {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  #isbat-catalog-landing.wbl .hero-assist h2 {
    overflow-wrap: normal;
    -webkit-hyphens: manual;
    hyphens: manual;
  }
  #isbat-catalog-landing.wbl .hero-assist button {
    width: 100%;
    justify-content: center;
  }
  #isbat-catalog-landing.wbl .results-title-row h2 {
    font-size: 1.6rem;
  }
  #isbat-catalog-landing.wbl .product-grid,
  #isbat-catalog-landing.wbl .catalog-loading {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  #isbat-catalog-landing.wbl .product-image {
    aspect-ratio: 16 / 11;
  }
  #isbat-catalog-landing.wbl .product-body {
    padding: 12px 14px 14px;
  }
  #isbat-catalog-landing.wbl .product-description {
    -webkit-line-clamp: 3;
    line-clamp: 3;
  }
  #isbat-catalog-landing.wbl .product-card h3 {
    font-size: 1rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  #isbat-catalog-landing.wbl .product-card,
  #isbat-catalog-landing.wbl .product-image img,
  #isbat-catalog-landing.wbl .product-card:hover .product-image img {
    transition: none;
    transform: none;
  }
}
