/* Bieri-LED modern design layer for PrestaShop 9 / Hummingbird */
:root {
  --bieri-navy: #071a31;
  --bieri-navy-2: #0d2d50;
  --bieri-blue: #118bd0;
  --bieri-cyan: #47d6ff;
  --bieri-ink: #0d1724;
  --bieri-muted: #607086;
  --bieri-surface: #f4f7fa;
  --bieri-line: #dce5ee;
  --bs-primary: var(--bieri-blue);
  --bs-link-color: var(--bieri-blue);
  --bs-link-hover-color: var(--bieri-navy);
  --bs-body-color: var(--bieri-ink);
}

body {
  color: var(--bieri-ink);
  background: #fff;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
}

a { text-underline-offset: .18em; }

/* Header: white brand/search row and strong blue navigation row */
.header {
  position: sticky;
  top: 0;
  z-index: 1021;
  background: #fff;
  box-shadow: 0 8px 30px rgba(7, 26, 49, .08);
}

.header-top {
  padding: .5rem 0;
  color: #dcecf7;
  background: var(--bieri-navy);
  border: 0;
  font-size: .78rem;
}

.header-top a:not(.dropdown-item) { color: #dcecf7; }
.header-top a:not(.dropdown-item):hover { color: var(--bieri-cyan); }
.header-top__left,
.header-top__right { align-items: center; display: flex; }
.header-top__left { gap: .55rem; flex-wrap: wrap; }
.header-top__right { justify-content: flex-end; }
.bieri-header-trust { display: inline-block; white-space: nowrap; color: #fff; font-weight: 600; letter-spacing: -.01em; font-size: clamp(.62rem, 1vw, .9rem); }
.header-top__left { flex-wrap: nowrap; min-width: 0; }
.bieri-header-top-separator { color: rgba(255,255,255,.42); }
.bieri-header-top-contact { display: inline-flex; margin-left: 0 !important; margin-right: 1.5rem; white-space: nowrap; }

.header-bottom { padding: 0; border: 0; }
.header-bottom__container { max-width: none; padding: 0; }
.header-bottom__row { max-width: 1440px; margin: 0 auto; padding: .35rem 1.5rem .25rem; }
.header-bottom__logo { align-self: center; padding-bottom: 1.05rem; }
.header-bottom .navbar-brand .logo { max-width: 8.5rem; max-height: 5.8rem; width: auto; }

.ps-searchbar {
  flex: 1 1 360px;
  min-width: 260px;
  align-self: center;
  margin: 0 1rem 1rem;
}
.ps-searchbar form { width: 100%; }
.ps-searchbar input[type="text"],
.ps-searchbar input[type="search"] {
  min-height: 46px;
  border: 1px solid var(--bieri-line);
  border-radius: .35rem;
  background: #fbfcfd;
  box-shadow: none;
}
.ps-searchbar input:focus { border-color: var(--bieri-cyan); box-shadow: 0 0 0 .2rem rgba(71, 214, 255, .18); }

#header .ps-mainmenu {
  order: 5;
  flex: 0 0 100%;
  max-width: none;
  margin: 0 -1.5rem;
  padding: 0 1.5rem;
  background: var(--bieri-navy-2);
}
#header .ps-mainmenu__desktop { max-width: 1440px; margin: 0 auto; }
#header .ps-mainmenu__tree { justify-content: flex-start; gap: .2rem; }
#header .ps-mainmenu__tree-item { border: 0; }
#header .ps-mainmenu__tree-link {
  padding: 1rem .9rem;
  color: #fff;
  font-size: .9rem;
  font-weight: 650;
}
#header .ps-mainmenu__tree-item:first-child .ps-mainmenu__tree-link { background: var(--bieri-blue); }
#header .ps-mainmenu__tree-link:hover,
#header .ps-mainmenu__tree-item.current .ps-mainmenu__tree-link { color: var(--bieri-cyan); }
#header .ps-mainmenu__tree-item:first-child .ps-mainmenu__tree-link:hover { color: #fff; }

/* Primary category navigation below the logo/search row. */
.bieri-header-categories {
  background: #f4f7fa;
  border-bottom: 1px solid var(--bieri-line);
  border-top: 1px solid #edf2f6;
}
.bieri-header-categories__inner {
  align-items: center;
  display: flex;
  gap: .2rem;
  justify-content: center;
  max-width: 1440px;
  overflow-x: auto;
  padding: 0 1.5rem;
  scrollbar-width: none;
}
.bieri-header-categories__inner::-webkit-scrollbar { display: none; }
.bieri-header-categories__inner a {
  color: var(--bieri-navy-2);
  font-size: .82rem;
  font-weight: 700;
  padding: .72rem .85rem;
  text-decoration: none;
  white-space: nowrap;
}
.bieri-header-categories__inner a:first-child,
.bieri-header-categories__inner a:hover,
.bieri-header-categories__inner a:focus-visible {
  color: var(--bieri-blue);
}
.bieri-header-categories__inner a:first-child { border-bottom: 3px solid var(--bieri-blue); }

/* Home layout: persistent product selection column like the old shop */
.page-index .columns-container { max-width: 1440px; padding-block: 2rem 4rem; }
.page-index .home-left-column {
  position: sticky;
  top: 8rem;
  align-self: start;
  padding: 0;
}
.page-index .home-left-column .category-navigation {
  overflow: hidden;
  border: 1px solid var(--bieri-line);
  background: #fff;
  box-shadow: 0 12px 32px rgba(7, 26, 49, .08);
}
.category-navigation__title {
  padding: 1.1rem 1.2rem;
  color: #fff;
  background: var(--bieri-navy-2);
  border-bottom: 3px solid var(--bieri-blue);
  font-size: 1.05rem;
  font-weight: 750;
}
.page-index .category-tree { padding: .45rem 0; }
.page-index .category-tree ul { margin: 0; padding: 0; list-style: none; }
.page-index .category-tree > ul > li:first-child { display: none; }
.page-index .category-tree > ul > li > ul > li { border-bottom: 1px solid #edf1f5; }
.page-index .category-tree a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  padding: .7rem 1.15rem;
  color: #30445a;
  font-size: .88rem;
}
.page-index .category-tree > ul > li > ul > li > a::after { content: "›"; color: #8aa0b3; font-size: 1.1rem; }
.page-index .category-tree a:hover { color: var(--bieri-navy); background: #eef8fd; }
.page-index .category-tree > ul > li > ul > li > div { display: none; }
.page-index .home-left-column .ps-facetedsearch,
.page-index .home-left-column #search_filters_wrapper,
.page-index .home-left-column .faceted-search { display: none; }
.category-navigation__callout { margin: 1rem; padding: 1rem; color: #dcecf7; background: linear-gradient(145deg, var(--bieri-navy), var(--bieri-navy-2)); }
.category-navigation__callout strong { display: block; margin-bottom: .4rem; color: #fff; }
.category-navigation__callout span { display: block; margin-bottom: .75rem; color: #b9d2e4; font-size: .78rem; }
.category-navigation__callout a { color: var(--bieri-cyan); font-size: .82rem; font-weight: 750; }
.page-index #center-column { min-width: 0; }

/* Homepage hero */
.page-index .page-content--home { display: block; }
.bieri-home-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr);
  min-height: 455px;
  overflow: hidden;
  color: #fff;
  background: radial-gradient(circle at 84% 36%, rgba(71, 214, 255, .24), transparent 25%), linear-gradient(118deg, #06182d 5%, #0b2c4d 100%);
}
.bieri-home-hero__copy { z-index: 1; align-self: center; padding: 4rem 3rem; }
.bieri-home-hero__eyebrow { margin-bottom: 1rem; color: var(--bieri-cyan); font-size: .76rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.bieri-home-hero h1 { max-width: 560px; margin: 0 0 1.2rem; color: #fff; font-size: clamp(2.2rem, 4vw, 4.35rem); line-height: 1.02; letter-spacing: -.045em; }
.bieri-home-hero p { max-width: 500px; color: #c9d8e6; font-size: 1.02rem; }
.bieri-home-hero__actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.7rem; }
.bieri-home-hero__actions a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 1.1rem; border: 1px solid rgba(255,255,255,.4); border-radius: .25rem; font-weight: 750; }
.bieri-home-hero__actions a:first-child { color: #06182d; border-color: var(--bieri-cyan); background: var(--bieri-cyan); }
.bieri-home-hero__visual { position: relative; min-height: 455px; }
.bieri-home-hero__visual::before { content: ""; position: absolute; top: 8%; right: 4%; width: 440px; height: 440px; border-radius: 50%; background: radial-gradient(circle, rgba(71,214,255,.4), transparent 66%); }
.bieri-home-hero__panel { position: absolute; right: 8%; bottom: 3.3rem; width: 76%; height: 260px; border: 1px solid rgba(147, 218, 255, .34); background: linear-gradient(135deg, rgba(4, 17, 33, .3), rgba(47, 119, 178, .4)); transform: perspective(600px) rotateY(-12deg) rotateX(4deg); box-shadow: 0 18px 50px rgba(0,0,0,.22); }
.bieri-home-hero__panel::before { content: ""; position: absolute; top: 3rem; right: 12%; left: 9%; height: 6px; background: #dffbff; box-shadow: 0 0 28px 10px rgba(71,214,255,.75); }
.bieri-home-hero__panel::after { content: ""; position: absolute; right: 9%; bottom: 2rem; width: 52%; height: 64px; border: 4px solid #cad8e2; border-radius: 4px; box-shadow: inset 0 0 0 4px rgba(20,40,60,.45), 0 0 34px rgba(71,214,255,.2); }
.bieri-home-hero__badge { position: absolute; top: 1.5rem; right: 2rem; padding: .5rem .75rem; color: #cfefff; border: 1px solid rgba(71,214,255,.48); background: rgba(6,24,45,.8); font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; }

.bieri-home-benefits { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 2rem 0 3rem; background: var(--bieri-line); }
.bieri-home-benefits > div { padding: 1.2rem 1.3rem; color: #fff; background: var(--bieri-navy); }
.bieri-home-benefits strong { display: block; margin-bottom: .2rem; }
.bieri-home-benefits span { color: #b9d2e4; font-size: .86rem; }

/* Hide generic demo modules; real product modules remain active */
.page-index .ps-imageslider,
.page-index .ps-customtext,
.page-index .ps-banner,
.page-index .banner { display: none !important; }
.page-index .featured-products,
.page-index .new-products,
.page-index .bestsellers { margin-top: 2.5rem; }
.page-index .products-section-title,
.page-index .featured-products h2,
.page-index .new-products h2,
.page-index .bestsellers h2 { color: var(--bieri-navy); letter-spacing: -.025em; }
.page-index .products { gap: 12px; }
.products:not(.products--list) .product-miniature { overflow: hidden; border: 1px solid var(--bieri-line); background: #fff; box-shadow: 0 8px 22px rgba(7,26,49,.04); transition: transform .2s, box-shadow .2s; }
.products:not(.products--list) .product-miniature:hover { transform: translateY(-4px); box-shadow: 0 18px 50px rgba(7,26,49,.12); }
.products:not(.products--list) .product-miniature .thumbnail-container { margin: 0; background: #fff; }
.products:not(.products--list) .product-miniature__add-text { display: none; }
.products:not(.products--list) .product-miniature__form { align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: .4rem; }
.products:not(.products--list) .product-miniature__form .quantity-button { flex: 1 1 auto; min-width: 0; }
.products:not(.products--list) .product-miniature__add { flex: 0 0 37.6px; height: 37.6px; width: 37.6px; }
.products:not(.products--list) .product-miniature .product-description { padding: 1rem; }
.products:not(.products--list) .product-miniature .product-title a { color: var(--bieri-ink); font-weight: 650; }
.products:not(.products--list) .product-miniature .price { color: var(--bieri-navy); font-weight: 750; }

/* Category and product pages retain the requested left selection block */
.page-category #left-column,
.page-product #left-column { padding-top: 1rem; }
.page-category .category-tree,
.page-product .category-tree { padding: .6rem 0; border: 1px solid var(--bieri-line); background: #fff; box-shadow: 0 8px 22px rgba(7,26,49,.05); }
.page-category .category-tree a,
.page-product .category-tree a { display: block; padding: .65rem 1rem; color: #30445a; border-bottom: 1px solid #edf1f5; }
.page-category .category-tree a:hover,
.page-product .category-tree a:hover { color: var(--bieri-navy); background: #eef8fd; }

/* Refined product-led layout */
body {background:#f4f7fa}
.page-index .columns-container {padding:24px;max-width:1480px}
.page-index .home-left-column {position:static;padding:0 12px}
.category-navigation {border-radius:12px}
.category-tree .left-block__title {display:block}
.page-index .category-tree .left-block__title {display:none}
.category-tree .category-tree__list,.category-tree .category-tree__item {margin:0;padding:0}
.category-tree .category-tree__item-header {min-height:36px;padding:0;border-bottom:1px solid #edf1f5}
.category-tree .category-tree__item-link,.page-index .category-tree a,.page-category .category-tree a {padding:8px 12px;font-size:13px;line-height:20px;border:0}
.category-tree .accordion-body {padding:0 0 0 10px;background:#f4f8fc}
.category-tree .accordion-collapse,
.category-tree .accordion-collapse.collapsing { transition: none !important; }
.category-tree .accordion-button {width:36px;min-width:36px;height:36px;min-height:36px;padding:8px;box-shadow:none;background:transparent;color:#118bd0}
.category-tree .accordion-button::after {content:'+';background-image:none!important;transform:none!important;width:20px;height:20px;line-height:18px;text-align:center;border:1px solid #c8dfed;border-radius:5px;font:600 18px/18px Inter,sans-serif}
.category-tree .accordion-button[aria-expanded="true"]::after {content:'−';background:#118bd0;color:white}
.bieri-home-hero {grid-template-columns:1fr 1fr;min-height:370px;border-radius:16px;background:radial-gradient(ellipse at 95% 20%,#164e72,transparent 65%),#071a31}
.bieri-home-hero__copy {padding:36px 30px}
.bieri-home-hero h1 {font-size:clamp(36px,4vw,58px);line-height:1.08;letter-spacing:-.04em}
.bieri-home-hero__copy p {font-size:14px;line-height:1.7}
.bieri-home-hero__actions a {font-size:13px;color:white}
.bieri-home-hero__visual {min-height:360px;display:grid;grid-template-columns:1fr;align-content:center;padding:28px;gap:12px}
.bieri-home-hero__visual::before {display:none}
.bieri-showcase {display:grid;grid-template-columns:1fr;gap:4px;background:#fff;color:#071a31;border-radius:12px;padding:16px;box-shadow:0 14px 40px #0002;text-decoration:none;transition:transform .2s}
.bieri-showcase:hover {transform:translateY(-3px);color:#118bd0}
.bieri-showcase img {width:100%;height:175px;object-fit:contain;background:white}
.bieri-showcase__label {font-size:10px;letter-spacing:.12em;color:#118bd0;font-weight:700}
.bieri-showcase>span:last-child {font-size:12px;color:#607086}
.bieri-showcase--small {grid-template-columns:65px 1fr;align-items:center;padding:8px 14px}
.bieri-showcase--small img {height:55px}
.bieri-home-benefits {margin:16px 0 24px;gap:8px;background:transparent}
.bieri-home-benefits>div {background:#eaf2f8;color:#071a31;border-radius:8px;padding:14px}
.bieri-home-benefits span {color:#607086;font-size:12px}
.bieri-home-benefits strong {font-size:13px}
.products {gap:12px!important;--bs-gutter-x:12px;--bs-gutter-y:12px}
.product-miniature {border:1px solid #dce5ee;border-radius:10px;background:white;overflow:hidden}
.product-miniature__image {width:100%;height:190px;object-fit:contain;background:#fff;padding:10px}
.product-miniature__bottom {padding:12px}
.product-miniature__title {font-size:13px;line-height:1.45}
.product-miniature__inner {gap:8px}
.product-miniature__infos {gap:6px}
#bieri-sortiment {scroll-margin-top:170px}
@media(max-width:991px){.bieri-home-hero{grid-template-columns:1fr}.bieri-home-hero__visual{min-height:0;grid-template-columns:1fr 1fr;padding:0 24px 24px}.bieri-showcase--small{grid-template-columns:1fr}.bieri-showcase--small img{height:175px}}
@media(max-width:767px){.page-index .columns-container{padding:12px}.bieri-home-hero__copy{padding:28px 22px}.bieri-home-hero__visual{padding:0 16px 16px;gap:8px}.bieri-showcase img,.bieri-showcase--small img{height:110px}.product-miniature__image{height:150px}.category-tree .accordion-button{min-height:40px;height:40px}.bieri-home-benefits{grid-template-columns:1fr}}

/* Footer */
.footer { color: #c5d4df; background: var(--bieri-navy); }
.footer a { color: #b9cbd8; }
.footer a:hover { color: var(--bieri-cyan); }
.footer-block__title, .footer-block__title a { color: #fff; }
#emailsubscription_anchor_displayFooterBefore { display: none !important; }

@media (max-width: 1199.98px) {
  #header .ps-mainmenu { margin-inline: -1rem; padding-inline: 1rem; }
  .bieri-home-hero { grid-template-columns: 1fr 1fr; }
  .bieri-home-hero__copy { padding-inline: 2rem; }
}

/* The legacy PS9 menu currently contains only one unrelated demo entry.
   The curated product navigation above replaces it at every breakpoint. */
#header .ps-mainmenu { display: none; }

@media (max-width: 767.98px) {
  .header-bottom__row { padding: .35rem .75rem 0; }
  .header-bottom__logo { padding-bottom: .9rem; }
  .header-bottom .navbar-brand .logo { max-width: 7.25rem; max-height: 5rem; }
  .ps-searchbar { order: 3; flex-basis: 100%; margin: 0 0 .75rem; }
  #header .header-bottom__row > #_desktop_ps_searchbar {
    position: static;
    width: 100% !important;
    max-width: none !important;
    transform: none;
  }
  .bieri-header-categories__inner { justify-content: flex-start; padding-inline: .75rem; }
  .bieri-header-categories__inner a { padding: .65rem .7rem; }
  .page-index .columns-container { padding-block: 1rem 3rem; }
  .page-index .home-left-column { position: static; margin-bottom: 1.2rem; }
  .bieri-home-hero { display: block; min-height: 0; }
  .bieri-home-hero__copy { padding: 2.4rem 1.4rem 1.2rem; }
  .bieri-home-hero__visual { min-height: 240px; }
  .bieri-home-hero__panel { right: 8%; bottom: 1.6rem; height: 155px; }
  .bieri-home-hero__badge { top: 1rem; right: 1rem; font-size: .58rem; }
  .bieri-home-benefits { grid-template-columns: 1fr; margin-top: 1.2rem; }
  .page-index .product-miniature { margin-bottom: 1rem; }
}
@media(max-width:1199px){.bieri-home-hero{grid-template-columns:1fr}.bieri-home-hero__visual{min-height:0;grid-template-columns:1fr 1fr;padding:0 24px 24px}.bieri-showcase--small{grid-template-columns:1fr}.bieri-showcase--small img{height:175px}}
@media(max-width:767px){.bieri-home-hero__visual{min-height:0;padding:0 16px 16px}.bieri-showcase img,.bieri-showcase--small img{height:110px}}

/* Header interactions: keep the utility bar quiet and move the cart into
   the white search row on desktop. */
.header-top,
.header-top__left,
.header-top__right { color: #fff; }
.header-top a:not(.dropdown-item),
.header-top .ps-contactinfo a,
.header-top .ps-customersignin a { color: #fff !important; }
.header-top a:not(.dropdown-item):hover,
.header-top .ps-contactinfo a:hover,
.header-top .ps-customersignin a:hover { color: var(--bieri-cyan) !important; }
.header-top .ps-contactinfo__email {
  align-items: center;
  display: inline-flex;
  gap: .35rem;
  font-size: .78rem;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}
.header-top__right .ps-contactinfo__email::before { content: "✉"; font-size: 1.05rem; line-height: 1; }
  color: currentColor;
  content: "mail";
  font-family: "Material Icons", sans-serif;
  font-size: 1.08rem;
  font-weight: normal;
  line-height: 1;
  font-feature-settings: "liga";
}
.header-top .ps-languageselector .form-select {
  color: #fff;
  background-color: transparent;
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 6px;
}
.header-top .ps-languageselector .form-select:focus {
  color: #fff;
  border-color: var(--bieri-cyan);
  box-shadow: 0 0 0 .18rem rgba(17,139,208,.2);
}
.header-top .ps-languageselector .form-select option {
  color: var(--bieri-ink);
  background: #fff;
}
#header .header-bottom__row > #_desktop_ps_shoppingcart {
  display: flex;
  align-items: center;
  width: auto;
  max-width: none;
  order: 3;
  flex: 0 0 auto;
  margin-left: auto;
  padding-bottom: .5rem;
}
#header .header-bottom__row {
  position: relative;
}
#header .header-bottom__row > #_desktop_ps_searchbar {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(500px, 48vw) !important;
  max-width: 500px !important;
  margin-left: 0;
  transform: translate(-50%, -50%);
}
#header .header-bottom__row > #_desktop_ps_shoppingcart .header-block__action-btn {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-height: 42px;
  padding: .55rem .8rem;
  color: var(--bieri-navy);
  background: #fff;
  border: 1px solid #d8e4ed;
  border-radius: 8px;
  box-shadow: 0 4px 14px rgba(7,26,49,.08);
}
#header .header-bottom__row > #_desktop_ps_shoppingcart .header-block__action-btn:hover {
  color: var(--bieri-blue);
  border-color: #a9cce1;
}
#header .header-bottom__row > #_desktop_ps_shoppingcart .header-block__icon { color: var(--bieri-blue); }
#header .header-bottom__row > #_desktop_ps_shoppingcart .header-block__badge {
  background: var(--bieri-blue);
  color: #fff;
}
@media (max-width: 767.98px) {
  #header .header-bottom__row > #_desktop_ps_shoppingcart { display: none; }
  #header .header-bottom__row > #_desktop_ps_searchbar {
    position: static;
    width: 100%;
    max-width: none;
    margin: 0 0 .75rem;
    transform: none;
  }
}

/* Product listing controls, responsive grid and persistent list view */
.products__selection { align-items: center; display: flex; flex-wrap: wrap; gap: .75rem 1rem; justify-content: space-between; }
.products__sort { align-items: center; display: flex; flex-wrap: wrap; gap: .5rem; justify-content: flex-end; }
.products__view-switcher { align-items: center; display: inline-flex; gap: .25rem; }
.products__view-button { align-items: center; display: inline-flex; gap: .3rem; justify-content: center; min-height: 2.5rem; padding-inline: .65rem; }
.products__view-button[aria-pressed="true"] { background: var(--bs-primary); border-color: var(--bs-primary); color: var(--bs-white); }
#js-product-list .products { display: grid !important; gap: 12px !important; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-inline: 0 !important; }
#js-product-list .products .product-miniature { min-width: 0; }
#js-product-list .products.products--list { grid-template-columns: minmax(0, 1fr) !important; }
#js-product-list .products.products--list .product-miniature__inner { display: grid; grid-template-columns: minmax(180px, 260px) minmax(0, 1fr); }
#js-product-list .products.products--list .product-miniature__top { align-items: center; display: flex; justify-content: center; }
#js-product-list .products.products--list .product-miniature__image { height: auto; max-height: 220px; }
#js-product-list .products.products--list .product-miniature__bottom { display: flex; flex-direction: column; justify-content: space-between; padding: 1rem 1.25rem; }
@media (min-width: 768px) {
  #js-product-list .products.products--list .product-miniature__inner { grid-template-columns: minmax(220px, 280px) minmax(0, 1fr); }
}
@media (min-width: 992px) {
  #js-product-list .products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
  .products__selection { align-items: stretch; }
  .products__sort { justify-content: space-between; width: 100%; }
  .products__view-button { min-width: 2.5rem; padding-inline: .45rem; }
  .products__view-button span { display: none; }
  #js-product-list .products.products--list .product-miniature__inner { grid-template-columns: minmax(105px, 34%) minmax(0, 1fr); }
  #js-product-list .products.products--list .product-miniature__image { max-height: 150px; }
  #js-product-list .products.products--list .product-miniature__bottom { padding: .75rem; }
}

/* Compact list rows: keep product details readable while reducing vertical space. */
#js-product-list .products.products--list { gap: .5rem !important; }
#js-product-list .products.products--list .product-miniature__inner {
  align-items: center;
  grid-template-columns: 104px minmax(0, 1fr);
  gap: .25rem;
}
#js-product-list .products.products--list .product-miniature__top {
  height: 78px;
  overflow: hidden;
}
#js-product-list .products.products--list .product-miniature__image {
  display: block !important;
  height: 70px !important;
  max-height: 70px;
  object-fit: contain;
  padding: 2px;
  width: 100%;
}
#js-product-list .products.products--list .product-miniature__bottom {
  align-items: center;
  display: grid;
  gap: .4rem 1rem;
  grid-template-columns: minmax(0, 1fr) auto;
  min-width: 0;
  padding: .45rem .75rem;
}
#js-product-list .products.products--list .product-miniature__infos {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  justify-content: center;
  min-width: 0;
}
#js-product-list .products.products--list .product-miniature__title {
  font-size: .95rem;
  line-height: 1.25;
}
#js-product-list .products.products--list .product-miniature__variants {
  font-size: .82rem;
  line-height: 1.25;
}
#js-product-list .products.products--list .product-miniature__prices {
  line-height: 1.2;
  margin: 0;
}
#js-product-list .products.products--list .product-miniature__actions {
  align-items: center;
  display: flex;
  justify-content: flex-end;
}
#js-product-list .products.products--list .product-miniature__form {
  align-items: center;
  display: flex;
  gap: .4rem;
  margin: 0;
}
#js-product-list .products.products--list .product-miniature__details {
  margin: 0;
  white-space: nowrap;
}
@media (min-width: 768px) and (max-width: 1199.98px) {
  #js-product-list .products.products--list .product-miniature__inner {
    grid-template-columns: 84px minmax(0, 1fr);
  }
  #js-product-list .products.products--list .product-miniature__top {
    height: 66px;
  }
  #js-product-list .products.products--list .product-miniature__image {
    height: 58px !important;
    max-height: 58px;
  }
  #js-product-list .products.products--list .product-miniature__bottom {
    gap: .3rem .65rem;
    padding: .35rem .55rem;
  }
  #js-product-list .products.products--list .product-miniature__title {
    font-size: .9rem;
  }
}
@media (max-width: 767.98px) {
  #js-product-list .products.products--list .product-miniature__inner {
    grid-template-columns: 76px minmax(0, 1fr);
  }
  #js-product-list .products.products--list .product-miniature__top {
    height: 58px;
  }
  #js-product-list .products.products--list .product-miniature__image {
    height: 50px !important;
    max-height: 50px;
    padding: 2px;
  }
  #js-product-list .products.products--list .product-miniature__bottom {
    gap: .25rem .45rem;
    padding: .3rem .4rem;
  }
  #js-product-list .products.products--list .product-miniature__title {
    font-size: .88rem;
  }
}

/* Homepage category shortcuts */
.bieri-category-tiles {
  margin: 1.5rem 0 2.6rem;
}
.bieri-category-tiles__heading {
  align-items: end;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 1rem;
}
.bieri-category-tiles__heading > div > span {
  color: var(--bieri-blue);
  display: block;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .14em;
  margin-bottom: .25rem;
}
.bieri-category-tiles__heading h2 {
  color: var(--bieri-navy);
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  letter-spacing: -.03em;
  margin: 0;
}
.bieri-category-tiles__heading p {
  color: var(--bieri-muted);
  font-size: .9rem;
  margin: 0 0 .15rem;
  max-width: 360px;
}
.bieri-category-tiles__grid {
  display: grid;
  gap: .8rem;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.bieri-category-tile {
  background: #fff;
  border: 1px solid var(--bieri-line);
  border-radius: 12px;
  color: var(--bieri-ink);
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  position: relative;
  text-decoration: none;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.bieri-category-tile:hover,
.bieri-category-tile:focus-visible {
  border-color: #9bdcf0;
  box-shadow: 0 12px 26px rgba(7, 26, 49, .11);
  color: var(--bieri-navy);
  text-decoration: none;
  transform: translateY(-3px);
}
.bieri-category-tile__image {
  align-items: center;
  background: #f6f9fc;
  display: flex;
  height: 145px;
  justify-content: center;
  overflow: hidden;
  padding: .7rem;
}
.bieri-category-tile__image img {
  height: 100%;
  max-width: 100%;
  object-fit: contain;
  transition: transform .2s ease;
  width: 100%;
}
.bieri-category-tile:hover .bieri-category-tile__image img,
.bieri-category-tile:focus-visible .bieri-category-tile__image img {
  transform: scale(1.045);
}
.bieri-category-tile__copy {
  display: flex;
  flex-direction: column;
  gap: .18rem;
  min-height: 68px;
  padding: .7rem 2rem .75rem .8rem;
}
.bieri-category-tile__copy strong {
  color: var(--bieri-navy);
  font-size: .94rem;
  line-height: 1.2;
}
.bieri-category-tile__copy small {
  color: var(--bieri-muted);
  font-size: .75rem;
  line-height: 1.3;
}
.bieri-category-tile__arrow {
  bottom: .75rem;
  color: var(--bieri-blue);
  font-size: 1.1rem;
  line-height: 1;
  position: absolute;
  right: .75rem;
}
@media (max-width: 1199.98px) {
  .bieri-category-tiles__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
  .bieri-category-tiles { margin: 1.4rem 0 2rem; }
  .bieri-category-tiles__heading { align-items: start; flex-direction: column; }
  .bieri-category-tiles__heading p { font-size: .82rem; }
  .bieri-category-tiles__grid { gap: .55rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bieri-category-tile__image { height: 112px; padding: .45rem; }
  .bieri-category-tile__copy { min-height: 61px; padding: .55rem 1.55rem .6rem .6rem; }
  .bieri-category-tile__copy strong { font-size: .86rem; }
  .bieri-category-tile__copy small { font-size: .7rem; }
  .bieri-category-tile__arrow { bottom: .6rem; right: .6rem; }
}

/* Category navigation inspired by Gravita's clear, expandable category list */
.category-tree.bieri-categorynav {
  background: var(--bieri-surface);
  border: 1px solid var(--bieri-line);
  border-radius: 14px;
  box-shadow: none;
  overflow: hidden;
  padding: 1rem .55rem 1.1rem;
}
.category-tree.bieri-categorynav .category-tree__title {
  color: var(--bieri-navy);
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .09em;
  margin: 0;
  padding: .15rem .7rem .55rem;
  text-transform: uppercase;
}
.category-tree.bieri-categorynav nav,
.category-tree.bieri-categorynav .category-tree__child {
  margin: 0;
  padding: 0;
}
.category-tree.bieri-categorynav .category-tree__all,
.category-tree.bieri-categorynav .category-tree__item-link {
  align-items: center;
  border: 0;
  border-radius: 10px;
  color: #30445a;
  display: flex;
  font-size: .88rem;
  gap: .45rem;
  justify-content: flex-start;
  line-height: 1.35;
  min-height: 38px;
  padding: .48rem .7rem;
  text-decoration: none;
  transition: background-color .15s ease, color .15s ease;
}
.category-tree.bieri-categorynav .category-tree__all {
  color: var(--bieri-navy-2);
  margin-bottom: .12rem;
}
.category-tree.bieri-categorynav .category-tree__item,
.category-tree.bieri-categorynav .category-tree__item-header {
  border: 0;
  margin: 0;
  min-height: 0;
  padding: 0;
}
.category-tree.bieri-categorynav .category-tree__item-header {
  display: flex;
  align-items: stretch;
}
.category-tree.bieri-categorynav .category-tree__item-link {
  flex: 1 1 auto;
  min-width: 0;
}
.category-tree.bieri-categorynav .category-tree__item-link:hover,
.category-tree.bieri-categorynav .category-tree__all:hover,
.category-tree.bieri-categorynav .category-tree__item-link:focus-visible,
.category-tree.bieri-categorynav .category-tree__all:focus-visible {
  background: #e4f5fb;
  color: var(--bieri-navy);
  outline: none;
}
.category-tree.bieri-categorynav .category-tree__item.is-current > .category-tree__item-header > .category-tree__item-link,
.category-tree.bieri-categorynav .category-tree__all.is-current {
  background: var(--bieri-navy-2);
  box-shadow: 0 3px 8px rgba(7, 26, 49, .16);
  border-left: 3px solid var(--bieri-cyan);
  color: #fff;
  font-weight: 600;
}
.category-tree.bieri-categorynav .category-tree__item.is-current > .category-tree__item-header {
  background: var(--bieri-navy-2);
  border-radius: 10px;
  box-shadow: 0 3px 8px rgba(7, 26, 49, .16);
}
.category-tree.bieri-categorynav .category-tree__item.is-current > .category-tree__item-header > .category-tree__item-link {
  background: transparent;
  box-shadow: none;
  border-left: 3px solid var(--bieri-cyan);
  color: #fff;
}
.category-tree.bieri-categorynav .category-tree__item.is-current > .category-tree__item-header > .accordion-button {
  color: var(--bieri-cyan);
}
.category-tree.bieri-categorynav .category-tree__item.is-current > .category-tree__item-header > .category-tree__item-link:hover,
.category-tree.bieri-categorynav .category-tree__item.is-current > .category-tree__item-header > .category-tree__item-link:focus-visible {
  background: transparent;
  color: #fff;
}
.category-tree.bieri-categorynav .category-tree__item.is-in-path:not(.is-current) > .category-tree__item-header > .category-tree__item-link {
  color: var(--bieri-navy-2);
  font-weight: 600;
}
.category-tree.bieri-categorynav .category-tree__list {
  display: flex;
  flex-direction: column;
  gap: .08rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.category-tree.bieri-categorynav .accordion-body {
  background: transparent;
  padding: .1rem 0 .25rem .48rem;
}
.category-tree.bieri-categorynav .category-tree__list[data-depth="1"] .category-tree__item-link {
  color: #607086;
  font-size: .84rem;
  padding-left: 1.1rem;
}
.category-tree.bieri-categorynav .category-tree__list[data-depth="2"] .category-tree__item-link,
.category-tree.bieri-categorynav .category-tree__list[data-depth="3"] .category-tree__item-link {
  color: #667b90;
  font-size: .8rem;
  padding-left: 1.55rem;
}
.category-tree.bieri-categorynav .category-tree__item-count {
  color: #8498ab;
  flex: 0 0 auto;
  font-size: .86em;
  font-weight: 400;
  margin-left: .18rem;
  white-space: nowrap;
}
.category-tree.bieri-categorynav .category-tree__item.is-current .category-tree__item-count {
  color: rgba(255, 255, 255, .76);
}
.category-tree.bieri-categorynav .accordion-button {
  align-self: center;
  background: transparent;
  border: 0;
  box-shadow: none;
  color: var(--bieri-blue);
  flex: 0 0 30px;
  height: 34px;
  margin: 0 .1rem 0 0;
  min-height: 34px;
  padding: .6rem;
  width: 30px;
}
.category-tree.bieri-categorynav .accordion-button::after {
  background: none !important;
  border: 0;
  border-bottom: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  border-radius: 0;
  content: "";
  height: 7px;
  transform: rotate(45deg) !important;
  transition: transform .15s ease;
  width: 7px;
}
.category-tree.bieri-categorynav .accordion-button[aria-expanded="true"]::after {
  background: none;
  color: var(--bieri-blue);
  transform: rotate(225deg) !important;
}
.category-tree.bieri-categorynav .category-tree__mobile-toggle {
  display: none;
}
.category-tree.bieri-categorynav .category-tree__panel.collapse {
  display: block !important;
  height: auto !important;
  visibility: visible;
}
@media (max-width: 767.98px) {
  .category-tree.bieri-categorynav { border-radius: 12px; padding: .45rem; }
  .category-tree.bieri-categorynav .category-tree__mobile-toggle {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bieri-line);
    border-radius: 9px;
    color: var(--bieri-navy);
    cursor: pointer;
    display: flex;
    font: inherit;
    font-size: .76rem;
    font-weight: 700;
    justify-content: space-between;
    letter-spacing: .09em;
    min-height: 42px;
    padding: .55rem .7rem;
    text-align: left;
    text-transform: uppercase;
    width: 100%;
  }
  .category-tree.bieri-categorynav .category-tree__mobile-toggle-icon {
    border-bottom: 2px solid currentColor;
    border-right: 2px solid currentColor;
    height: .5rem;
    margin: 0 .15rem .2rem .5rem;
    transform: rotate(45deg);
    transition: transform .15s ease;
    width: .5rem;
  }
  .category-tree.bieri-categorynav .category-tree__mobile-toggle[aria-expanded="true"] .category-tree__mobile-toggle-icon {
    margin-bottom: 0;
    margin-top: .2rem;
    transform: rotate(225deg);
  }
  .category-tree.bieri-categorynav .category-tree__panel.collapse:not(.show) {
    display: none !important;
  }
  .category-tree.bieri-categorynav .category-tree__panel.show {
    margin-top: .45rem;
  }
  .category-tree.bieri-categorynav .category-tree__panel .category-tree__title {
    display: none;
  }
  .category-tree.bieri-categorynav .category-tree__item-link,
  .category-tree.bieri-categorynav .category-tree__all { min-height: 42px; }
  .category-tree.bieri-categorynav nav {
    max-height: min(42vh, 280px);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-color: var(--bieri-blue) #eaf2f8;
  }
}

/* Keep the shared category navigation compact without crowding the content. */
@media (min-width: 1200px) {
  .page-index #left-column.home-left-column,
  body.layout-left-column #left-column {
    flex: 0 0 23%;
    max-width: 23%;
  }
  .page-index #center-column,
  body.layout-left-column #content-wrapper {
    flex: 0 0 77%;
    max-width: 77%;
  }
}

/* Keep category overview cards aligned with the homepage product block. */
@media (min-width: 1200px) {
  .page-category .columns-container,
  .page-best-sales .columns-container,
  .page-new-products .columns-container,
  .page-prices-drop .columns-container,
  .page-search .columns-container,
  .page-manufacturer .columns-container,
  .page-supplier .columns-container {
    max-width: 1480px;
    padding: 24px;
  }
  .page-category .columns-container > .row,
  .page-best-sales .columns-container > .row,
  .page-new-products .columns-container > .row,
  .page-prices-drop .columns-container > .row,
  .page-search .columns-container > .row,
  .page-manufacturer .columns-container > .row,
  .page-supplier .columns-container > .row {
    margin-inline: -12px;
  }
  .page-category #left-column,
  .page-best-sales #left-column,
  .page-new-products #left-column,
  .page-prices-drop #left-column,
  .page-search #left-column,
  .page-manufacturer #left-column,
  .page-supplier #left-column {
    flex: 0 0 23%;
    max-width: 23%;
    padding: 16px 12px 0;
  }
  .page-category #center-column,
  .page-best-sales #center-column,
  .page-new-products #center-column,
  .page-prices-drop #center-column,
  .page-search #center-column,
  .page-manufacturer #center-column,
  .page-supplier #center-column {
    flex: 0 0 77%;
    max-width: 77%;
    padding: 0 24px 32px;
  }
  .page-category .products:not(.products--list) .product-miniature__infos,
  .page-best-sales .products:not(.products--list) .product-miniature__infos,
  .page-new-products .products:not(.products--list) .product-miniature__infos,
  .page-prices-drop .products:not(.products--list) .product-miniature__infos,
  .page-search .products:not(.products--list) .product-miniature__infos,
  .page-manufacturer .products:not(.products--list) .product-miniature__infos,
  .page-supplier .products:not(.products--list) .product-miniature__infos {
    min-height: 86.55px;
  }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  .page-index #left-column.home-left-column,
  body.layout-left-column #left-column {
    flex: 0 0 30%;
    max-width: 30%;
  }
  .page-index #center-column,
  body.layout-left-column #center-column,
  body.layout-left-column #content-wrapper {
    flex: 0 0 70%;
    max-width: 70%;
  }
}

/* Keep the category rail and product content in one horizontal layout at
   every width; the compact column sizes below handle the narrow view. */
.layout-left-column .columns-container > .row,
.page-index .columns-container > .row {
  flex-wrap: nowrap !important;
}

/* Keep the listing navigation beside the product cards at narrow widths. */
@media (max-width: 767.98px) {
  body.layout-left-column .columns-container > .row,
  .page-index .columns-container > .row {
    flex-wrap: nowrap !important;
  }
  .page-index #left-column.home-left-column {
    flex: 0 0 27% !important;
    max-width: 27% !important;
    width: 27% !important;
    padding: 10px 6px 0;
  }
  .page-index #center-column {
    flex: 0 0 73% !important;
    max-width: 73% !important;
    width: 73% !important;
    min-width: 0;
    padding: 0 6px 24px;
  }
  .page-category .columns-container > .row,
  .page-best-sales .columns-container > .row,
  .page-new-products .columns-container > .row,
  .page-prices-drop .columns-container > .row,
  .page-search .columns-container > .row,
  .page-manufacturer .columns-container > .row,
  .page-supplier .columns-container > .row {
    flex-wrap: nowrap;
  }
  .page-category #left-column,
  .page-best-sales #left-column,
  .page-new-products #left-column,
  .page-prices-drop #left-column,
  .page-search #left-column,
  .page-manufacturer #left-column,
  .page-supplier #left-column {
    flex: 0 0 27% !important;
    max-width: 27% !important;
    width: 27% !important;
    padding: 10px 6px 0;
  }
  .page-category #center-column,
  .page-best-sales #center-column,
  .page-new-products #center-column,
  .page-prices-drop #center-column,
  .page-search #center-column,
  .page-manufacturer #center-column,
  .page-supplier #center-column {
    flex: 0 0 73% !important;
    max-width: 73% !important;
    width: 73% !important;
    min-width: 0;
    padding: 0 6px 24px;
  }
  body.layout-left-column #center-column .products,
  body.layout-left-column #center-column .product-list {
    min-width: 0;
    width: 100%;
  }
}

/* Keep secondary listing blocks on the same content rail as the product list. */
@media (min-width: 1200px) {
  .page-category .ps-featuredproducts,
  .page-best-sales .ps-featuredproducts,
  .page-new-products .ps-featuredproducts,
  .page-prices-drop .ps-featuredproducts,
  .page-search .ps-featuredproducts,
  .page-manufacturer .ps-featuredproducts,
  .page-supplier .ps-featuredproducts {
    box-sizing: border-box;
    margin-left: calc(23% + 6px);
    width: calc(77% - 18px);
  }
  .page-category .ps-featuredproducts .module-products,
  .page-best-sales .ps-featuredproducts .module-products,
  .page-new-products .ps-featuredproducts .module-products,
  .page-prices-drop .ps-featuredproducts .module-products,
  .page-search .ps-featuredproducts .module-products,
  .page-manufacturer .ps-featuredproducts .module-products,
  .page-supplier .ps-featuredproducts .module-products {
    box-sizing: border-box;
    max-width: none;
    padding-inline: 24px;
    width: 100%;
  }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  .page-category .ps-featuredproducts,
  .page-best-sales .ps-featuredproducts,
  .page-new-products .ps-featuredproducts,
  .page-prices-drop .ps-featuredproducts,
  .page-search .ps-featuredproducts,
  .page-manufacturer .ps-featuredproducts,
  .page-supplier .ps-featuredproducts {
    box-sizing: border-box;
    margin-left: calc(33.333333% + 4px);
    width: calc(66.666667% - 16px);
  }
  .page-category .ps-featuredproducts .module-products,
  .page-best-sales .ps-featuredproducts .module-products,
  .page-new-products .ps-featuredproducts .module-products,
  .page-prices-drop .ps-featuredproducts .module-products,
  .page-search .ps-featuredproducts .module-products,
  .page-manufacturer .ps-featuredproducts .module-products,
  .page-supplier .ps-featuredproducts .module-products {
    box-sizing: border-box;
    max-width: none;
    padding-inline: 12px;
    width: 100%;
  }
}

@media (max-width: 767.98px) {
  .page-category .ps-featuredproducts,
  .page-best-sales .ps-featuredproducts,
  .page-new-products .ps-featuredproducts,
  .page-prices-drop .ps-featuredproducts,
  .page-search .ps-featuredproducts,
  .page-manufacturer .ps-featuredproducts,
  .page-supplier .ps-featuredproducts {
    box-sizing: border-box;
    margin-left: 27%;
    width: 73%;
  }
  .page-category .ps-featuredproducts .module-products,
  .page-best-sales .ps-featuredproducts .module-products,
  .page-new-products .ps-featuredproducts .module-products,
  .page-prices-drop .ps-featuredproducts .module-products,
  .page-search .ps-featuredproducts .module-products,
  .page-manufacturer .ps-featuredproducts .module-products,
  .page-supplier .ps-featuredproducts .module-products {
    box-sizing: border-box;
    max-width: none;
    padding-inline: 6px;
    width: 100%;
  }
}

/* Match the faceted-search block to the shared category navigation card. */
#left-column .search-filters {
  background: var(--bieri-surface);
  border: 1px solid var(--bieri-line);
  border-radius: 14px;
  box-shadow: none;
  overflow: hidden;
  padding: 1rem .55rem 1.1rem;
}
#left-column .search-filters > .left-block__title {
  color: var(--bieri-navy);
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .09em;
  line-height: 1.5;
  margin: 0;
  padding: .15rem .7rem .55rem;
  text-transform: uppercase;
}
#left-column .search-filters .accordion--small {
  display: flex;
  flex-direction: column;
  gap: .08rem;
}
#left-column .search-filters .accordion-item {
  background: transparent;
  border: 0;
  margin: 0;
}
#left-column .search-filters .accordion-button {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 10px;
  box-shadow: none;
  color: #30445a;
  display: flex;
  font-size: .88rem;
  font-weight: 600;
  gap: .45rem;
  justify-content: space-between;
  line-height: 1.35;
  min-height: 38px;
  padding: .48rem .7rem;
  text-align: left;
  transition: background-color .15s ease, color .15s ease;
}
#left-column .search-filters .accordion-button:hover,
#left-column .search-filters .accordion-button:focus-visible {
  background: #e4f5fb;
  color: var(--bieri-navy);
  outline: none;
}
#left-column .search-filters .accordion-button:not(.collapsed) {
  background: #e4f5fb;
  color: var(--bieri-navy);
}
#left-column .search-filters .accordion-button::after {
  background: none !important;
  background-image: none !important;
  border: 0;
  border-bottom: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  border-radius: 0;
  content: "";
  flex: 0 0 7px;
  height: 7px;
  margin: 0 .1rem 3px .5rem;
  transform: rotate(45deg);
  transition: transform .15s ease;
  width: 7px;
}
#left-column .search-filters .accordion-button:not(.collapsed)::after {
  color: var(--bieri-blue);
  transform: rotate(225deg);
}
#left-column .search-filters .accordion-body {
  background: transparent;
  list-style: none;
  margin: 0;
  padding: .1rem 0 .25rem .48rem;
}
#left-column .search-filters .accordion-body > li {
  list-style: none;
  margin: 0;
  padding: 0;
}
#left-column .search-filters .search-filters__item {
  border-radius: 8px;
  margin: 0;
  transition: background-color .15s ease, color .15s ease;
}
#left-column .search-filters .search-filters__form-check {
  align-items: center;
  display: flex;
  gap: .5rem;
  margin: 0;
  min-height: 32px;
  padding: .3rem .7rem .3rem 1.1rem;
}
#left-column .search-filters .form-check-input {
  accent-color: var(--bieri-blue);
  flex: 0 0 16px;
  float: none;
  margin: 0;
}
#left-column .search-filters .search-filters__form-label,
#left-column .search-filters .search-filters__link {
  color: #607086;
  font-size: .84rem;
  line-height: 1.35;
  text-decoration: none;
}
#left-column .search-filters .search-filters__form-label {
  cursor: pointer;
  flex: 1 1 auto;
  min-width: 0;
}
#left-column .search-filters .search-filters__link {
  align-items: center;
  display: flex;
  justify-content: space-between;
  width: 100%;
}
#left-column .search-filters .search-filters__magnitude {
  color: #8498ab;
  flex: 0 0 auto;
  font-size: .86em;
  font-weight: 400;
  margin-left: .18rem;
  white-space: nowrap;
}
#left-column .search-filters .search-filters__item:hover,
#left-column .search-filters .search-filters__item:focus-within,
#left-column .search-filters .search-filters__item.active {
  background: #e4f5fb;
}
#left-column .search-filters .search-filters__item:hover .search-filters__link,
#left-column .search-filters .search-filters__item:focus-within .search-filters__link,
#left-column .search-filters .search-filters__item.active .search-filters__link {
  color: var(--bieri-navy);
}
@media (max-width: 767.98px) {
  #left-column .search-filters { border-radius: 12px; padding: .45rem; }
  #left-column .search-filters .accordion-button { min-height: 42px; }
}

/* Keep primary buttons consistent with the slightly darker add-to-cart blue. */
.btn-primary {
  --bs-btn-bg: #0b5fa8;
  --bs-btn-border-color: #0b5fa8;
  --bs-btn-hover-bg: #094c88;
  --bs-btn-hover-border-color: #094c88;
  --bs-btn-active-bg: #073963;
  --bs-btn-active-border-color: #073963;
  --bs-btn-focus-shadow-rgb: 11, 95, 168;
}

/* Upper bar: consistent narrow side margin */
.header-top .container-md { max-width: none; width: 100%; padding-left: 1rem; padding-right: 1rem; }
.header-top .row { --bs-gutter-x: 0; margin-left: 0; margin-right: 0; }
.header-top__left, .header-top__right { padding-left: 0; padding-right: 0; }

/* Header-top contact aligned with account link */
.header-top__right { align-items: center; gap: 1.25rem; }
.header-top__right > .bieri-header-top-contact,
.header-top__right > #_desktop_ps_customersignin,
.header-top__right > #_desktop_ps_shoppingcart { display: flex; align-items: center; }
.header-top__right .bieri-header-top-contact { margin: 0 !important; }
.header-top__right .ps-contactinfo,
.header-top__right .ps-contactinfo__email,
.header-top__right .header-block__action-btn { display: inline-flex; align-items: center; min-height: 2rem; line-height: 1; }
.header-top__right .ps-contactinfo__email,
.header-top__right .header-block__action-btn { color: #dcecf7; font-size: .78rem; font-weight: 600; text-decoration: none; }
.header-top__right .ps-contactinfo__email { gap: .35rem; }
.header-top__right .ps-contactinfo__email::before { content: "✉"; font-size: 1.05rem; line-height: 1; }
.header-top__right .header-block__action-btn { gap: .35rem; }

/* Keep homepage and listing Highlights on the same product content rail. */
@media (min-width: 1200px) {
  .page-index .ps-featuredproducts {
    box-sizing: border-box;
    margin-left: calc(23% + 6px);
    width: calc(77% - 18px);
  }
  .page-index .ps-featuredproducts .module-products {
    box-sizing: border-box;
    max-width: none;
    padding-inline: 24px;
    width: 100%;
  }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  .page-index .ps-featuredproducts,
  .page-category .ps-featuredproducts,
  .page-best-sales .ps-featuredproducts,
  .page-new-products .ps-featuredproducts,
  .page-prices-drop .ps-featuredproducts,
  .page-search .ps-featuredproducts,
  .page-manufacturer .ps-featuredproducts,
  .page-supplier .ps-featuredproducts {
    margin-left: calc(30% + 4px);
    width: calc(70% - 16px);
  }
  .page-index .ps-featuredproducts .module-products,
  .page-category .ps-featuredproducts .module-products,
  .page-best-sales .ps-featuredproducts .module-products,
  .page-new-products .ps-featuredproducts .module-products,
  .page-prices-drop .ps-featuredproducts .module-products,
  .page-search .ps-featuredproducts .module-products,
  .page-manufacturer .ps-featuredproducts .module-products,
  .page-supplier .ps-featuredproducts .module-products {
    max-width: none;
    padding-inline: 12px;
    width: 100%;
  }
}

@media (max-width: 767.98px) {
  .page-index .ps-featuredproducts {
    box-sizing: border-box;
    margin-left: 27%;
    width: 73%;
  }
  .page-index .ps-featuredproducts .module-products {
    box-sizing: border-box;
    max-width: none;
    padding-inline: 6px;
    width: 100%;
  }
}

/* Keep the product navigation title blue at every viewport size. */
.category-tree.bieri-categorynav .category-tree__title,
.category-tree.bieri-categorynav .category-tree__mobile-toggle {
  color: var(--bieri-blue);
}

/* Make the product navigation title prominent and keep active entries readable. */
.category-tree.bieri-categorynav .category-tree__title,
.category-tree.bieri-categorynav .category-tree__mobile-toggle {
  color: var(--bieri-blue);
  font-size: 1.1rem;
  font-weight: 900;
  letter-spacing: .04em;
}
.category-tree.bieri-categorynav .category-tree__all.is-current,
.category-tree.bieri-categorynav .category-tree__item.is-current > .category-tree__item-header > .category-tree__item-link {
  background: var(--bieri-blue);
  color: #fff;
  font-weight: 800;
}
@media (max-width: 767.98px) {
  .category-tree.bieri-categorynav .category-tree__mobile-toggle {
    font-size: 1.05rem;
    font-weight: 900;
  }
}

/* Use the catalog navy for the product navigation heading and mobile toggle. */
.category-tree.bieri-categorynav .category-tree__title {
  background: var(--bieri-navy);
  color: #fff;
  margin: 0 -.55rem .55rem;
  padding: .8rem .9rem;
}
.category-tree.bieri-categorynav .category-tree__mobile-toggle {
  background: var(--bieri-navy);
  border-color: var(--bieri-navy);
  color: #fff;
}

/* Match selected categories to the catalog navy. */
.category-tree.bieri-categorynav .category-tree__all.is-current,
.category-tree.bieri-categorynav .category-tree__item.is-current > .category-tree__item-header > .category-tree__item-link {
  background: var(--bieri-navy);
  color: #fff;
}

/* Use the add-to-cart blue for selected categories and view controls. */
.category-tree.bieri-categorynav .category-tree__all.is-current,
.category-tree.bieri-categorynav .category-tree__item.is-current > .category-tree__item-header > .category-tree__item-link {
  background: #0b5fa8;
  color: #fff;
}
.products__view-button[aria-pressed="true"] {
  background: #0b5fa8;
  border-color: #0b5fa8;
  color: #fff;
}

/* Keep the complete current category row on the action blue. */
.category-tree.bieri-categorynav .category-tree__item.is-current > .category-tree__item-header,
.category-tree.bieri-categorynav .category-tree__item.is-current > .category-tree__item-header > .accordion-button {
  background: #0b5fa8;
}
.category-tree.bieri-categorynav .category-tree__item.is-current > .category-tree__item-header > .accordion-button {
  color: #fff;
}
.category-tree.bieri-categorynav .category-tree__item.is-current > .category-tree__item-header > .accordion-button::after {
  color: #fff;
}

/* Use the action blue for product titles in grid and list views. */
.products .product-miniature .product-title a,
.products .product-miniature__title a {
  color: #0b5fa8;
}
.products .product-miniature .product-title a:hover,
.products .product-miniature__title a:hover {
  color: #094c88;
}

/* Apply the action blue to the actual product title element used by Hummingbird. */
.products .product-miniature__title,
.products a.product-miniature__title,
.products .product-title a {
  color: #0b5fa8 !important;
}
.products .product-miniature__title:hover,
.products a.product-miniature__title:hover,
.products .product-title a:hover {
  color: #094c88 !important;
}

/* Lighten and round the product navigation heading. */
.category-tree.bieri-categorynav .category-tree__title {
  background: #09528f;
  border-radius: 10px 10px 0 0;
}
.category-tree.bieri-categorynav .category-tree__mobile-toggle {
  background: #09528f;
  border-color: #09528f;
  border-radius: 10px;
}

/* Bieri design pass: unified color, header, homepage and product cards. */
:root {
  --bieri-action: #0b5fa8;
  --bieri-action-hover: #094c88;
  --bieri-accent: #47d6ff;
}

/* 1. One clear color hierarchy for actions, accents and surfaces. */
.btn-primary {
  --bs-btn-bg: var(--bieri-action);
  --bs-btn-border-color: var(--bieri-action);
  --bs-btn-hover-bg: var(--bieri-action-hover);
  --bs-btn-hover-border-color: var(--bieri-action-hover);
  --bs-btn-active-bg: #073963;
  --bs-btn-active-border-color: #073963;
  --bs-btn-focus-shadow-rgb: 11, 95, 168;
}
.products__view-button[aria-pressed="true"],
.category-tree.bieri-categorynav .category-tree__all.is-current,
.category-tree.bieri-categorynav .category-tree__item.is-current > .category-tree__item-header,
.category-tree.bieri-categorynav .category-tree__item.is-current > .category-tree__item-header > .category-tree__item-link,
.category-tree.bieri-categorynav .category-tree__item.is-current > .category-tree__item-header > .accordion-button {
  background: var(--bieri-action);
  border-color: var(--bieri-action);
  color: #fff;
}
.category-tree.bieri-categorynav .category-tree__item.is-current > .category-tree__item-header > .accordion-button::after { color: #fff; }

/* 2. Clearer header hierarchy without reducing the logo. */
.header-bottom { border-bottom: 1px solid var(--bieri-line); }
.header-bottom__row {
  align-items: center;
  gap: .75rem;
  min-height: 78px;
  padding: .45rem 1.5rem .55rem;
}
.header-bottom__logo { padding-bottom: 0; }
.ps-searchbar { margin: 0 1.25rem; }
.ps-searchbar input[type="text"],
.ps-searchbar input[type="search"] {
  min-height: 44px;
  border-radius: 999px;
  background: #fff;
}
#header .header-bottom__row > #_desktop_ps_customersignin .header-block__action-btn {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  min-height: 42px;
  min-width: 42px;
  padding: .55rem .7rem;
  color: var(--bieri-navy);
  background: #fff;
  border: 1px solid var(--bieri-line);
  border-radius: 8px;
}
#header .header-bottom__row > #_desktop_ps_customersignin .header-block__action-btn:hover {
  color: var(--bieri-action);
  border-color: var(--bieri-action);
}
#header .header-bottom__row > #_desktop_ps_shoppingcart .header-block__action-btn {
  color: #fff;
  background: var(--bieri-action);
  border-color: var(--bieri-action);
}
#header .header-bottom__row > #_desktop_ps_shoppingcart .header-block__action-btn:hover {
  color: #fff;
  background: var(--bieri-action-hover);
  border-color: var(--bieri-action-hover);
}
#header .header-bottom__row > #_desktop_ps_shoppingcart .header-block__icon { color: #fff; }
#header .header-bottom__row > #_desktop_ps_shoppingcart .header-block__badge {
  color: var(--bieri-navy);
  background: var(--bieri-accent);
}

/* Utility bar: keep the message and account links on one desktop row. */
@media (min-width: 1100px) {
  .header-top .row {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
  }

  .header-top__left {
    flex: 1 1 auto;
    max-width: none;
    min-width: 0;
    width: auto;
  }

  .header-top__right {
    flex: 0 0 auto;
    flex-wrap: nowrap;
    gap: 1.1rem;
    max-width: none;
    min-width: max-content;
    width: auto;
  }

  .header-top__right > * {
    flex: 0 0 auto;
  }

  .bieri-header-trust {
    font-size: clamp(.86rem, 1.05vw, 1rem);
  }
}

/* 3. Quieter homepage rhythm: one surface, clear section breaks. */
.page-index .page-content--home { min-width: 0; }
.page-index .bieri-home-hero {
  border-radius: 18px;
  margin-bottom: 1.35rem;
  overflow: hidden;
}
.page-index .bieri-home-benefits {
  background: #fff;
  border: 1px solid var(--bieri-line);
  border-radius: 14px;
  gap: 0;
  margin: 1.25rem 0 2.25rem;
  overflow: hidden;
}
.page-index .bieri-home-benefits > div {
  color: var(--bieri-navy);
  background: #fff;
  border-right: 1px solid var(--bieri-line);
}
.page-index .bieri-home-benefits > div:last-child { border-right: 0; }
.page-index .bieri-home-benefits span { color: var(--bieri-muted); }
.page-index .bieri-category-tiles { margin-top: 0; }
.page-index .featured-products,
.page-index .new-products,
.page-index .bestsellers {
  border-top: 1px solid var(--bieri-line);
  margin-top: 2.25rem;
  padding-top: 1.35rem;
}
.page-index .products-section-title,
.page-index .featured-products h2,
.page-index .new-products h2,
.page-index .bestsellers h2 {
  color: var(--bieri-navy);
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  font-weight: 800;
  margin-bottom: 1rem;
}

/* 4. Product cards: equal structure and aligned actions in grid view. */
.products:not(.products--list) { align-items: stretch; }
.products:not(.products--list) .product-miniature {
  border-radius: 14px;
  display: flex;
  height: 100%;
}
.products:not(.products--list) .product-miniature__inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
}
.products:not(.products--list) .product-miniature__top {
  align-items: center;
  display: flex;
  flex: 0 0 180px;
  justify-content: center;
  min-height: 180px;
}
.products:not(.products--list) .product-miniature__image {
  height: 180px;
  max-height: 180px;
  object-fit: contain;
}
.products:not(.products--list) .product-miniature__bottom {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: .7rem;
  padding: .9rem;
}
.products:not(.products--list) .product-miniature__infos {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 5.2rem;
}
.products:not(.products--list) .product-miniature__title {
  display: block;
  font-weight: 700;
  line-height: 1.3;
  min-height: 2.6em;
}
.products:not(.products--list) .product-miniature__prices { margin-top: .45rem; }
.products:not(.products--list) .product-miniature__actions { margin-top: auto; }
.products:not(.products--list) .product-miniature__form { margin-top: auto; }
@media (max-width: 767.98px) {
  .header-bottom__row { min-height: 68px; padding: .35rem .75rem .5rem; }
  .ps-searchbar { margin: 0 0 .75rem; }
  .page-index .bieri-home-benefits { grid-template-columns: 1fr; }
  .page-index .bieri-home-benefits > div { border-bottom: 1px solid var(--bieri-line); border-right: 0; }
  .page-index .bieri-home-benefits > div:last-child { border-bottom: 0; }
  .products:not(.products--list) .product-miniature__top { flex-basis: 145px; min-height: 145px; }
  .products:not(.products--list) .product-miniature__image { height: 145px; max-height: 145px; }
  .products:not(.products--list) .product-miniature__bottom { padding: .75rem; }
}

/* Remove turquoise from cart badges and keep the count high-contrast. */
#header .header-block__badge {
  background: var(--bieri-navy);
  color: #fff;
}

/* Final cart badge color override: no turquoise notification bubble. */
.header-block__badge {
  background: #071a31 !important;
  border-color: #071a31 !important;
  color: #fff !important;
}


/* Unify leaf category rows with expandable category rows. */
.category-tree.bieri-categorynav .category-tree__item-header {
  background: #fff;
  border: 1px solid var(--bieri-line);
  border-radius: 10px;
  min-height: 38px;
}
.category-tree.bieri-categorynav .category-tree__item.is-current > .category-tree__item-header {
  background: var(--bieri-action);
  border-color: var(--bieri-action);
}
.category-tree.bieri-categorynav .category-tree__item-header > .category-tree__item-link {
  min-height: 36px;
}

/* Homepage promotion: seasonal light-chain campaign. */
.page-index .ps-customtext {
  display: block !important;
  margin: 2rem 0 2.4rem;
}
.page-index .ps-customtext > .container {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}
.page-index .bieri-lightchain-promo {
  align-items: stretch;
  background: linear-gradient(135deg, var(--bieri-navy) 0%, var(--bieri-navy-2) 64%, #0b5fa8 100%);
  border: 1px solid rgba(71, 214, 255, .24);
  border-radius: 18px;
  box-shadow: 0 14px 32px rgba(7, 26, 49, .16);
  color: #fff;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(220px, .85fr);
  min-height: 218px;
  overflow: hidden;
  position: relative;
}
.page-index .bieri-lightchain-promo__copy {
  align-self: center;
  padding: clamp(1.45rem, 3vw, 2.35rem);
  position: relative;
  z-index: 1;
}
.page-index .bieri-lightchain-promo__eyebrow {
  color: var(--bieri-cyan);
  display: block;
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .12em;
  margin-bottom: .45rem;
  text-transform: uppercase;
}
.page-index .bieri-lightchain-promo h2 {
  color: #fff;
  font-size: clamp(1.55rem, 2.9vw, 2.35rem);
  font-weight: 800;
  line-height: 1.08;
  margin: 0 0 .65rem;
}
.page-index .bieri-lightchain-promo p {
  color: #dcecff;
  font-size: clamp(.95rem, 1.25vw, 1.08rem);
  line-height: 1.5;
  margin: 0 0 1.1rem;
  max-width: 610px;
}
.page-index .bieri-lightchain-promo__button {
  align-items: center;
  background: var(--bieri-action);
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 9px;
  color: #fff;
  display: inline-flex;
  font-weight: 800;
  gap: .55rem;
  padding: .7rem 1rem;
  text-decoration: none;
  transition: background-color .18s ease, transform .18s ease;
}
.page-index .bieri-lightchain-promo__button:hover,
.page-index .bieri-lightchain-promo__button:focus-visible {
  background: var(--bieri-action-hover);
  color: #fff;
  transform: translateY(-1px);
}
.page-index .bieri-lightchain-promo__visual {
  background:
    radial-gradient(circle at 28% 33%, rgba(71, 214, 255, .26) 0 2px, transparent 3px),
    radial-gradient(circle at 62% 69%, rgba(255, 214, 107, .72) 0 3px, transparent 5px),
    linear-gradient(145deg, rgba(17, 139, 208, .22), rgba(7, 26, 49, .2));
  min-height: 218px;
  overflow: hidden;
  position: relative;
}
.page-index .bieri-lightchain-promo__visual img {
  display: block;
  height: 100%;
  min-height: 218px;
  object-fit: cover;
  object-position: 50% 50%;
  width: 100%;
}
.page-index .bieri-lightchain-promo__wire {
  border-top: 2px solid rgba(220, 236, 255, .72);
  left: -4%;
  position: absolute;
  right: -4%;
  top: 35%;
  transform: rotate(-7deg);
}
.page-index .bieri-lightchain-promo__bulb {
  background: #ffd66b;
  border: 2px solid rgba(255, 255, 255, .72);
  border-radius: 50%;
  box-shadow: 0 0 0 5px rgba(255, 214, 107, .1), 0 0 22px 7px rgba(255, 214, 107, .72);
  height: 13px;
  position: absolute;
  width: 13px;
}
.page-index .bieri-lightchain-promo__bulb:nth-of-type(2) { left: 17%; top: 34%; }
.page-index .bieri-lightchain-promo__bulb:nth-of-type(3) { left: 40%; top: 30%; }
.page-index .bieri-lightchain-promo__bulb:nth-of-type(4) { left: 63%; top: 25%; }
.page-index .bieri-lightchain-promo__bulb:nth-of-type(5) { left: 84%; top: 18%; }
.page-index .bieri-lightchain-promo__visual::after {
  content: none;
}
@media (max-width: 767.98px) {
  .page-index .ps-customtext { margin: 1.4rem 0 1.8rem; }
  .page-index .bieri-lightchain-promo { grid-template-columns: 1fr; }
  .page-index .bieri-lightchain-promo__copy { padding: 1.35rem; }
  .page-index .bieri-lightchain-promo__visual,
  .page-index .bieri-lightchain-promo__visual img { min-height: 115px; }
  .page-index .bieri-lightchain-promo__visual::after { top: 65%; }
}

/* Keep the PayPal option in the same card-style language as the other payment methods. */
#checkout-payment-step .payment-option--paypal {
  background: #fff;
  border: 1px solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  box-shadow: var(--bs-box-shadow-sm);
  overflow: hidden;
}
#checkout-payment-step .payment-option--paypal-first {
  box-sizing: border-box;
  background: #fff;
  border: 1px solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  box-shadow: var(--bs-box-shadow-sm);
  align-items: center;
  display: flex;
  margin: 0 0 .5rem;
  overflow: visible;
  padding: 0;
  margin-left: -17px;
  width: calc(100% + 17px);
}
#checkout-payment-step .payment-option--paypal-first .payment-option {
  box-sizing: border-box;
  background: transparent;
  border: 0;
  box-shadow: none;
  flex: 1 1 auto;
  margin: 0 !important;
  min-width: 0;
  padding: 0;
  position: relative;
  width: auto;
}
#checkout-payment-step .payment-option--paypal .payment-option__form-check {
  align-items: center;
  height: 3.5rem;
  min-height: 0;
  padding: .85rem 1rem;
}
#checkout-payment-step .payment-option--paypal-first .payment-option__form-check {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  gap: .75rem;
  margin: 0;
  height: 3.5rem;
  min-height: 0;
  padding: .5rem 1rem !important;
}
#checkout-payment-step .payment-option--paypal .payment-option__label {
  align-items: center;
  display: flex;
  gap: .75rem;
  width: 100%;
}
#checkout-payment-step .payment-option--paypal-first .payment-option__label {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
  gap: .75rem;
  margin: 0;
  min-height: 2rem;
  padding-left: 6rem;
  width: auto;
}
#checkout-payment-step .payment-option--paypal .payment-option__label img {
  max-height: 1.8rem;
  object-fit: contain;
  width: auto;
}
#checkout-payment-step .payment-option--paypal .paypal-mark {
  transform: translateY(-6px);
}
#checkout-payment-step .payment-option--paypal .paypal-logo {
  transform: none;
}
#checkout-payment-step .payment-option--paypal-first .payment-option__label img {
  max-height: 1.8rem;
  object-fit: contain;
  width: auto;
}
#checkout-payment-step .payment-option--paypal .payment-option__additional-information,
#checkout-payment-step .payment-option--paypal .js-payment-option-form {
  padding: 0 1rem 1rem;
}
#checkout-payment-step .payment-option--paypal-first .payment-option__input {
  flex: 0 0 auto;
  margin: 0 .15rem 0 0 !important;
  position: static;
}
#checkout-payment-step .payment-option--paypal-first .js-additional-information,
#checkout-payment-step .payment-option--paypal-first .js-payment-option-form {
  margin: 0;
  padding: 0 1rem 1rem;
}
#checkout-payment-step .payment-option--paypal-first [paypal-mark-container] {
  align-items: center;
  display: flex !important;
  margin: 0;
  left: 3rem;
  position: absolute;
  /* PayPal inserts this mark after the button container. Keep it in the
     payment-option header instead of vertically centering it in the full
     card, otherwise it overlaps the yellow PayPal button. */
  top: 2.125rem !important;
  transform: translateY(-50%);
}
#checkout-payment-step .payment-option--paypal-first [paypal-mark-container] .paypal-mark {
  margin: 0;
}

/* Keep bank transfer in the same card layout as the other payment methods. */
#checkout-payment-step #payment-option-3-container {
  background: #fff;
  border: 1px solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  box-shadow: var(--bs-box-shadow-sm);
  margin: 0 0 .5rem;
  margin-left: -17px;
  overflow: hidden;
  padding: 0;
  width: calc(100% + 17px);
}
#checkout-payment-step #payment-option-3-container .payment-option__form-check {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  gap: .75rem;
  height: 3.5rem;
  margin: 0;
  min-height: 0;
  padding: .5rem 1rem !important;
}
#checkout-payment-step #payment-option-3-container .payment-option__input {
  flex: 0 0 auto;
  margin: 0 .15rem 0 0 !important;
  position: static;
}
#checkout-payment-step #payment-option-3-container .payment-option__label {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
  margin: 0;
  min-height: 2rem;
  width: auto;
}
#checkout-payment-step #payment-option-3-container .payment-option__additional-information,
#checkout-payment-step #payment-option-3-container .js-payment-option-form {
  margin: 0;
  padding: 0 1rem 1rem;
}

/* Stripe's payment option is the shared card for card payments and TWINT.
   The module supplies the form separately, so give its selector the same
   card shell as PayPal and bank transfer. */
#checkout-payment-step #payment-option-1-container {
  box-sizing: border-box;
  background: #fff;
  border: 1px solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  box-shadow: var(--bs-box-shadow-sm);
  margin: 0 0 .5rem -17px;
  overflow: hidden;
  padding: 0;
  width: calc(100% + 17px);
}
#checkout-payment-step #payment-option-1-container .payment-option__form-check {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  gap: .75rem;
  height: 4.25rem;
  margin: 0;
  min-height: 0;
  padding: .5rem 1rem !important;
}
#checkout-payment-step #payment-option-1-container .payment-option__input {
  flex: 0 0 auto;
  margin: 0 .15rem 0 0 !important;
  position: static;
}
#checkout-payment-step #payment-option-1-container .payment-option__label {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
  margin: 0;
  min-height: 2rem;
  width: auto;
}
#checkout-payment-step #payment-option-1-container .payment-option__additional-information,
#checkout-payment-step #payment-option-1-container .js-payment-option-form {
  margin: 0;
  padding: 0 1rem 1rem;
}

/* Match the selectable circles of the external payment cards to Stripe's darker radio buttons. */
#checkout-payment-step .payment-option__input[type="radio"] {
  -webkit-appearance: none;
  appearance: none;
  background: #fff;
  border: 2px solid #70757d;
  border-radius: 50%;
  box-sizing: border-box;
  flex: 0 0 18px;
  height: 18px;
  margin: 0 !important;
  width: 18px;
}
#checkout-payment-step .payment-option__input[type="radio"]:checked {
  background: var(--bieri-blue);
  border-color: var(--bieri-blue);
  box-shadow: inset 0 0 0 4px #fff;
}

/* Make the required confirmation visually clear before the order can be
   submitted, while keeping the active button styling unchanged. */
#checkout-payment-step #conditions-to-approve .bieri-required-asterisk {
  color: #d32f2f;
  font-weight: 700;
  margin-right: .25rem;
}

#checkout-payment-step #payment-confirmation button[type="submit"].disabled,
#checkout-payment-step #payment-confirmation button[type="submit"]:disabled {
  background-color: #b9d2f2;
  border-color: #b9d2f2;
  color: #fff;
  cursor: not-allowed;
  opacity: 1;
}

/* The utility bar contains Kontakt and Anmelden. It is useful on desktop,
   but should not consume mobile screen height or compete with the shop header. */
@media (max-width: 767.98px) {
  #header .header-top { display: none !important; }

  /* Compact mobile header: keep the brand and the three actions visible
     without letting the logo create a full-height white band. */
  #header .header-bottom__row {
    height: 64px;
    min-height: 64px;
    align-items: center;
    padding: .2rem .65rem !important;
  }
  #header .header-bottom__logo,
  #header .header-bottom__h1 {
    height: 56px;
    max-height: 56px;
  }
  #header .header-bottom__logo {
    padding: 0 4px;
  }
  #header .header-bottom .navbar-brand .logo {
    max-width: 5.25rem;
    max-height: 3.5rem;
  }
  #header .header-block,
  #header .header-block__action-btn {
    height: 28px;
    width: 28px;
  }
  #header .header-block__action-btn {
    padding: 4px;
  }
  #header .header-block__icon {
    font-size: 18px;
  }
}

/* Compact landscape phones as well. Their viewport is wider than the
   portrait breakpoint, but the short height still needs the mobile header. */
@media (max-width: 991.98px) and (orientation: landscape) {
  #header .header-top { display: none !important; }
  #header .header-bottom__row {
    height: 64px;
    min-height: 64px;
    align-items: center;
    padding: .2rem .65rem !important;
  }
  #header .header-bottom__logo,
  #header .header-bottom__h1 {
    height: 56px;
    max-height: 56px;
  }
  #header .header-bottom__logo { padding: 0 4px; }
  #header .header-bottom .navbar-brand .logo {
    max-width: 5.25rem;
    max-height: 3.5rem;
  }
  #header .header-bottom__row > #_desktop_ps_shoppingcart .header-block__action-btn {
    min-height: 34px;
    padding: .35rem .55rem;
    font-size: .82rem;
  }
  #header .header-bottom__row > #_desktop_ps_shoppingcart .header-block__icon {
    font-size: 18px;
  }
}

@media (max-width: 991.98px) and (orientation: landscape) {
  html body #header.header .header-top.d-none.d-md-block {
    display: none !important;
  }
}

/* Give mobile pages a little more breathing room by scaling the complete
   page to 90%. The rule is limited to phone-sized viewports. */
@media (max-width: 767.98px), (max-width: 991.98px) and (orientation: landscape) {
  body {
    zoom: .9;
    width: 111.111111%;
  }
}
