/* Custom code goes here */



/* Wider pages: content spans the window with 1.5 cm margins on the left and right (desktop and tablet widths) */
@media (min-width: 992px) {
  .container {
    width: calc(100% - 3cm) !important;
    max-width: none !important;
  }
  /* a container placed inside another one must not shrink a second time */
  .container .container {
    width: 100% !important;
  }
}

/* Subcategory tiles on desktop: half the original size plus 15% (eight in a row instead of five) */
@media (min-width: 992px) {
  #subcategories ul li { width: 11.5%; padding: 0 6px; }
  #subcategories ul li:nth-child(5n+1), #subcategories ul li:nth-child(4n+1) { clear: none; }
  #subcategories ul li:nth-child(8n+1) { clear: both; }
  #subcategories ul li .subcategory-image a { padding: 3px; }
  #subcategories ul li:hover .subcategory-image a { border-width: 3px; padding: 1px; }
  #subcategories ul li h5 .subcategory-name { font-size: 11px; line-height: 14px; }
}

/* ---------------------------------------------------------------------------
   Category menu in the side column: a rounded card with a dark header,
   soft row separators, a golden marker for the current / hovered category
   and chevrons instead of the grey plus / minus boxes.
   --------------------------------------------------------------------------- */
#wrapper .columns .block-categories {
  background: #fff;
  border: 1px solid #e4e4e4;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
#wrapper .columns .block-categories .h6.text-uppercase.facet-label {
  margin: 0;
  padding: 13px 16px;
  background: #1b1a1b;
  border: 0;
}
#wrapper .columns .block-categories .h6.text-uppercase.facet-label a {
  display: block;
  padding: 0;
  border: 0;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.06em;
}
#wrapper .columns .block-categories .block_content { padding: 0; border: 0; }
#wrapper .columns .block-categories ul.tree { margin: 0; }

#wrapper .columns .block-categories li a {
  padding: 12px 46px 12px 18px;
  font-size: 14px;
  font-weight: 600;
  line-height: 18px;
  color: #232323;
  border-bottom: 1px solid #f0f0f0;
  transition: background-color 0.15s, box-shadow 0.15s, color 0.15s;
}
#wrapper .columns .block-categories ul.tree > li:last-child > a { border-bottom: 0; }

/* sub-levels */
#wrapper .columns .block-categories li li a {
  padding-left: 34px;
  font-size: 13.5px;
  font-weight: 400;
  color: #454545;
  background: #fafafa;
}
#wrapper .columns .block-categories li li li a { padding-left: 50px; }
#wrapper .columns .block-categories li li a:before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  margin-right: 10px;
  padding: 0;
  vertical-align: 3px;
  background-color: #c4c4c4;
  border-radius: 50%;
}

/* hover and current category */
#wrapper .columns .block-categories li span.grower:hover + a,
#wrapper .columns .block-categories li a:hover {
  background: #fbf6e2;
  color: #000;
  box-shadow: inset 3px 0 0 #e3b81c;
  text-decoration: none;
}
#wrapper .columns .block-categories li a.selected {
  background: #fdf3cc;
  color: #000;
  font-weight: 700;
  box-shadow: inset 4px 0 0 #e3b81c;
}
#wrapper .columns .block-categories li a:hover:before,
#wrapper .columns .block-categories li a.selected:before { background-color: #e3b81c; }

/* expand / collapse */
#wrapper .columns .block-categories li span.grower { background: transparent; z-index: 1; }
#wrapper .columns .block-categories li span.grower.OPEN:before,
#wrapper .columns .block-categories li span.grower.CLOSE:before {
  width: 44px;
  height: 42px;
  line-height: 42px;
  font-size: 22px;
  text-align: center;
  color: #8a8a8a;
}
#wrapper .columns .block-categories li span.grower.CLOSE:before { content: "\E5CF"; }
#wrapper .columns .block-categories li span.grower.OPEN:before { content: "\E5CE"; color: #232323; }
#wrapper .columns .block-categories li span.grower:hover:before { color: #c79d0c; }

/* Category menu icons: a small round picture before each name (the picture itself is set per
   category by the pickinglist module; categories without one keep a plain grey circle) */
#wrapper .columns .block-categories li a { display: flex; align-items: center; min-height: 48px; padding-top: 8px; padding-bottom: 8px; }
#wrapper .columns .block-categories li a:before,
#wrapper .columns .block-categories li li a:before {
  content: "";
  flex: 0 0 auto;
  display: block;
  width: 32px;
  height: 32px;
  margin: 0 12px 0 0;
  padding: 0;
  background-color: #f5f1e4;
  background-size: cover;
  background-position: center;
  border: 1px solid #e6e0cc;
  border-radius: 50%;
}
#wrapper .columns .block-categories li li a { padding-left: 30px; min-height: 42px; }
#wrapper .columns .block-categories li li a:before { width: 26px; height: 26px; margin-right: 10px; }
#wrapper .columns .block-categories li li li a { padding-left: 46px; }
#wrapper .columns .block-categories li a:hover:before,
#wrapper .columns .block-categories li a.selected:before { background-color: #f5f1e4; border-color: #e3b81c; }
#wrapper .columns .block-categories li span.grower.OPEN:before,
#wrapper .columns .block-categories li span.grower.CLOSE:before { height: 48px; line-height: 48px; }
#wrapper .columns .block-categories li li span.grower.OPEN:before,
#wrapper .columns .block-categories li li span.grower.CLOSE:before { height: 42px; line-height: 42px; }

/* ---------------------------------------------------------------------------
   Filter panel in the side column: a card with collapsible groups. Sizes are a
   grid of equal tiles, colours are pills with a colour dot, long option lists
   are checkbox rows with "show more". The same panel opens full-screen on phones.
   --------------------------------------------------------------------------- */
#wrapper .columns #search_filters,
#search_filters_wrapper #search_filters {
  margin-top: 20px;
  padding: 0;
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}
#search_filters .pl-filters-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 18px;
  background: #1b1a1b;
  color: #fff;
}
#search_filters .pl-filters-title {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}
#search_filters .pl-filters-title svg { width: 18px; height: 18px; fill: none; stroke: #e3b81c; stroke-width: 2; }
#search_filters .pl-filters-count,
#search_filters .pl-facet-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 10px;
  background: #e3b81c;
  color: #1b1a1b;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
}
#search_filters .pl-filters-clear {
  padding: 5px 12px;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 14px;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  line-height: 16px;
  cursor: pointer;
  transition: background-color 0.15s, border-color 0.15s, color 0.15s;
}
#search_filters .pl-filters-clear:hover { background: #e3b81c; border-color: #e3b81c; color: #1b1a1b; }

/* one group */
body #search_filters .facet { margin: 0; padding: 0 18px; border: 0; border-top: 1px solid #eee; }
body #search_filters .pl-filters-head + .facet { border-top: 0; }
#search_filters .pl-facet-head {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  margin: 0;
  padding: 16px 0;
  background: none;
  border: 0;
  outline: 0;
  text-align: left;
  cursor: pointer;
}
body #search_filters .pl-facet-head .facet-title {
  flex: 1;
  width: auto;
  margin: 0;
  padding: 0;
  font-size: 13px;
  font-weight: 700;
  line-height: 18px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #1b1a1b;
}
#search_filters .pl-facet-head:hover .facet-title { color: #a8850a; }
#search_filters .pl-facet-chevron {
  width: 8px;
  height: 8px;
  margin: 4px 4px 0 0;
  border-right: 2px solid #1b1a1b;
  border-bottom: 2px solid #1b1a1b;
  transform: rotate(-135deg);
  transition: transform 0.2s, margin 0.2s;
}
#search_filters .pl-facet.pl-closed .pl-facet-chevron { margin-top: -4px; transform: rotate(45deg); }
#search_filters .pl-facet .pl-facet-body {
  max-height: none;
  overflow: visible;
  margin: 0;
  padding: 0 0 18px;
  list-style: none;
}
#search_filters .pl-facet .pl-facet-body > li { margin: 0; padding: 0; }
#search_filters .pl-facet.pl-closed > .pl-facet-body,
#search_filters .pl-facet.pl-closed > .pl-more { display: none; }
/* before the script runs: groups start closed on phones unless something is selected in them */
@media (max-width: 767px) {
  #search_filters .pl-facet:not(.pl-open) > .pl-facet-body,
  #search_filters .pl-facet:not(.pl-open) > .pl-more { display: none; }
  #search_filters .pl-facet:not(.pl-open) .pl-facet-chevron { margin-top: -4px; transform: rotate(45deg); }
}

/* options: shared */
body #search_filters .facet .facet-label { margin: 0; cursor: pointer; }
body #search_filters .facet .facet-label a {
  width: auto;
  margin: 0;
  padding: 0;
  font-size: 13px;
  font-weight: 600;
  line-height: 18px;
  color: #232323;
}
body #search_filters .facet .facet-label a:hover { text-decoration: none; }
body #search_filters .facet .facet-label .custom-checkbox,
body #search_filters .facet .facet-label .custom-radio { position: static; top: auto; display: inline-flex; flex: none; margin: 0; }
body #search_filters .facet .facet-label .custom-checkbox input,
body #search_filters .facet .facet-label .custom-radio input { position: absolute; opacity: 0; width: 0; height: 0; }

/* sizes and other short values: grid of equal tiles */
#search_filters .pl-facet--grid .pl-facet-body { display: grid; grid-template-columns: repeat(auto-fill, minmax(52px, 1fr)); gap: 7px; }
body #search_filters .pl-facet--grid .facet-label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 40px;
  padding: 0 4px;
  background: #fff;
  border: 1.5px solid #dcdcdc;
  border-radius: 8px;
  transition: background-color 0.15s, border-color 0.15s, box-shadow 0.15s;
}
body #search_filters .pl-facet--grid .facet-label .custom-checkbox,
body #search_filters .pl-facet--grid .facet-label .custom-radio { display: none; }
body #search_filters .pl-facet--grid .facet-label a { font-size: 14px; white-space: nowrap; }

/* colours: pills with a colour dot */
#search_filters .pl-facet--colors .pl-facet-body { display: flex; flex-wrap: wrap; gap: 7px; }
body #search_filters .pl-facet--colors .facet-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: auto;
  padding: 6px 13px 6px 7px;
  background: #fff;
  border: 1.5px solid #dcdcdc;
  border-radius: 20px;
  transition: background-color 0.15s, border-color 0.15s, box-shadow 0.15s;
}
body #search_filters_wrapper .pl-facet--colors .custom-checkbox input[type=checkbox] + span.color {
  display: block;
  width: 20px;
  height: 20px;
  margin: 0;
  border: 1px solid rgba(0, 0, 0, 0.18);
  border-radius: 50%;
  box-shadow: inset 0 0 0 2px #fff;
  background-size: cover;
}
#search_filters .pl-facet--colors .color.pl-color-mixed { background: conic-gradient(#d0332e, #f2c81d, #3f8f4a, #2f6fd0, #7c4bb3, #d0332e); }

body #search_filters .pl-facet--grid .facet-label:hover,
body #search_filters .pl-facet--colors .facet-label:hover { border-color: #1b1a1b; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08); }
body #search_filters .pl-facet--grid .facet-label.active,
body #search_filters .pl-facet--colors .facet-label.active { background: #e3b81c; border-color: #1b1a1b; }
body #search_filters .pl-facet--grid .facet-label.active a,
body #search_filters .pl-facet--colors .facet-label.active a { color: #000; }

/* long values (categories, product features): checkbox rows */
body #search_filters .pl-facet--list .facet-label { display: flex; align-items: flex-start; gap: 11px; width: 100%; padding: 6px 0; }
body #search_filters .pl-facet--list .facet-label a { flex: 1; font-weight: 500; white-space: normal; }
#search_filters .pl-box {
  position: relative;
  display: block;
  width: 18px;
  height: 18px;
  background: #fff;
  border: 1.5px solid #bdbdbd;
  border-radius: 4px;
  transition: background-color 0.15s, border-color 0.15s;
}
#search_filters .pl-box.pl-box-round { border-radius: 50%; }
#search_filters .pl-facet--list .facet-label:hover .pl-box { border-color: #1b1a1b; }
#search_filters .pl-facet--list .facet-label:hover a { color: #000; }
#search_filters .facet-label.active .pl-box { background: #e3b81c; border-color: #1b1a1b; }
#search_filters .facet-label.active .pl-box:after {
  content: "";
  position: absolute;
  left: 5px;
  top: 1px;
  width: 5px;
  height: 10px;
  border-right: 2px solid #1b1a1b;
  border-bottom: 2px solid #1b1a1b;
  transform: rotate(45deg);
}
body #search_filters .pl-facet--list .facet-label.active a { font-weight: 700; color: #000; }
#search_filters .pl-facet--list li.pl-extra { display: none; }
#search_filters .pl-facet--list.pl-expanded li.pl-extra { display: block; }
#search_filters .pl-more {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: -8px 0 16px;
  padding: 0;
  background: none;
  border: 0;
  outline: 0;
  color: #1b1a1b;
  font-size: 12px;
  font-weight: 700;
  border-bottom: 1.5px solid #e3b81c;
  cursor: pointer;
}
#search_filters .pl-more:hover { color: #a8850a; }
#search_filters .pl-more .pl-more-hide,
#search_filters .pl-expanded .pl-more .pl-more-show { display: none; }
#search_filters .pl-expanded .pl-more .pl-more-hide { display: inline; }

/* price slider */
#search_filters .faceted-slider li p { margin: 0 0 16px; font-size: 14px; font-weight: 700; color: #1b1a1b; }
#search_filters .faceted-slider .ui-slider-horizontal { height: 4px; margin: 0 11px 8px; background: #e2e2e2; border: 0; border-radius: 2px; }
#search_filters .faceted-slider .ui-slider .ui-slider-range { background: #e3b81c; border: 0; border-radius: 2px; }
#search_filters .faceted-slider .ui-slider .ui-slider-handle {
  top: -9px;
  width: 22px;
  height: 22px;
  margin-left: -11px;
  background: #fff;
  border: 2px solid #1b1a1b;
  border-radius: 50%;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
  outline: 0;
  cursor: grab;
}
#search_filters .faceted-slider .ui-slider .ui-slider-handle:hover,
#search_filters .faceted-slider .ui-slider .ui-slider-handle.ui-state-active { background: #e3b81c; }

/* chosen filters above the product list */
#js-active-search-filters.active_filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0 0 16px;
  padding: 10px 14px;
  background: #faf8f1;
  border: 1px solid #efe7cc;
  border-radius: 10px;
}
#js-active-search-filters .active-filter-title { margin: 0 4px 0 0; font-size: 12px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: #6f6a58; }
#js-active-search-filters ul { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; padding: 0; }
#js-active-search-filters .filter-block {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 5px 6px 5px 12px;
  background: #fff;
  border: 1px solid #1b1a1b;
  border-radius: 16px;
  font-size: 12px;
  font-weight: 600;
  line-height: 18px;
  color: #1b1a1b;
}
#js-active-search-filters .filter-block a { display: inline-flex; }
#js-active-search-filters .filter-block .close {
  float: none;
  width: 18px;
  height: 18px;
  margin: 0;
  background: #1b1a1b;
  border-radius: 50%;
  color: #fff;
  font-size: 13px;
  line-height: 18px;
  text-align: center;
  opacity: 1;
  text-shadow: none;
}
#js-active-search-filters .filter-block a:hover .close { background: #e3b81c; color: #1b1a1b; }

/* phones: the panel fills the screen, with one button at the bottom to go back to the products */
@media (max-width: 767px) {
  #search_filters_wrapper #search_filters { margin: 0 0 76px; }
  #search_filters_wrapper #_mobile_search_filters_clear_all { display: none; }
  #search_filters_wrapper #search_filter_controls {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 60;
    margin: 0;
    padding: 10px 16px;
    background: #fff;
    border-top: 1px solid #e6e6e6;
    box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.08);
    text-align: center;
  }
  #search_filters_wrapper #search_filter_controls .ok {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    height: 46px;
    margin: 0;
    background: #1b1a1b;
    border: 0;
    border-radius: 10px;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }
  #search_filters_wrapper #search_filter_controls .ok .material-icons { color: #e3b81c; font-size: 20px; }
  #search_filters .pl-facet-head { padding: 17px 0; }
  body #search_filters .pl-facet--grid .facet-label { height: 44px; }
  body #search_filters .pl-facet--list .facet-label { padding: 9px 0; }
}
@media (max-width: 767px) {
  /* the theme draws its own rows around every option on phones; the tiles do not need them */
  body #left-column #search_filters_wrapper #search_filters .pl-facet { padding: 0 16px; border: 0; border-top: 1px solid #eee; }
  body #left-column #search_filters_wrapper #search_filters .pl-facet .pl-facet-body { margin: 0; padding: 0 0 18px; border: 0; }
  body #left-column #search_filters_wrapper #search_filters .pl-facet .pl-facet-body > li { margin: 0; padding: 0; border: 0; }
  body #left-column #search_filters_wrapper #search_filters .pl-facet .facet-label { margin: 0; }
  body #left-column #search_filters_wrapper #search_filters .pl-facet--list .facet-label { padding: 9px 0; }
  #search_filters .pl-facet--grid .pl-facet-body { grid-template-columns: repeat(auto-fill, minmax(54px, 1fr)); gap: 8px; }
}

/* Home page headline (the page's only H1) */
#index .pl-home-h1 {
  margin: 26px 0 6px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  color: #1b1a1b;
}
#index .pl-home-h1:after { content: ""; display: block; width: 56px; height: 3px; margin: 10px auto 0; background: #e3b81c; border-radius: 2px; }
@media (max-width: 767px) {
  #index .pl-home-h1 { margin: 18px 0 4px; font-size: 18px; }
}

/* ---------------------------------------------------------------------------
   Product page: delivery badge, size tiles, buy box, benefits, description
   typography and the size chart.
   --------------------------------------------------------------------------- */
#product h1.product_name { margin-bottom: 10px; font-size: 26px; font-weight: 700; line-height: 1.25; color: #1b1a1b; }
#product .pl-delivery-time {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 14px;
  padding: 6px 14px 6px 10px;
  background: #eef7ee;
  border: 1px solid #cfe6cf;
  border-radius: 20px;
  font-size: 13px;
  color: #235c27;
}
#product .pl-delivery-time .material-icons { font-size: 19px; color: #2e7d32; }
#product .product_desc { margin-bottom: 14px; font-size: 14px; line-height: 1.6; color: #444; }

#product .product-actions {
  padding: 20px 22px 16px;
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
}
body .product-variants > .product-variants-item { margin: 0 0 16px; padding: 0; border: 0; }
#product .product-variants .control-label,
#product .product-quantity .control-label { display: block; width: auto; margin: 0 0 8px; font-size: 12px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #6b6b6b; }
body .product-variants ul.pl-variant-tiles { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; }
body .product-variants ul.pl-variant-tiles li { float: none; margin: 0; }
body .product-variants ul.pl-variant-tiles label { display: block; margin: 0; cursor: pointer; }
body .product-variants ul.pl-variant-tiles .input-radio { position: absolute; opacity: 0; width: 0; height: 0; }
body .product-variants ul.pl-variant-tiles .radio-label {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 52px;
  height: 44px;
  padding: 0 12px;
  background: #fff;
  border: 1.5px solid #d6d6d6;
  border-radius: 8px;
  box-shadow: none;
  font-size: 15px;
  font-weight: 600;
  color: #1b1a1b;
  transition: background-color 0.15s, border-color 0.15s, box-shadow 0.15s;
}
body .product-variants ul.pl-variant-tiles .input-radio:hover + .radio-label { border-color: #1b1a1b; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08); }
body .product-variants ul.pl-variant-tiles .input-radio:checked + .radio-label { background: #e3b81c; border-color: #1b1a1b; color: #000; }
body .product-variants ul.pl-variant-tiles .input-radio:focus-visible + .radio-label { outline: 2px solid #1b1a1b; outline-offset: 2px; }

#product .product-prices { margin: 4px 0 16px; padding: 14px 0 0; border: 0; border-top: 1px solid #eee; }
#product .product-prices .current-price .price { font-size: 32px; font-weight: 700; line-height: 1.1; color: #1b1a1b; }
#product .product-prices .tax-shipping-delivery-label { font-size: 12px; color: #777; }
#product .product-add-to-cart .product-quantity { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
#product .product-add-to-cart .product-quantity .control-label { flex: 0 0 100%; margin-bottom: 0; }
#product .product-add-to-cart .product-quantity .qty,
#product .product-add-to-cart .product-quantity .add { float: none; margin: 0; }
#product .product-add-to-cart .product-quantity .add { flex: 1; }
#product .product-add-to-cart .add-to-cart {
  width: 100%;
  height: 50px;
  padding: 0 22px;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  box-shadow: 0 3px 10px rgba(227, 184, 28, 0.35);
  transition: transform 0.15s, box-shadow 0.15s;
}
#product .product-add-to-cart .add-to-cart:hover { transform: translateY(-1px); box-shadow: 0 5px 14px rgba(227, 184, 28, 0.45); }

#product .pl-usp { margin: 14px 0 0; padding: 4px 18px; list-style: none; background: #faf8f1; border: 1px solid #efe7cc; border-radius: 12px; }
#product .pl-usp li { display: flex; align-items: center; gap: 12px; padding: 11px 0; font-size: 13px; line-height: 1.45; color: #3a3a3a; }
#product .pl-usp li + li { border-top: 1px solid #efe7cc; }
#product .pl-usp .material-icons { flex: none; width: 34px; height: 34px; border-radius: 50%; background: #1b1a1b; color: #e3b81c; font-size: 19px; line-height: 34px; text-align: center; }
#product .pl-usp a { color: #1b1a1b; font-weight: 600; text-decoration: underline; text-decoration-color: #e3b81c; text-underline-offset: 3px; }

/* description */
#product .product-description { max-width: 860px; font-size: 15px; line-height: 1.7; color: #333; }
#product .product-description p { margin: 0 0 14px; }
#product .product-description h2,
#product .product-description h3 { margin: 26px 0 12px; font-size: 17px; font-weight: 700; line-height: 1.3; color: #1b1a1b; }
#product .product-description > h3:first-child,
#product .product-description > p:first-child { margin-top: 0; }
#product .product-description .pl-lead { font-size: 16px; color: #1b1a1b; }
#product .product-description ul { margin: 0 0 16px; padding: 0; list-style: none; }
#product .product-description ul > li { position: relative; margin: 0; padding: 5px 0 5px 30px; }
#product .product-description ul > li:before {
  content: "";
  position: absolute;
  left: 3px;
  top: 10px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #e3b81c;
}
#product .product-description ul > li:after {
  content: "";
  position: absolute;
  left: 8.5px;
  top: 13px;
  width: 5px;
  height: 8px;
  border-right: 2px solid #1b1a1b;
  border-bottom: 2px solid #1b1a1b;
  transform: rotate(45deg);
}
#product .product-description ul > li:has(> img:only-child) { padding-left: 0; }
#product .product-description ul > li:has(> img:only-child):before,
#product .product-description ul > li:has(> img:only-child):after { display: none; }
/* Glove parameter table in the description */
#product .product-description table.pl-params { width: 100%; max-width: 560px; margin: 0 0 18px; border-collapse: collapse; font-size: 14px; }
#product .product-description table.pl-params th, #product .product-description table.pl-params td { padding: 8px 12px; border-bottom: 1px solid #ececec; text-align: left; vertical-align: top; }
#product .product-description table.pl-params th { width: 42%; font-weight: 600; color: #6b6b6b; background: #faf8f1; }
#product .product-description table.pl-params tr:first-child th, #product .product-description table.pl-params tr:first-child td { border-top: 1px solid #ececec; }
@media (max-width: 575px) { #product .product-description table.pl-params th { width: 46%; padding: 7px 8px; } #product .product-description table.pl-params td { padding: 7px 8px; } }
#product .product-description img { max-width: 100%; height: auto; border-radius: 8px; }
#product .product-description .pl-note { padding: 12px 16px; background: #faf8f1; border-left: 4px solid #e3b81c; border-radius: 0 8px 8px 0; font-size: 14px; }

/* size chart */
#product .pl-size-chart { margin: 28px 0 8px; padding: 20px 22px; background: #fff; border: 1px solid #e6e6e6; border-radius: 12px; }
#product .pl-size-chart h3 { margin: 0 0 4px; }
#product .pl-size-chart .pl-size-chart-lead { margin: 0 0 14px; font-size: 13px; color: #6b6b6b; }
#product .pl-size-chart-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
#product .pl-size-chart table { width: 100%; min-width: 640px; border-collapse: separate; border-spacing: 0; font-size: 14px; }
#product .pl-size-chart th,
#product .pl-size-chart td { padding: 10px 6px; text-align: center; border-bottom: 1px solid #eee; white-space: nowrap; }
#product .pl-size-chart th { padding-left: 14px; padding-right: 14px; text-align: left; font-size: 12px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: #fff; background: #1b1a1b; }
#product .pl-size-chart tr:first-child th { border-radius: 8px 0 0 0; }
#product .pl-size-chart tr:last-child th { border-radius: 0 0 0 8px; }
#product .pl-size-chart tr:first-child td { background: #faf8f1; font-size: 15px; }
#product .pl-size-chart td.pl-current { background: #e3b81c !important; color: #000; font-weight: 700; }
#product .pl-size-chart-how { display: flex; align-items: center; gap: 22px; margin-top: 18px; }
#product .pl-size-chart-how svg { flex: none; width: 84px; height: auto; }
#product .pl-size-chart-how ol { margin: 0; padding: 0 0 0 20px; font-size: 14px; line-height: 1.6; color: #333; }
#product .pl-size-chart-how ol li { padding: 2px 0 2px 4px; }
#product .pl-size-chart-how ol li::marker { font-weight: 700; color: #a8850a; }

@media (max-width: 767px) {
  #product h1.product_name { font-size: 21px; }
  #product .product-actions { padding: 16px 14px 12px; }
  #product .product-prices .current-price .price { font-size: 28px; }
  #product .pl-size-chart { padding: 16px 14px; }
  #product .pl-size-chart-how { align-items: flex-start; gap: 14px; }
  #product .pl-size-chart-how svg { width: 60px; }
}
#product .product-add-to-cart .add-to-cart { display: flex; align-items: center; justify-content: center; gap: 10px; }
#product .product-add-to-cart .add-to-cart .material-icons { float: none; margin: 0; font-size: 21px; }
#product .product-add-to-cart .add-to-cart .material-icons { position: static; display: inline-block; width: auto; height: auto; line-height: 1; }
@media (max-width: 767px) {
  /* size chart on phones: two columns read top to bottom instead of a wide row */
  #product .pl-size-chart-scroll { overflow: visible; }
  #product .pl-size-chart table { display: block; min-width: 0; }
  #product .pl-size-chart tbody { display: grid; grid-auto-flow: column; grid-template-rows: repeat(13, auto); grid-template-columns: 1fr 1fr; }
  #product .pl-size-chart tr { display: contents; }
  #product .pl-size-chart th,
  #product .pl-size-chart td { padding: 7px 10px; text-align: center; white-space: normal; }
  #product .pl-size-chart tr:first-child th { border-radius: 8px 0 0 0; }
  #product .pl-size-chart tr:last-child th { border-radius: 0 8px 0 0; }
  #product .pl-size-chart tr:first-child td { font-size: 14px; }
}

/* ---------------------------------------------------------------------------
   Information pages (shipping and payment, exchange and returns)
   --------------------------------------------------------------------------- */
#cms .pl-info { max-width: 980px; font-size: 15px; line-height: 1.65; color: #333; }
#cms .pl-info .pl-info-lead { margin: 0 0 22px; font-size: 17px; color: #1b1a1b; }
#cms .pl-info h2 { display: flex; align-items: center; gap: 10px; margin: 34px 0 16px; padding: 0; border: 0; font-size: 20px; font-weight: 700; text-transform: none; color: #1b1a1b; }
#cms .pl-info h2 .material-icons { width: 38px; height: 38px; border-radius: 50%; background: #1b1a1b; color: #e3b81c; font-size: 21px; line-height: 38px; text-align: center; }
#cms .pl-info-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 0 0 8px; }
#cms .pl-info-cards.pl-info-cards-2 { grid-template-columns: repeat(2, 1fr); }
#cms .pl-info-cards.pl-info-cards-4 { grid-template-columns: repeat(4, 1fr); }
#cms .pl-info-card { padding: 20px 20px 16px; background: #fff; border: 1px solid #e6e6e6; border-radius: 12px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04); }
#cms .pl-info-card > .material-icons { display: block; width: 46px; height: 46px; margin: 0 0 12px; border-radius: 12px; background: #faf3d6; color: #1b1a1b; font-size: 25px; line-height: 46px; text-align: center; }
#cms .pl-info-card h3 { margin: 0 0 6px; font-size: 16px; font-weight: 700; text-transform: none; color: #1b1a1b; }
#cms .pl-info-card p { margin: 0; font-size: 14px; line-height: 1.55; color: #555; }
#cms .pl-info-table { width: 100%; max-width: 680px; margin: 0 0 12px; border-collapse: separate; border-spacing: 0; border: 1px solid #e6e6e6; border-radius: 12px; overflow: hidden; }
#cms .pl-info-table th { padding: 12px 16px; background: #1b1a1b; color: #fff; font-size: 12px; font-weight: 700; letter-spacing: 0.05em; text-align: left; text-transform: uppercase; border: 0; }
#cms .pl-info-table td { padding: 12px 16px; border: 0; border-top: 1px solid #eee; background: #fff; }
#cms .pl-info-table tbody tr:first-child td { background: #faf8f1; }
#cms .pl-info-table td:not(:first-child), #cms .pl-info-table th:not(:first-child) { text-align: right; white-space: nowrap; font-weight: 600; }
#cms .pl-info-note { max-width: 680px; padding: 12px 16px; background: #faf8f1; border-left: 4px solid #e3b81c; border-radius: 0 8px 8px 0; font-size: 14px; }
#cms .pl-info-list { margin: 16px 0 0; padding: 0; list-style: none; }
#cms .pl-info-list li { position: relative; padding: 5px 0 5px 30px; }
#cms .pl-info-list li:before { content: ""; position: absolute; left: 3px; top: 10px; width: 16px; height: 16px; border-radius: 50%; background: #e3b81c; }
#cms .pl-info-list li:after { content: ""; position: absolute; left: 8.5px; top: 13px; width: 5px; height: 8px; border-right: 2px solid #1b1a1b; border-bottom: 2px solid #1b1a1b; transform: rotate(45deg); }
#cms .pl-info-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 0; padding: 0; list-style: none; counter-reset: pl-step; }
#cms .pl-info-steps li { position: relative; padding: 20px 18px 16px; background: #fff; border: 1px solid #e6e6e6; border-radius: 12px; counter-increment: pl-step; }
#cms .pl-info-steps li:before { content: counter(pl-step); display: block; width: 36px; height: 36px; margin: 0 0 12px; border-radius: 50%; background: #e3b81c; color: #1b1a1b; font-size: 17px; font-weight: 700; line-height: 36px; text-align: center; }
#cms .pl-info-steps h3 { margin: 0 0 6px; font-size: 16px; font-weight: 700; text-transform: none; color: #1b1a1b; }
#cms .pl-info-steps p { margin: 0; font-size: 14px; line-height: 1.55; color: #555; }
#cms .pl-info a { color: #1b1a1b; font-weight: 600; text-decoration: underline; text-decoration-color: #e3b81c; text-underline-offset: 3px; }
#cms .pl-info-contact { display: flex; align-items: center; gap: 10px; margin: 30px 0 0; padding: 14px 18px; background: #1b1a1b; border-radius: 12px; color: #fff; }
#cms .pl-info-contact .material-icons { color: #e3b81c; }
#cms .pl-info-contact a { color: #fff; }
@media (max-width: 991px) {
  #cms .pl-info-cards.pl-info-cards-4, #cms .pl-info-steps { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
  #cms .pl-info-cards, #cms .pl-info-cards.pl-info-cards-2, #cms .pl-info-cards.pl-info-cards-4, #cms .pl-info-steps { grid-template-columns: 1fr; gap: 12px; }
  #cms .pl-info h2 { font-size: 18px; }
  #cms .pl-info-table th, #cms .pl-info-table td { padding: 10px 10px; font-size: 13px; }
  #cms .pl-info-table td:first-child { white-space: normal; }
}
#cms .pl-info, #cms .pl-info p, #cms .pl-info li { text-align: left; }
@media (max-width: 767px) {
  #cms .pl-info-table { table-layout: fixed; }
  #cms .pl-info-table th { padding: 10px 8px; font-size: 10px; letter-spacing: 0; white-space: normal !important; }
  #cms .pl-info-table td { padding: 10px 8px; }
  #cms .pl-info-table th:first-child { width: 40%; }
}

/* Product page, "details" tab: features as cards */
#product .pl-features { margin: 0; }
#product .pl-features > h3 { margin: 0 0 14px; font-size: 17px; font-weight: 700; text-transform: none; color: #1b1a1b; }
#product .pl-feature-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; max-width: 980px; }
#product .pl-feature-card { display: flex; align-items: flex-start; gap: 14px; padding: 16px 18px; background: #fff; border: 1px solid #e6e6e6; border-radius: 12px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04); }
#product .pl-feature-card > .material-icons { flex: none; width: 44px; height: 44px; border-radius: 12px; background: #faf3d6; color: #1b1a1b; font-size: 24px; line-height: 44px; text-align: center; }
#product .pl-feature-card b { display: block; margin: 1px 0 4px; font-size: 15px; color: #1b1a1b; }
#product .pl-feature-card span { display: block; font-size: 13px; line-height: 1.5; color: #555; }

/* ---------------------------------------------------------------------------
   Add-to-cart confirmation window
   --------------------------------------------------------------------------- */
#blockcart-modal.pl-cart-modal .modal-dialog { width: auto; max-width: 820px; margin: 60px auto; padding: 0 12px; }
#blockcart-modal.pl-cart-modal .modal-content { border: 0; border-radius: 14px; overflow: hidden; box-shadow: 0 18px 50px rgba(0, 0, 0, 0.3); }
#blockcart-modal.pl-cart-modal .modal-header { position: relative; padding: 16px 56px 16px 22px; background: #1b1a1b; border: 0; }
#blockcart-modal.pl-cart-modal .modal-title { display: flex; align-items: center; gap: 12px; margin: 0; font-size: 15px; font-weight: 700; letter-spacing: 0.03em; text-align: left; text-transform: uppercase; color: #fff; }
#blockcart-modal.pl-cart-modal .modal-title .material-icons { flex: none; width: 30px; height: 30px; margin: 0; border-radius: 50%; background: #3fae49; color: #fff; font-size: 20px; line-height: 30px; text-align: center; }
#blockcart-modal.pl-cart-modal .modal-header .close { position: absolute; top: 50%; right: 16px; margin: -16px 0 0; width: 32px; height: 32px; padding: 0; border-radius: 50%; background: rgba(255, 255, 255, 0.12); color: #fff; font-size: 22px; line-height: 30px; opacity: 1; text-shadow: none; }
#blockcart-modal.pl-cart-modal .modal-header .close:hover { background: #e3b81c; color: #1b1a1b; }
#blockcart-modal.pl-cart-modal .modal-body { padding: 24px; background: #fff; }
.pl-cart-modal-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; align-items: start; }
.pl-cart-modal-product { display: flex; gap: 18px; align-items: flex-start; }
#blockcart-modal.pl-cart-modal .product-image { flex: none; width: 150px; max-width: 40%; height: auto; border: 1px solid #e6e6e6; border-radius: 10px; }
#blockcart-modal.pl-cart-modal .product-name { margin: 2px 0 10px; font-size: 15px; font-weight: 700; line-height: 1.35; text-transform: none; color: #1b1a1b; }
.pl-cart-modal-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; }
.pl-cart-modal-tags span { padding: 3px 10px; background: #f4f4f4; border-radius: 12px; font-size: 12px; color: #444; }
.pl-cart-modal-tags b { color: #1b1a1b; }
#blockcart-modal.pl-cart-modal .pl-cart-modal-info .price { margin: 0; font-size: 20px; font-weight: 700; color: #1b1a1b; }
.pl-cart-modal-summary { padding: 18px 20px; background: #faf8f1; border: 1px solid #efe7cc; border-radius: 12px; }
#blockcart-modal.pl-cart-modal .cart-products-count { margin: 0 0 12px; padding: 0; border: 0; font-size: 12px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: #6f6a58; }
.pl-cart-modal-rows { margin: 0; }
.pl-cart-modal-rows > div { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; font-size: 14px; color: #3a3a3a; }
.pl-cart-modal-rows dt { font-weight: 400; }
.pl-cart-modal-rows dd { margin: 0; font-weight: 600; color: #1b1a1b; white-space: nowrap; }
.pl-cart-modal-rows > .pl-cart-modal-total { margin-top: 6px; padding-top: 12px; border-top: 1px solid #e4dbbd; font-size: 17px; }
.pl-cart-modal-rows > .pl-cart-modal-total dt, .pl-cart-modal-rows > .pl-cart-modal-total dd { font-weight: 700; color: #1b1a1b; }
.pl-cart-modal-tax { margin: 2px 0 0; font-size: 12px; text-align: right; color: #7a7566; }
#blockcart-modal.pl-cart-modal .cart-content-btn { display: flex; flex-direction: column; gap: 10px; margin: 16px 0 0; }
#blockcart-modal.pl-cart-modal .cart-content-btn .btn { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; height: 46px; margin: 0; padding: 0 16px; border-radius: 10px; font-size: 14px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; }
#blockcart-modal.pl-cart-modal .cart-content-btn .btn-primary { background: #e3b81c; border: 1px solid #e3b81c; color: #1b1a1b; box-shadow: 0 3px 10px rgba(227, 184, 28, 0.35); }
#blockcart-modal.pl-cart-modal .cart-content-btn .btn-primary:hover { background: #1b1a1b; border-color: #1b1a1b; color: #fff; }
#blockcart-modal.pl-cart-modal .cart-content-btn .btn-primary .material-icons { margin: 0; font-size: 20px; }
#blockcart-modal.pl-cart-modal .cart-content-btn .btn-secondary { background: #fff; border: 1.5px solid #cfc8ae; color: #1b1a1b; box-shadow: none; }
#blockcart-modal.pl-cart-modal .cart-content-btn .btn-secondary:hover { border-color: #1b1a1b; }
@media (max-width: 767px) {
  #blockcart-modal.pl-cart-modal .modal-dialog { margin: 14px auto; }
  #blockcart-modal.pl-cart-modal .modal-body { padding: 16px; }
  #blockcart-modal.pl-cart-modal .modal-title { font-size: 13px; }
  .pl-cart-modal-grid { grid-template-columns: 1fr; gap: 16px; }
  #blockcart-modal.pl-cart-modal .product-image { width: 96px; }
}
#blockcart-modal.pl-cart-modal .cart-content-btn .btn .material-icons { position: static; float: none; width: auto; height: auto; line-height: 1; }

/* ---------------------------------------------------------------------------
   Cart page
   --------------------------------------------------------------------------- */
#cart .cart-grid .card { background: #fff; border: 1px solid #e6e6e6; border-radius: 12px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04); overflow: hidden; }
#cart .cart-container > .card-block:first-child { padding: 14px 22px; background: #1b1a1b; }
#cart .cart-container > .card-block:first-child h1 { margin: 0; padding: 0; border: 0; font-size: 15px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #fff; }
#cart .cart-container > hr { display: none; }
#cart .cart-overview { padding: 4px 22px; }
#cart .cart-items { margin: 0; }
#cart .cart-item { padding: 18px 0; border: 0; border-bottom: 1px solid #eee; }
#cart .cart-item:last-child { border-bottom: 0; }
#cart .product-line-grid { display: flex; align-items: center; }
#cart .product-line-grid-left { flex: 0 0 120px; max-width: 120px; padding: 0; }
#cart .product-line-grid-left img { width: 104px; height: auto; border: 1px solid #e6e6e6; border-radius: 10px; }
#cart .product-line-grid-body { flex: 1; min-width: 0; padding: 0 16px; }
#cart .product-line-grid-right { flex: 0 0 330px; max-width: 330px; }
#cart .product-line-info { margin: 0 0 4px; font-size: 13px; color: #555; }
#cart .product-line-info a.label { display: block; padding: 0; font-size: 15px; font-weight: 700; line-height: 1.35; text-transform: none; white-space: normal; color: #1b1a1b; text-align: left; }
#cart .product-line-info a.label:hover { color: #a8850a; }
#cart .product-line-info .label { font-weight: 600; color: #1b1a1b; }
#cart .product-line-info.product-price .price, #cart .product-line-info .current-price .price { font-size: 14px; color: #555; }
#cart .product-line-grid-right .product-price strong { font-size: 17px; font-weight: 700; color: #1b1a1b; }
#cart .product-line-grid-right .bootstrap-touchspin input.form-control { height: 40px; border-radius: 8px 0 0 8px; font-size: 14px; font-weight: 600; color: #1b1a1b; }
#cart .remove-from-cart { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; color: #8a8a8a; transition: background-color 0.15s, color 0.15s; }
#cart .remove-from-cart:hover { background: #fdecec; color: #d0332e; }
#cart a.label.continue-shopping, #cart .cart-grid-body > a.label {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 14px;
  padding: 9px 18px 9px 10px;
  background: #fff;
  border: 1.5px solid #d6d6d6;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
  color: #1b1a1b;
}
#cart .cart-grid-body > a.label:hover { border-color: #1b1a1b; text-decoration: none; }

#cart .cart-summary { background: #faf8f1 !important; border-color: #efe7cc !important; }
#cart .cart-summary .card-block { padding: 16px 22px; }
#cart .cart-summary hr { margin: 0; border-color: #e4dbbd; }
#cart .cart-summary-line { display: flex; justify-content: space-between; gap: 12px; margin: 0; padding: 6px 0; font-size: 14px; color: #3a3a3a; }
#cart .cart-summary-line:after, #cart .cart-summary-line:before { display: none; }
#cart .cart-summary-line .label { padding: 0; font-size: 14px; font-weight: 400; color: #3a3a3a; white-space: normal; text-align: left; }
#cart .cart-summary-line .value { float: none; font-weight: 600; color: #1b1a1b; white-space: nowrap; }
#cart .cart-summary-line.cart-total { padding-top: 10px; }
#cart .cart-summary-line.cart-total .label, #cart .cart-summary-line.cart-total .value { font-size: 19px; font-weight: 700; color: #1b1a1b; }
#cart .cart-summary .block-promo .promo-code-button a, #cart .cart-summary .promo-code-button a { font-size: 13px; color: #1b1a1b; text-decoration: underline; text-decoration-color: #e3b81c; text-underline-offset: 3px; }
#cart .cart-summary .checkout.card-block { padding: 6px 22px 20px; }
#cart .cart-summary .checkout .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 52px;
  padding: 0 16px;
  background: #e3b81c;
  border: 1px solid #e3b81c;
  border-radius: 10px;
  color: #1b1a1b;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  box-shadow: 0 3px 10px rgba(227, 184, 28, 0.35);
  transition: background-color 0.15s, color 0.15s;
}
#cart .cart-summary .checkout .btn:hover { background: #1b1a1b; border-color: #1b1a1b; color: #fff; }
#cart .cart-summary .checkout .btn.disabled { opacity: 0.5; }
@media (max-width: 767px) {
  #cart .cart-overview { padding: 0 14px; }
  #cart .product-line-grid { flex-wrap: wrap; align-items: flex-start; }
  #cart .product-line-grid-left { flex: 0 0 88px; max-width: 88px; }
  #cart .product-line-grid-left img { width: 78px; }
  #cart .product-line-grid-body { flex: 1 1 calc(100% - 88px); max-width: calc(100% - 88px); padding: 0 0 0 10px; }
  #cart .product-line-grid-right { flex: 0 0 100%; max-width: 100%; margin-top: 12px; padding: 0; }
}
#cart .cart-summary-line .value { margin-left: auto; }
#cart .cart-summary-line > div:empty, #cart .cart-summary-line > small:empty { display: none; }
#cart .cart-summary-line > div:not(.value):not(.label) { flex: 0 0 100%; }
#cart .cart-summary-line#cart-subtotal-shipping { flex-wrap: wrap; }

/* info pages: tables with text columns, and the print button */
#cms .pl-info-table.pl-info-table-text { max-width: none; }
#cms .pl-info-table.pl-info-table-text td:not(:first-child),
#cms .pl-info-table.pl-info-table-text th:not(:first-child) { text-align: left; white-space: normal; font-weight: 400; }
#cms .pl-info-table.pl-info-table-text tbody tr:first-child td { background: #fff; }
#cms .pl-info-table.pl-info-table-text td { font-size: 14px; vertical-align: top; }
#cms .pl-info-table.pl-info-table-text td:first-child { width: 30%; }
#cms .pl-info > p { max-width: 860px; }
#cms #content .btn, #cms .page-content > p > a.btn { border-radius: 10px; }
@media (max-width: 767px) {
  #cms .pl-info-table.pl-info-table-text { table-layout: auto; }
  #cms .pl-info-table.pl-info-table-text thead { display: none; }
  #cms .pl-info-table.pl-info-table-text tr { display: block; padding: 12px 14px; border-top: 1px solid #eee; }
  #cms .pl-info-table.pl-info-table-text tr:first-child { border-top: 0; }
  #cms .pl-info-table.pl-info-table-text td { display: block; width: auto !important; padding: 2px 0; border: 0; }
}

/* ---------------------------------------------------------------------------
   Checkout: steps as cards with numbered circles, tidy form, brand buttons
   --------------------------------------------------------------------------- */
#checkout section.checkout-step { margin: 0 0 14px; padding: 0; background: #fff; border: 1px solid #e6e6e6; border-radius: 12px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04); overflow: hidden; }
#checkout section.checkout-step .step-title { display: flex; align-items: center; gap: 12px; margin: 0; padding: 16px 22px; border: 0; font-size: 15px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: #8a8a8a; cursor: default; }
#checkout section.checkout-step.-current .step-title { background: #1b1a1b; color: #fff; }
#checkout section.checkout-step.-reachable .step-title { color: #1b1a1b; cursor: pointer; }
#checkout section.checkout-step .step-number { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 30px; height: 30px; margin: 0; padding: 0; border-radius: 50%; background: #efefef; color: #6b6b6b; font-size: 14px; font-weight: 700; }
#checkout section.checkout-step.-current .step-number { background: #e3b81c; color: #1b1a1b; }
#checkout section.checkout-step.-complete .step-number { background: #3fae49; color: #fff; }
#checkout section.checkout-step .step-title .done { display: none; }
#checkout section.checkout-step .step-edit { margin-left: auto; font-size: 12px; font-weight: 600; letter-spacing: 0; text-transform: none; color: #6b6b6b; }
#checkout section.checkout-step .content { padding: 20px 22px 22px; }
#checkout section.checkout-step:not(.-current) .content { padding: 0; }
#checkout .nav-inline { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px; padding: 0; }
#checkout .nav-inline .nav-item { margin: 0; }
#checkout .nav-inline .nav-separator { display: none; }
#checkout .nav-inline .nav-link { display: block; padding: 8px 16px; background: #fff; border: 1.5px solid #d6d6d6; border-radius: 20px; font-size: 13px; font-weight: 600; text-transform: none; color: #1b1a1b; }
#checkout .nav-inline .nav-link.active { background: #e3b81c; border-color: #1b1a1b; }
#checkout .form-group { margin-bottom: 14px; }
#checkout .form-control-label { padding-top: 10px; font-size: 13px; font-weight: 600; text-align: left; color: #1b1a1b; }
#checkout .form-control { height: 44px; padding: 8px 12px; background: #fff; border: 1.5px solid #d6d6d6; border-radius: 8px; box-shadow: none; font-size: 14px; color: #1b1a1b; transition: border-color 0.15s, box-shadow 0.15s; }
#checkout textarea.form-control { height: auto; }
#checkout .form-control:focus { border-color: #1b1a1b; box-shadow: 0 0 0 3px rgba(227, 184, 28, 0.35); outline: 0; }
#checkout .form-control-comment { padding-top: 12px; font-size: 12px; color: #9a9a9a; }
#checkout .input-group .form-control { border-radius: 8px 0 0 8px; }
#checkout .input-group-btn > .btn { height: 44px; border-radius: 0 8px 8px 0; background: #1b1a1b; border-color: #1b1a1b; color: #fff; font-size: 11px; }
#checkout .custom-checkbox label, #checkout .radio-inline { font-size: 13px; color: #333; }
#checkout .custom-checkbox em { font-size: 12px; color: #8a8a8a; }
#checkout .checkout-step .btn-primary,
#checkout #payment-confirmation .btn-primary {
  height: 48px;
  padding: 0 30px;
  background: #e3b81c;
  border: 1px solid #e3b81c;
  border-radius: 10px;
  color: #1b1a1b;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  box-shadow: 0 3px 10px rgba(227, 184, 28, 0.35);
  transition: background-color 0.15s, color 0.15s;
}
#checkout .checkout-step .btn-primary:hover,
#checkout #payment-confirmation .btn-primary:hover { background: #1b1a1b; border-color: #1b1a1b; color: #fff; }
#checkout #payment-confirmation .btn-primary.disabled, #checkout #payment-confirmation .btn-primary:disabled { opacity: 0.45; box-shadow: none; }
#checkout .address-item { border: 1.5px solid #e2e2e2; border-radius: 10px; background: #fff; }
#checkout .address-item.selected { border-color: #1b1a1b; background: #faf8f1; }
#checkout .delivery-options .delivery-option { margin: 0 0 10px; padding: 14px 16px; background: #fff; border: 1.5px solid #e2e2e2; border-radius: 10px; }
#checkout .delivery-options .delivery-option:has(input:checked) { border-color: #1b1a1b; background: #faf8f1; }
#checkout .payment-options .payment-option { margin: 0 0 8px; padding: 12px 16px; background: #fff; border: 1.5px solid #e2e2e2; border-radius: 10px; }
#checkout .payment-options .payment-option:has(input:checked) { border-color: #1b1a1b; background: #faf8f1; }
#checkout .payment-options .payment-option label { margin: 0; font-weight: 600; }
#checkout #conditions-to-approve { margin: 16px 0; padding: 12px 16px; background: #faf8f1; border-radius: 10px; }

#checkout #js-checkout-summary { background: #faf8f1; border: 1px solid #efe7cc; border-radius: 12px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04); overflow: hidden; }
#checkout #js-checkout-summary .card-block { padding: 16px 22px; }
#checkout #js-checkout-summary hr { margin: 0; border-color: #e4dbbd; }
#checkout #js-checkout-summary .cart-summary-products > p:first-child, #checkout #js-checkout-summary .h4 { font-size: 14px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: #1b1a1b; }
#checkout #js-checkout-summary .cart-summary-products .btn, #checkout #js-checkout-summary .cart-summary-products a[data-toggle="collapse"] { display: inline-block; height: auto; margin: 6px 0; padding: 6px 14px; background: #fff; border: 1.5px solid #cfc8ae; border-radius: 16px; box-shadow: none; font-size: 12px; font-weight: 600; text-transform: none; color: #1b1a1b; }
#checkout .cart-summary-line { display: flex; justify-content: space-between; gap: 12px; margin: 0; padding: 5px 0; font-size: 14px; }
#checkout .cart-summary-line:after, #checkout .cart-summary-line:before { display: none; }
#checkout .cart-summary-line .label { padding: 0; font-size: 14px; font-weight: 400; color: #3a3a3a; white-space: normal; text-align: left; }
#checkout .cart-summary-line .value { float: none; margin-left: auto; font-weight: 600; color: #1b1a1b; white-space: nowrap; }
#checkout .cart-summary-line.cart-total .label, #checkout .cart-summary-line.cart-total .value { font-size: 18px; font-weight: 700; color: #1b1a1b; }
#checkout .cart-summary-line > div:empty { display: none; }
@media (max-width: 767px) {
  #checkout section.checkout-step .step-title { padding: 14px 16px; font-size: 14px; }
  #checkout section.checkout-step .content { padding: 16px; }
  #checkout section.checkout-step:not(.-current) .content { padding: 0; }
  #checkout .form-control-label { padding-top: 0; }
  #checkout .checkout-step .btn-primary { width: 100%; }
}

#checkout section.checkout-step { padding: 0 !important; }
#checkout section.checkout-step .step-title { width: 100%; line-height: 1.3; }
#checkout section.checkout-step.-current .step-title,
#checkout section.checkout-step.-current .step-title .step-number + * { color: #fff !important; }
#checkout section.checkout-step.-current .step-title { background: #1b1a1b !important; margin: 0 !important; }
#checkout section.checkout-step .step-number { position: static !important; top: auto; vertical-align: middle; line-height: 30px; text-align: center; }
#checkout section.checkout-step.-current .step-number { color: #1b1a1b !important; }
#checkout #js-checkout-summary .block-promo, #checkout #js-checkout-summary .promo-code-button { padding-left: 0; }
#checkout #js-checkout-summary .promo-code-button a { font-size: 13px; color: #1b1a1b; text-decoration: underline; text-decoration-color: #e3b81c; text-underline-offset: 3px; }
#checkout #js-checkout-summary .block-promo { padding: 0 22px 12px; }
#checkout #js-checkout-summary .block-promo .promo-code-button { margin: 0; padding: 0; }
@media (max-width: 767px) {
  #checkout section.checkout-step .content { padding: 16px 16px 18px !important; }
  #checkout section.checkout-step:not(.-current) .content { padding: 0 !important; }
  #checkout section.checkout-step .form-group > [class*="col-"] { padding-left: 0; padding-right: 0; }
  #checkout section.checkout-step .form-group.row { margin-left: 0; margin-right: 0; }
}

/* ---------------------------------------------------------------------------
   Cookie consent banner (modules/pickinglist/views/js/consent.js)
   --------------------------------------------------------------------------- */
.pl-cookie-banner {
  position: fixed;
  left: 50%;
  bottom: 18px;
  z-index: 99990;
  display: flex;
  align-items: center;
  gap: 22px;
  width: calc(100% - 32px);
  max-width: 980px;
  padding: 18px 22px;
  transform: translateX(-50%);
  background: #1b1a1b;
  border-radius: 14px;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.35);
  color: #fff;
  font-size: 13px;
  line-height: 1.55;
}
.pl-cookie-banner .pl-cookie-text { flex: 1; min-width: 0; }
.pl-cookie-banner .pl-cookie-text b { display: block; margin-bottom: 3px; font-size: 15px; }
.pl-cookie-banner .pl-cookie-text span { color: #d9d9d9; }
.pl-cookie-banner a { color: #fff; font-weight: 600; text-decoration: underline; text-decoration-color: #e3b81c; text-underline-offset: 3px; }
.pl-cookie-banner .pl-cookie-buttons { display: flex; flex: none; gap: 10px; }
.pl-cookie-banner button {
  height: 44px;
  padding: 0 20px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.02em;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color 0.15s, color 0.15s, border-color 0.15s;
}
.pl-cookie-banner .pl-cookie-all { background: #e3b81c; border: 1.5px solid #e3b81c; color: #1b1a1b; }
.pl-cookie-banner .pl-cookie-all:hover { background: #fff; border-color: #fff; }
.pl-cookie-banner .pl-cookie-necessary { background: transparent; border: 1.5px solid rgba(255, 255, 255, 0.55); color: #fff; }
.pl-cookie-banner .pl-cookie-necessary:hover { border-color: #fff; background: rgba(255, 255, 255, 0.1); }
@media (max-width: 767px) {
  .pl-cookie-banner { flex-direction: column; align-items: stretch; gap: 14px; bottom: 10px; width: calc(100% - 20px); padding: 16px; }
  .pl-cookie-banner .pl-cookie-buttons { flex-direction: column-reverse; }
  .pl-cookie-banner button { width: 100%; }
}

/* Terms page: contents chips, glossary, numbered sections */
#cms .pl-terms-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 6px; }
#cms .pl-terms-nav a { padding: 7px 14px; background: #fff; border: 1.5px solid #d6d6d6; border-radius: 18px; font-size: 13px; font-weight: 600; text-decoration: none; color: #1b1a1b; transition: background-color 0.15s, border-color 0.15s; }
#cms .pl-terms-nav a:hover { background: #e3b81c; border-color: #1b1a1b; }
#cms .pl-terms-glossary { margin: 0; border: 1px solid #e6e6e6; border-radius: 12px; overflow: hidden; background: #fff; }
#cms .pl-terms-glossary > div { display: grid; grid-template-columns: 220px 1fr; gap: 16px; padding: 12px 18px; border-top: 1px solid #eee; }
#cms .pl-terms-glossary > div:first-child { border-top: 0; }
#cms .pl-terms-glossary dt { font-weight: 700; color: #1b1a1b; }
#cms .pl-terms-glossary dd { margin: 0; font-size: 14px; color: #444; }
#cms .pl-terms-section { margin: 18px 0 0; padding: 20px 24px 12px; background: #fff; border: 1px solid #e6e6e6; border-radius: 12px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04); scroll-margin-top: 70px; }
#cms .pl-terms-section h2 { margin: 0 0 12px; font-size: 18px; }
#cms .pl-terms-par { flex: none; padding: 4px 12px; background: #1b1a1b; border-radius: 16px; color: #e3b81c; font-size: 14px; font-weight: 700; white-space: nowrap; }
#cms .pl-terms-section ol { margin: 0; padding: 0 0 0 22px; }
#cms .pl-terms-section ol > li { padding: 5px 0 5px 4px; font-size: 14px; line-height: 1.65; color: #333; }
#cms .pl-terms-section ol > li::marker { font-weight: 700; color: #a8850a; }
#cms .pl-terms-section ul { margin: 6px 0 2px; padding: 0 0 0 18px; list-style: disc; }
#cms .pl-terms-section ul li { padding: 2px 0; }
@media (max-width: 767px) {
  #cms .pl-terms-glossary > div { grid-template-columns: 1fr; gap: 2px; padding: 10px 14px; }
  #cms .pl-terms-section { padding: 16px 16px 8px; }
  #cms .pl-terms-section h2 { font-size: 16px; }
}

/* ---------------------------------------------------------------------------
   Forms outside the checkout: contact, log in, registration, password reminder,
   customer data and addresses. Same look as the checkout form.
   --------------------------------------------------------------------------- */
#contact .form-control, #authentication .form-control, #registration .form-control, #password .form-control, #identity .form-control, #address .form-control {
  height: 44px;
  padding: 8px 12px;
  background: #fff;
  border: 1.5px solid #d6d6d6;
  border-radius: 8px;
  box-shadow: none;
  font-size: 14px;
  color: #1b1a1b;
  transition: border-color 0.15s, box-shadow 0.15s;
}
#contact textarea.form-control { height: auto; min-height: 150px; }
#contact .form-control:focus, #authentication .form-control:focus, #registration .form-control:focus, #password .form-control:focus, #identity .form-control:focus, #address .form-control:focus { border-color: #1b1a1b; box-shadow: 0 0 0 3px rgba(227, 184, 28, 0.35); outline: 0; }
#contact .form-control-label, #authentication .form-control-label, #registration .form-control-label, #password .form-control-label, #identity .form-control-label, #address .form-control-label { padding-top: 10px; font-size: 13px; font-weight: 600; color: #1b1a1b; }
#contact .input-group .form-control, #authentication .input-group .form-control, #registration .input-group .form-control, #identity .input-group .form-control { border-radius: 8px 0 0 8px; }
#contact .input-group-btn > .btn, #authentication .input-group-btn > .btn, #registration .input-group-btn > .btn, #identity .input-group-btn > .btn, #contact .bootstrap-filestyle .btn, #contact .group-span-filestyle .btn {
  height: 44px;
  padding: 0 14px;
  background: #1b1a1b;
  border: 1.5px solid #1b1a1b;
  border-radius: 0 8px 8px 0;
  color: #fff;
  font-size: 11px;
  line-height: 41px;
}
#contact .btn-primary, #authentication .btn-primary, #registration .btn-primary, #password .btn-primary, #identity .btn-primary, #address .btn-primary, #password .form-control-submit {
  height: 48px;
  padding: 0 30px;
  background: #e3b81c;
  border: 1px solid #e3b81c;
  border-radius: 10px;
  color: #1b1a1b;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  box-shadow: 0 3px 10px rgba(227, 184, 28, 0.35);
  transition: background-color 0.15s, color 0.15s;
}
#contact .btn-primary:hover, #authentication .btn-primary:hover, #registration .btn-primary:hover, #password .btn-primary:hover, #identity .btn-primary:hover, #address .btn-primary:hover { background: #1b1a1b; border-color: #1b1a1b; color: #fff; }
#contact .form-control-comment, #authentication .form-control-comment, #registration .form-control-comment, #identity .form-control-comment { padding-top: 12px; font-size: 12px; color: #9a9a9a; }

/* contact page */
#contact #left-column .contact-rich { padding: 0 0 6px; background: #fff; border: 1px solid #e6e6e6; border-radius: 12px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04); overflow: hidden; }
#contact #left-column .contact-rich h4 { margin: 0 0 6px; padding: 14px 18px; background: #1b1a1b; border: 0; font-size: 14px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #fff; }
#contact #left-column .contact-rich .block { display: flex; align-items: center; gap: 14px; height: auto; margin: 0; padding: 12px 18px; }
#contact #left-column .contact-rich .block .icon { float: none; width: 42px; height: 42px; flex: none; border-radius: 12px; background: #faf3d6; text-align: center; }
#contact #left-column .contact-rich .block .icon i { font-size: 23px; line-height: 42px; color: #1b1a1b; }
#contact #left-column .contact-rich .block .data { display: block; width: auto; margin: 0; font-size: 14px; line-height: 1.5; color: #333; }
#contact #left-column .contact-rich .block .data a { color: #1b1a1b; font-weight: 600; text-decoration: underline; text-decoration-color: #e3b81c; text-underline-offset: 3px; }
#contact #left-column .contact-rich hr { margin: 0 18px; border-color: #eee; }
#contact #content.page-content, #contact #content-wrapper .page-content { padding: 0; background: #fff; border: 1px solid #e6e6e6; border-radius: 12px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04); overflow: hidden; }
#contact .contact-form { padding: 0 24px 22px; }
#contact .contact-form h3, #contact .contact-form .form-group:first-child h3 { margin: 0 -24px 22px; padding: 14px 24px; background: #1b1a1b; font-size: 14px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #fff; }
#contact .contact-form .form-group.row:first-child > .col-md-9 { width: 100%; margin-left: 0; padding: 0 15px; }
#contact .contact-form .form-footer { margin-top: 6px; }

/* log in, registration, password reminder: one centred card */
#authentication #content.page-content, #registration #content.page-content, #password #content.page-content {
  max-width: 560px;
  margin: 10px auto 30px;
  padding: 28px 30px 22px;
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 14px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.07);
}
#registration #content.page-content { max-width: 760px; }
#authentication #main > .page-header, #registration #main > .page-header, #password #main > .page-header { max-width: 560px; margin: 26px auto 0; text-align: center; }
#registration #main > .page-header { max-width: 760px; }
#authentication #main > .page-header h1, #registration #main > .page-header h1, #password #main > .page-header h1 { margin: 0; padding: 0; border: 0; font-size: 22px; font-weight: 700; text-transform: none; color: #1b1a1b; }
#authentication .login-form .form-group.row { display: block; margin: 0 0 14px; }
#authentication .login-form .form-group.row > label, #authentication .login-form .form-group.row > div { float: none; width: 100%; max-width: none; padding: 0; text-align: left; }
#authentication .login-form .form-group.row > label { padding: 0 0 6px; }
#authentication .login-form .form-group.row > .form-control-comment { display: none; }
#authentication .login-form .forgot-password { margin: -4px 0 16px; text-align: right; font-size: 13px; }
#authentication .login-form .forgot-password a, #authentication .no-account a, #registration .page-content a:not(.btn) { color: #1b1a1b; font-weight: 600; text-decoration: underline; text-decoration-color: #e3b81c; text-underline-offset: 3px; }
#authentication .login-form .form-footer { margin: 0; text-align: center; }
#authentication .login-form .form-footer .btn-primary { width: 100%; }
#authentication #content hr { margin: 22px 0 16px; border-color: #eee; }
#authentication .no-account { margin: 0; text-align: center; font-size: 14px; }
@media (max-width: 767px) {
  #authentication #content.page-content, #registration #content.page-content, #password #content.page-content { margin: 6px 0 20px; padding: 20px 16px 16px; }
  #contact .contact-form { padding: 0 16px 18px; }
  #contact .contact-form h3 { margin: 0 -16px 18px; padding: 14px 16px; }
  #contact .form-control-label, #registration .form-control-label { padding-top: 0; text-align: left; }
  #contact .btn-primary, #registration .btn-primary { width: 100%; }
}
#authentication #content.page-content:has(.register-form) { max-width: 760px; }
#authentication #main:has(.register-form) > .page-header { max-width: 760px; }

/* ---------------------------------------------------------------------------
   Home page: "about our shop" block
   --------------------------------------------------------------------------- */
#angarinfo_desc .desc_block { padding: 34px 0 30px; text-align: center; }
#angarinfo_desc .desc_block > h3 { margin: 0 0 6px; padding: 0; border: 0; font-size: 24px; font-weight: 700; text-transform: none; color: #1b1a1b; }
#angarinfo_desc .desc_block > h3:after { content: ""; display: block; width: 56px; height: 3px; margin: 10px auto 0; background: #e3b81c; border-radius: 2px; }
#angarinfo_desc .pl-about-lead { max-width: 760px; margin: 14px auto 24px; font-size: 16px; line-height: 1.65; color: #333; }
#angarinfo_desc .pl-about-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; text-align: left; }
#angarinfo_desc .pl-about-card { padding: 22px 20px 18px; background: #fff; border: 1px solid #e6e6e6; border-radius: 12px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04); transition: transform 0.15s, box-shadow 0.15s; }
#angarinfo_desc .pl-about-card:hover { transform: translateY(-3px); box-shadow: 0 8px 22px rgba(0, 0, 0, 0.09); }
#angarinfo_desc .pl-about-card > .material-icons { display: block; width: 50px; height: 50px; margin: 0 0 14px; border-radius: 14px; background: #1b1a1b; color: #e3b81c; font-size: 27px; line-height: 50px; text-align: center; }
#angarinfo_desc .pl-about-card h4 { margin: 0 0 6px; font-size: 16px; font-weight: 700; text-transform: none; color: #1b1a1b; }
#angarinfo_desc .pl-about-card p { margin: 0; font-size: 14px; line-height: 1.6; color: #555; }
#angarinfo_desc .pl-about-card a { color: #1b1a1b; font-weight: 600; text-decoration: underline; text-decoration-color: #e3b81c; text-underline-offset: 3px; }
#angarinfo_desc .pl-about-note { max-width: 760px; margin: 24px auto 0; padding: 14px 20px; background: #faf8f1; border-radius: 12px; font-size: 14px; line-height: 1.6; color: #555; }
@media (max-width: 991px) { #angarinfo_desc .pl-about-cards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575px) {
  #angarinfo_desc .desc_block { padding: 24px 0 20px; }
  #angarinfo_desc .desc_block > h3 { font-size: 19px; }
  #angarinfo_desc .pl-about-lead { font-size: 15px; }
  #angarinfo_desc .pl-about-cards { grid-template-columns: 1fr; gap: 12px; }
}

/* top menu: more categories (fall protection, head protection) – tighter items so the bar stays on one line */
@media (min-width: 992px) {
  #top-menu > li > a { padding-left: 12px !important; padding-right: 12px !important; }
}
@media (min-width: 992px) and (max-width: 1599px) {
  #top-menu > li > a { font-size: 11px !important; letter-spacing: 0 !important; padding-left: 7px !important; padding-right: 7px !important; }
  #top-menu > li > a.sf-with-ul { padding-right: 16px !important; }
  /* long names on two lines so all categories fit in one bar */
  #top-menu { display: flex !important; flex-wrap: nowrap; align-items: stretch; }
  #top-menu > li { float: none !important; display: flex; }
  #top-menu > li > a { white-space: normal !important; max-width: 128px; line-height: 1.25 !important; display: flex !important; align-items: center; height: 100%; }
}

/* trust bar under the menu */
.pl-trustbar { background: #f4f1e8; border-bottom: 1px solid #e6e0cf; font-size: 13px; color: #333; }
.pl-trustbar .container { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 18px; padding-top: 8px; padding-bottom: 8px; }
.pl-trustbar span { display: inline-flex; align-items: center; white-space: nowrap; }
.pl-trustbar i.material-icons { font-size: 18px; color: #d9a400; margin-right: 6px; }
.pl-trustbar a { color: #333; }
@media (max-width: 767px) {
  .pl-trustbar .container { justify-content: center; font-size: 12px; gap: 4px 12px; }
  .pl-trustbar span:nth-child(n+3) { display: none; }
}

/* home page shoe finder */
.ob-finder { margin: 6px auto 22px; }
.ob-finder-box { background: #1c1c1e; color: #fff; border-radius: 6px; padding: 16px 20px; display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 24px; border-bottom: 4px solid #f0b90b; }
.ob-finder-title { display: flex; align-items: center; font-size: 19px; font-weight: 700; margin-bottom: 6px; }
.ob-finder-title i { color: #f0b90b; margin-right: 8px; font-size: 26px; }
.ob-finder-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 14px; flex: 1; }
.ob-finder-form label { display: flex; flex-direction: column; font-size: 12px; color: #ccc; margin: 0; flex: 1 1 150px; }
.ob-finder-form select { margin-top: 4px; height: 40px; border-radius: 4px; border: 0; padding: 0 8px; color: #222; font-size: 14px; background: #fff; }
.ob-finder-form .btn { height: 40px; background: #f0b90b; border-color: #f0b90b; color: #1c1c1e; font-weight: 700; text-transform: none; padding: 0 22px; flex: 0 0 auto; }
.ob-finder-help { width: 100%; font-size: 12px; color: #aaa; }
@media (max-width: 767px) {
  .ob-finder-box { padding: 14px; }
  .ob-finder-form label { flex: 1 1 100%; }
  .ob-finder-form .btn { width: 100%; }
}

/* phones: featured category tiles – photo on top, name below, equal height rows, nothing sticking out */
@media (max-width: 575px) {
  #homecat .row, .homecat .row, .cat_block { box-sizing: border-box; }
  .cat_block { width: 50% !important; float: left; }
  .cat_block:nth-child(2n+1) { clear: left; }
  .cat_block .cat-container { display: flex; flex-direction: column; align-items: center; text-align: center; min-height: 172px; padding: 10px 6px; }
  .cat_block .catimg_container { float: none !important; width: auto !important; margin: 0 auto 6px; }
  .cat_block .catimg_container img { width: 84px; height: 84px; }
  .cat_block .catlinks_container { float: none !important; width: 100% !important; padding: 0 !important; text-align: center; }
  .cat_block .homecat_name a { font-size: 13px; line-height: 1.25; word-break: break-word; hyphens: auto; }
  .cat_block .homecat_name span { margin-left: auto; margin-right: auto; }
  .cat_block .sub_categories { display: none; }
  .cat_block .view_more { margin-top: 6px; }
  .angarslider .bx-controls-direction { display: none; }
}

/* FAQ page */
.pl-faq .faq-item { border-left: 4px solid #f0b90b; background: #faf8f2; padding: 12px 16px; margin: 14px 0; }
.pl-faq .faq-item h3 { font-size: 17px; margin: 0 0 6px; text-transform: none; }
.pl-faq .faq-a { font-size: 14px; line-height: 1.6; }
