/* 4.0.43: category-only mint bestseller stage; no regular listing card rules. */
.ft-category-page .ft-category-heading { margin: 12px 0 22px; padding: 0; }
.ft-category-page .ft-category-heading h1 { margin: 0; padding: 0; font-size: 34px; line-height: 1.15; font-weight: 700; color: #26332d; overflow-wrap: break-word; }
.ft-category-page .ft-bestseller { margin: 0 0 26px; padding: 22px; border: 1px solid #dfeee1; border-radius: 24px; background: #eff8f0; box-sizing: border-box; min-width: 0; }
.ft-category-page .ft-bestseller__header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 16px; }
.ft-category-page .ft-bestseller__title { display: flex; align-items: center; gap: 10px; margin: 0; padding: 0; color: #174b2d; font-size: 26px; line-height: 1.2; font-weight: 700; }
.ft-category-page .ft-bestseller__flame { flex: 0 0 auto; }
.ft-category-page .ft-bestseller__controls { display: flex; flex: 0 0 auto; gap: 8px; }
.ft-category-page .ft-bestseller [hidden] { display: none !important; }
.ft-category-page .ft-bestseller__arrow { display: flex; align-items: center; justify-content: center; padding: 0; width: 44px; height: 44px; border: 1px solid #d8e4da; border-radius: 50%; background: #fff; color: #20382a; cursor: pointer; }
.ft-category-page .ft-bestseller__arrow svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2.5; }
.ft-category-page .ft-bestseller__arrow:disabled { opacity: .35; cursor: default; }
.ft-category-page .ft-bestseller__track { display: flex; align-items: stretch; gap: 16px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; padding: 2px 2px 12px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.ft-category-page .ft-bestseller__card { display: flex; flex-direction: column; flex: 0 0 280px; width: 280px; min-width: 0; margin: 0; padding: 18px; border: 1px solid #e5ece7; border-radius: 20px; background: #fff; box-shadow: 0 5px 14px rgba(23, 75, 45, .05); box-sizing: border-box; scroll-snap-align: start; }
.ft-category-page .ft-bestseller__image { display: flex; align-items: center; justify-content: center; height: 200px; width: 100%; margin: 0 0 16px; padding: 0; background: #fff; }
.ft-category-page .ft-bestseller__image img { display: block; width: 100%; height: 100%; max-width: 100%; object-fit: contain; }
.ft-category-page .ft-bestseller__name { margin: 0 0 10px; padding: 0; font-size: 19px; line-height: 1.3; font-weight: 700; overflow-wrap: break-word; }
.ft-category-page .ft-bestseller__name a { display: block; color: #27332d; text-decoration: none; }
.ft-category-page .ft-bestseller__rating { margin: 0 0 10px; font-size: 14px; }
.ft-category-page .ft-bestseller__commerce { margin-top: 8px; }
.ft-category-page .ft-bestseller .product--price { display: flex !important; align-items: baseline; flex-wrap: wrap; gap: 6px 10px; position: static !important; width: auto !important; height: auto !important; margin: 4px 0 6px !important; padding: 0 !important; text-align: left !important; color: #223027; }
.ft-category-page .ft-bestseller .price--default { position: static !important; font-size: 25px !important; line-height: 1.25 !important; font-weight: 700 !important; color: #223027 !important; }
.ft-category-page .ft-bestseller .price--default.is--discount { color: #bd3b30 !important; }
.ft-category-page .ft-bestseller .price--pseudo { color: #737c76; font-size: 14px; }
.ft-category-page .ft-bestseller .price--discount { font-size: 14px; text-decoration: line-through; }
.ft-category-page .ft-bestseller .price--unit { margin: 0 0 10px; height: auto; color: #68756b; font-size: 12px; }
.ft-category-page .ft-bestseller__request { margin: 4px 0 10px; color: #223027; font-weight: 700; font-size: 20px; }
.ft-category-page .ft-bestseller__buy { margin-top: 14px; }
.ft-category-page .ft-bestseller .buybox--form { width: 100% !important; margin: 0 !important; padding: 0 !important; }
.ft-category-page .ft-bestseller .buybox--button,
.ft-category-page .ft-bestseller__cta { display: flex !important; align-items: center; justify-content: center; gap: 8px; position: static !important; float: none !important; width: 100% !important; min-height: 46px; height: auto !important; margin: 0 !important; padding: 11px 12px !important; box-sizing: border-box; border: 1px solid #47984b !important; border-radius: 12px !important; background: #4ca24f !important; background-image: none !important; color: #fff !important; font-size: 16px !important; line-height: 1.35 !important; font-weight: 700; text-align: center; white-space: normal; text-decoration: none; }
.ft-category-page .ft-bestseller .buybox--button span { display: inline !important; }
.ft-category-page .ft-bestseller .buybox--button i { position: static !important; margin: 0 !important; font-size: 18px !important; line-height: inherit !important; color: inherit !important; }
.ft-category-page .ft-bestseller .buybox--button .icon--arrow-right { display: none !important; }
.ft-category-page .ft-bestseller .buybox--button:hover,
.ft-category-page .ft-bestseller__cta:hover { background: #3e8e42 !important; }
.ft-category-page .ft-bestseller a:focus-visible,
.ft-category-page .ft-bestseller button:focus-visible,
.ft-category-page .ft-bestseller__track:focus-visible { outline: 3px solid #1d6331; outline-offset: 3px; }
.ft-category-page .ft-bestseller__position { display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 16px; margin: 8px 0 0; }
.ft-category-page .ft-bestseller__dot { width: 7px; height: 7px; border-radius: 50%; background: #cdded0; }
.ft-category-page .ft-bestseller__dot.is--active { width: 20px; border-radius: 6px; background: #4ca24f; }
.ft-category-page .ft-bestseller__status { color: #46684f; font-size: 12px; }
.ft-category-page .ft-category-editorial:empty { display: none; }
.ft-category-page .ft-category-editorial { margin-top: 24px; }
.ft-category-page .ft-category-editorial .category--teaser { margin-top: 16px; }
/* Style only native category action controls, keeping their direct DOM parents. */
.ft-category-controls .listing--actions { border-radius: 14px; }
.ft-category-controls .listing--actions .filter--trigger { border: 1px solid #dde5df; border-radius: 12px; background: #fff; color: #26332d; }
.ft-category-controls .listing--actions .sort--select .js--fancy-select,
.ft-category-controls .listing--actions .sort--select select { border-radius: 12px; }
@media (max-width: 767px) {
  .ft-category-page .ft-category-heading { margin: 10px 0 18px; }
  .ft-category-page .ft-category-heading h1 { font-size: 27px; line-height: 1.18; }
  .ft-category-page .ft-bestseller { margin-bottom: 20px; padding: 16px 12px; border-radius: 20px; }
  .ft-category-page .ft-bestseller__header { gap: 8px; margin-bottom: 12px; padding: 0 4px; }
  .ft-category-page .ft-bestseller__title { gap: 8px; font-size: 23px; }
  .ft-category-page .ft-bestseller__controls { gap: 4px; }
  .ft-category-page .ft-bestseller__arrow { width: 40px; height: 40px; }
  .ft-category-page .ft-bestseller__track { gap: 12px; }
  .ft-category-page .ft-bestseller__card { flex-basis: 88%; width: 88%; padding: 16px; border-radius: 18px; }
  .ft-category-page .ft-bestseller__card:only-child { flex-basis: 100%; width: 100%; }
  .ft-category-page .ft-bestseller__image { height: 160px; margin-bottom: 10px; }
  .ft-category-page .ft-bestseller__name { font-size: 19px; }
  .ft-category-page .ft-bestseller .price--default { font-size: 25px !important; }
}
@media (max-width: 359px) {
  .ft-category-page .ft-bestseller { padding: 14px 10px; }
  .ft-category-page .ft-bestseller__title { font-size: 21px; }
  .ft-category-page .ft-bestseller__flame { width: 20px; height: 24px; }
  .ft-category-page .ft-bestseller__arrow { width: 36px; height: 36px; }
  .ft-category-page .ft-bestseller__image { height: 160px; }
}

/* The installed FT theme places its H1 outside the native text block and uses
   opposing 244/-298px offsets. Reset that actual structure, scoped to categories. */
body.ft-category-page .content-main { margin-top: 0 !important; }
body.ft-category-page .content-main--inner { margin-top: 0 !important; }
body.ft-category-page .content--breadcrumb {
  display: block !important; height: auto !important; min-height: 0 !important;
  max-width: 100rem; margin: 0 auto !important; padding: 8px 14px !important;
  border: 0; background: transparent !important;
}
body.ft-category-page .content--breadcrumb .breadcrumb--list {
  display: flex !important; flex-wrap: nowrap; align-items: center;
  margin: 0 !important; padding: 0 !important; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
body.ft-category-page .content--breadcrumb .breadcrumb--entry,
body.ft-category-page .content--breadcrumb .breadcrumb--separator {
  display: block !important; float: none; flex: 0 0 auto;
}
body.ft-category-page .content--breadcrumb .breadcrumb--link,
body.ft-category-page .content--breadcrumb .breadcrumb--separator {
  padding: 5px; font-size: 13px; line-height: 1.4; color: #52675a;
}
body.ft-category-page .content--breadcrumb .breadcrumb--list::-webkit-scrollbar { display: none; }
body.ft-category-page .content--breadcrumb .is--active .breadcrumb--link { color: #174b2d; }
body.ft-category-page .custom-flying--cms,
body.ft-category-page .ft-category-heading {
  margin: 6px 0 18px !important; padding: 0 !important; text-align: left;
}
body.ft-category-page .custom-flying--cms h1,
body.ft-category-page .ft-category-heading h1 {
  margin: 0 !important; padding: 0 !important; font-size: 34px !important;
  line-height: 1.18 !important; text-align: left !important; color: #26332d;
}
body.ft-category-page .content.listing--content { margin-top: 0 !important; padding-top: 0 !important; }
body.ft-category-page .custom-listing { background: transparent !important; }
body.ft-category-page .custom-listing--cms { padding-top: 0 !important; }
body.ft-category-page .ft-bestseller__track::-webkit-scrollbar { display: none; }
body.ft-category-page .ft-bestseller__card { height: auto !important; min-height: 0 !important; }
body.ft-category-page .ft-bestseller .price--unit { min-height: 0 !important; height: auto !important; margin-bottom: 0 !important; }
body.ft-category-page .ft-bestseller__buy { margin-top: 10px; }
/* Keep Shopware's action elements and forms in their original direct parents. */
body.ft-category-controls .listing--actions {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px;
  margin: 0 0 12px !important; padding: 0 !important; border: 0 !important;
  background: transparent !important; border-radius: 0;
}
body.ft-category-controls .listing--actions::before,
body.ft-category-controls .listing--actions::after { display: none !important; }
body.ft-category-controls .listing--actions .action--sort {
  grid-column: 2; grid-row: 1; display: flex; align-items: center; gap: 10px;
  float: none !important; width: 100% !important; min-width: 0; margin: 0 !important;
  padding: 0 !important; text-align: left;
}
body.ft-category-controls .listing--actions .action--sort.is--hidden { display: none !important; }
body.ft-category-controls .listing--actions .sort--label { flex: 0 0 auto; margin: 0 !important; color: #52675a; }
body.ft-category-controls .listing--actions .sort--select {
  flex: 1 1 auto; min-width: 0; width: 100% !important; max-width: none !important;
  height: 46px !important; border: 1px solid #dce5df !important;
  border-radius: 12px !important; background: #fff !important; box-shadow: none !important;
}
body.ft-category-controls .listing--actions .sort--select select {
  width: 100% !important; height: 44px !important; padding: 0 32px 0 12px !important;
  border: 0 !important; border-radius: 12px !important; background: transparent !important;
  color: #26332d !important; font-size: 16px !important; line-height: 44px !important;
  box-shadow: none !important; text-overflow: ellipsis;
}
body.ft-category-controls .listing--actions .sort--select:after {
  width: 30px !important; height: 44px !important; line-height: 44px !important;
  border: 0 !important; background: transparent !important; color: #52675a !important;
}
body.ft-category-controls .listing--actions .action--filter-btn {
  grid-column: 1; grid-row: 1; min-width: 0; width: 100% !important; margin: 0 !important; padding: 0 !important;
}
body.ft-category-controls .listing--actions .filter--trigger {
  display: flex !important; align-items: center; justify-content: center; gap: 8px;
  width: 100% !important; height: 46px !important; margin: 0 !important; padding: 0 12px !important;
  border: 1px solid #dce5df !important; border-radius: 12px !important;
  background: #fff !important; background-image: none !important; box-shadow: none !important;
  color: #26332d !important; font-size: 16px !important; line-height: 1.3 !important;
}
body.ft-category-controls .filter--trigger .action--collapse-icon { display: none !important; }
body.ft-category-controls .listing--actions .action--filter-options,
body.ft-category-controls .listing--actions .listing--paging { grid-column: 1 / -1; }
body.ft-category-controls .listing--actions.without-sortings .action--filter-btn { grid-column: 1 / -1; }
body.ft-category-controls .listing--actions:not(:has(.action--filter-btn)) .action--sort { grid-column: 1 / -1; }
/* Native sidebar facets, flyouts, checkboxes and price sliders retain their JS. */
body.ft-category-controls .sidebar-filter--content { padding: 12px; border: 1px solid #dce5df; border-radius: 16px; background: #f7faf7; }
body.ft-category-controls .filter-panel {
  border: 1px solid #dce5df !important; border-radius: 10px !important; background: #fff !important;
  background-image: none !important; box-shadow: none !important;
}
body.ft-category-controls .filter-panel--title { height: 44px; line-height: 44px; margin-bottom: 0; color: #26332d; }
body.ft-category-controls .filter-panel:not(.filter--value) .filter-panel--title { padding-left: 12px; padding-right: 32px; }
body.ft-category-controls .filter-panel--icon { background: transparent !important; border: 0 !important; color: #52675a; }
body.ft-category-controls .filter-panel.is--collapsed .filter-panel--flyout { border-radius: 10px; border-color: #dce5df; background: #fff; }
body.ft-category-controls .filter--close-btn { color: #174b2d; }
/* 4.0.54: mobile filter header, without replacing its native close/count link. */
@media (max-width: 767px) {
  body.ft-category-controls .action--filter-options .filter--close-btn {
    background: #edf4ef !important;
    background-image: none !important;
    box-shadow: inset 0 -1px 0 #dce5df !important;
    color: #174b2d !important;
    text-shadow: none !important;
  }
  body.ft-category-controls .action--filter-options .filter--close-btn:hover,
  body.ft-category-controls .action--filter-options .filter--close-btn:active {
    background: #e2ede5 !important;
  }
  body.ft-category-controls .action--filter-options .filter--close-btn:focus-visible {
    outline: 2px solid #1d6331;
    outline-offset: -4px;
  }
  body.ft-category-controls .action--filter-options .filter--close-btn .icon--arrow-right {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    margin: 0;
    border-radius: 50%;
    background: #2f6037;
    color: #fff !important;
    font-size: 12px;
    line-height: 1;
    text-shadow: none;
  }
}
body.ft-category-controls .sort--select:focus-within,
body.ft-category-controls .filter--trigger:focus-visible { outline: 2px solid #1d6331; outline-offset: 2px; }
@media (max-width: 767px) {
  body.ft-category-controls .listing--sidebar { margin-bottom: 0 !important; }
  body.ft-category-page .content--breadcrumb { padding: 6px 14px !important; }
  body.ft-category-page .custom-flying--cms,
  body.ft-category-page .ft-category-heading { margin: 4px 0 14px !important; }
  body.ft-category-page .custom-flying--cms h1,
  body.ft-category-page .ft-category-heading h1 { font-size: 27px !important; }
  body.ft-category-page .ft-bestseller { margin-bottom: 16px; padding-top: 12px; padding-bottom: 12px; }
  body.ft-category-page .ft-bestseller__commerce { margin-top: 4px; }
  body.ft-category-page .ft-bestseller__name { margin-bottom: 6px; }
  body.ft-category-controls .listing--actions .action--sort { grid-column: 2; }
  body.ft-category-controls .listing--actions .action--filter-btn { display: block !important; }
  body.ft-category-controls .listing--actions .sort--label { display: none !important; }
  body.ft-category-controls .listing--actions .sort--select select { padding-left: 8px !important; padding-right: 26px !important; }
  body.ft-category-controls .listing--actions .sort--select:after { width: 26px !important; }
}
@media (min-width: 768px) {
  body.ft-category-controls .listing--wrapper.has--sidebar-filter .listing--actions { grid-template-columns: minmax(0, 1fr); }
  body.ft-category-controls .listing--wrapper.has--sidebar-filter .listing--actions .action--sort { grid-column: 1; justify-self: end; width: auto !important; min-width: 300px; }
}

/* Shared content rows align full titles, prices and actions without fixed card
   heights or title truncation. Flex stretching is the older-browser fallback. */
body.ft-category-page .ft-bestseller__card { position: relative; }
body.ft-category-page .ft-bestseller__image { flex-shrink: 0; }
body.ft-category-page .ft-bestseller__rating { margin: 0; }
body.ft-category-page .ft-bestseller__rating:not(:empty) { padding-bottom: 6px; }
body.ft-category-page .ft-bestseller__commerce { display: flex; flex-direction: column; flex: 1 1 auto; }
body.ft-category-page .ft-bestseller__buy { margin-top: auto; padding-top: 10px; pointer-events: none; }
body.ft-category-page .ft-bestseller__buy > * { pointer-events: auto; }
body.ft-category-page .ft-bestseller__name,
body.ft-category-page .ft-bestseller__name a { position: static !important; }
body.ft-category-page .ft-bestseller__name a::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
body.ft-category-page .ft-bestseller__image,
body.ft-category-page .ft-bestseller__buy { position: relative; z-index: 2; }
body.ft-category-page .ft-bestseller__name a:focus-visible::after { outline: 3px solid #1d6331; outline-offset: -3px; }
@supports (grid-template-rows: subgrid) {
  body.ft-category-page .ft-bestseller__track { display: grid; grid-auto-flow: column; grid-auto-columns: 280px; grid-template-rows: repeat(4, auto); row-gap: 0; }
  body.ft-category-page .ft-bestseller__card { display: grid; grid-row: 1 / span 4; grid-template-rows: subgrid; grid-template-columns: minmax(0, 1fr); width: 100%; row-gap: 0; }
  body.ft-category-page .ft-bestseller__name { align-self: end; }
  @media (max-width: 767px) {
    body.ft-category-page .ft-bestseller__track { grid-auto-columns: 88%; }
    body.ft-category-page .ft-bestseller__track:has(> .ft-bestseller__card:only-child) { grid-auto-columns: 100%; }
  }
}
body.ft-category-page .content--breadcrumb .breadcrumb--separator i { font-size: 9px !important; line-height: 1; }
/* Native infinite scrolling removes the inner top paging element. Its wrapper
   must not retain margins or an empty grid row; visible paging stays usable. */
body.ft-category-controls .listing--actions > .ft-list-paging { display: contents; }

/* Configured native category banners return once, only on desktop. Preserve
   their picture sources, links, alt text and full image without cropping. */
body.ft-category-controls .ft-category-banner { display: none; }
@media (min-width: 768px) {
  body.ft-category-controls .ft-category-banner { display: block; margin: 0 0 18px; }
  body.ft-category-controls .ft-category-banner .banner--container { margin: 0; overflow: hidden; border-radius: 16px; }
  body.ft-category-controls .ft-category-banner .banner--img { display: block; width: 100%; height: auto; max-height: 220px; object-fit: contain; }
}
/* Highlights stay readable and complete, subordinate to title, price and CTA.
   Desktop keeps its native bullet layout; mobile chips use less visual weight. */
body.ft-category-controls .listing.ft-sales-list__listing-root .product--box.box--ft-list .ft-sales-list__features > li {
  font-size: 13px !important; line-height: 1.45 !important; color: #546158 !important;
}
body.ft-category-controls .listing.ft-sales-list__listing-root .product--box.box--ft-list .ft-sales-list__features > li > .ft-sales-list__feature-value {
  font-size: inherit !important; font-weight: 400 !important; line-height: inherit !important; color: inherit !important;
}
@media (max-width: 767px) {
  body.ft-category-controls .listing.ft-sales-list__listing-root .product--box.box--ft-list .ft-sales-list__features { gap: 4px !important; }
  body.ft-category-controls .listing.ft-sales-list__listing-root .product--box.box--ft-list .ft-sales-list__features > li {
    padding: 3px 6px !important; font-size: 12px !important; border: 1px solid #e5e9e6 !important;
    border-radius: 5px !important; background: #f7f8f7 !important; box-shadow: none !important;
  }
  /* Paint Safari's exposed page canvas in the footer's light grey. Clear only
     orphan bottom spacing; a visible native cookie bar retains its allowance. */
  html:has(> body.ft-category-controls), body.ft-category-controls { background-color: #d0d1d2 !important; }
  body.ft-category-controls:not(:has([data-cookie-permission="true"]:not(.is--hidden))) { padding-bottom: 0 !important; }
  body.ft-category-controls .page-wrap { margin-bottom: 0 !important; padding-bottom: 0 !important; }
  body.ft-category-controls .footer-main { margin-bottom: 0 !important; background-color: #d0d1d2 !important; }
}

/* One native category description, retaining Shopware's short teaser, more
   link and offcanvas content. Inline CMS text is kept verbatim. */
body.ft-category-controls .ft-category-editorial > .category--teaser {
  margin: 20px 0 0 !important; padding: 0 !important; border: 1px solid #dfe8e1 !important;
  border-radius: 20px !important; background: #f7faf7 !important; box-shadow: none !important;
}
body.ft-category-controls .ft-category-editorial .hero--text {
  padding: 20px !important; color: #526158; font-size: 15px; line-height: 1.65;
}
body.ft-category-controls .ft-category-editorial .teaser--text-short { font-size: 15px; line-height: 1.65; }
body.ft-category-controls .ft-category-editorial .text--offcanvas-link {
  color: #28763b; font-weight: 600; text-decoration: none; white-space: nowrap;
}
body.ft-category-controls .ft-category-editorial .text--offcanvas-link:hover { text-decoration: underline; }
body.ft-category-controls .ft-category-editorial .text--offcanvas-link:focus-visible { outline: 2px solid #1d6331; outline-offset: 3px; }
body.ft-category-controls .ft-category-editorial .teaser--text-long h2,
body.ft-category-controls .teaser--text-offcanvas .offcanvas--content h2 { font-family: inherit !important; color: #26332d; font-size: 21px !important; line-height: 1.3 !important; margin: 0 0 12px !important; }
body.ft-category-controls .teaser--text-offcanvas { background: #fff; color: #526158; }
body.ft-category-controls .teaser--text-offcanvas .content--title { color: #174b2d; font-size: 21px; font-weight: 700; }
@media (max-width: 767px) {
  body.ft-category-controls .ft-category-editorial > .category--teaser { border-radius: 16px !important; }
  body.ft-category-controls .ft-category-editorial .hero--text { padding: 16px !important; font-size: 14px; }
  body.ft-category-controls .ft-category-editorial .teaser--text-short { font-size: 14px; }
}

/* 4.0.44: native text drawer shares the left navigation's white/green chrome. */
@media (max-width: 767px) {
  body.ft-category-controls .teaser--text-offcanvas:has(.ft-category-drawer-header).off-canvas {
    width: 88vw !important; max-width: 420px; padding: 0 0 24px !important;
    border: 0 !important; border-radius: 0 18px 18px 0; background: #fff !important;
    overflow-x: hidden; box-shadow: 6px 0 24px rgba(25, 44, 30, .13);
  }
  body.ft-category-controls .ft-category-drawer-header {
    position: sticky; top: 0; z-index: 2; background: #fff;
  }
  body.ft-category-controls .teaser--text-offcanvas:has(.ft-category-drawer-header) .offcanvas--content {
    padding: 22px 20px !important; font-size: 16px; line-height: 1.65; overflow-wrap: anywhere;
  }
  body.ft-category-controls .teaser--text-offcanvas:has(.ft-category-drawer-header) .content--title {
    margin: 0 0 18px; color: #26332d; font-size: 24px; line-height: 1.3;
  }
  body.ft-category-controls .teaser--text-offcanvas:has(.ft-category-drawer-header) img {
    max-width: 100%; height: auto;
  }
  /* Compact mobile footer; no inline baseline reserve below the actual logo. */
  body.ft-category-controls .footer-main,
  body.ft-category-controls .footer-main > .container,
  body.ft-category-controls .footer-main .footer--bottom {
    height: auto !important; min-height: 0 !important; padding-bottom: 0 !important; margin-bottom: 0 !important;
  }
  body.ft-category-controls .footer-main .footer--logo {
    display: flex; justify-content: center; align-items: center;
    padding: 8px 0 12px !important; margin: 0 !important; line-height: 1;
  }
  body.ft-category-controls .footer-main .footer--logo a { display: block; width: 70px; padding: 0; margin: 0; }
  body.ft-category-controls .footer-main .footer--logo img { display: block; width: 70px; height: auto; margin: 0; }
}

/* The native text drawer reuses the navigation chrome dimensions and colours. */
@media (max-width: 767px) {
.teaser--text-offcanvas:has(.ft-category-drawer-header).off-canvas:has(.ft-mobile-menu-brand) {
    width: 88vw !important;
    max-width: 420px;
    padding: 0 0 24px !important;
    overflow-x: hidden;
    background: #fff !important;
    border: 0 !important;
    border-radius: 0 18px 18px 0;
    box-shadow: 6px 0 24px rgba(25, 44, 30, .13);
  }
.teaser--text-offcanvas:has(.ft-category-drawer-header) .navigation--smartphone {
    background: #fff;
    padding: 0;
    margin: 0;
  }
.teaser--text-offcanvas:has(.ft-category-drawer-header) .navigation--smartphone > .navigation--list {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 72px;
    padding: 10px 16px;
    margin: 0;
    background: #fff;
    border-bottom: 1px solid #edf0ed;
  }
.teaser--text-offcanvas:has(.ft-category-drawer-header) .ft-mobile-menu-brand { display: block; list-style: none; }
.teaser--text-offcanvas:has(.ft-category-drawer-header) .ft-mobile-menu-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 140px;
    height: 44px;
    padding: 6px 14px;
    background: #5bb85c;
    border-radius: 10px;
  }
.teaser--text-offcanvas:has(.ft-category-drawer-header) .ft-mobile-menu-logo img {
    display: block; width: 112px; height: 32px; object-fit: contain;
  }
.teaser--text-offcanvas:has(.ft-category-drawer-header) .ft-mobile-menu-wordmark { color: #315d38; font-size: 18px; font-weight: 700; }
.teaser--text-offcanvas:has(.ft-category-drawer-header) .ft-mobile-menu-logo { text-decoration: none; }
.teaser--text-offcanvas:has(.ft-category-drawer-header) .ft-mobile-menu-contact {
    display: block; margin: 18px 20px 8px; padding: 14px;
    background: #edf6ed; border: 1px solid #e1ece1; border-radius: 12px;
    color: #315d38;
  }
.teaser--text-offcanvas:has(.ft-category-drawer-header) .ft-mobile-menu-contact strong { display: block; font-size: 15px; line-height: 1.35; }
.teaser--text-offcanvas:has(.ft-category-drawer-header) .ft-mobile-menu-contact p { margin: 6px 0 4px; font-size: 13px; line-height: 1.45; }
.teaser--text-offcanvas:has(.ft-category-drawer-header) .ft-mobile-menu-phone {
    display: flex; align-items: center; width: fit-content; min-height: 44px;
    color: #315d38; font-size: 16px; font-weight: 600; line-height: 1.3;
    text-decoration: underline; text-underline-offset: 3px;
  }
.teaser--text-offcanvas:has(.ft-category-drawer-header) .ft-mobile-menu-close {
    background: none !important; border: 0 !important; margin: 0 !important; padding: 0 !important; float: none;
  }
.teaser--text-offcanvas:has(.ft-category-drawer-header) .ft-mobile-menu-close .navigation--link {
    display: flex; align-items: center; justify-content: center;
    width: 44px; height: 44px; padding: 0 !important;
    color: #315d38 !important; background: #edf6ed !important;
    border: 0 !important; border-radius: 50%; text-shadow: none;
  }
.teaser--text-offcanvas:has(.ft-category-drawer-header) .ft-mobile-menu-cross { display: block; font-size: 29px; line-height: 1; }
.teaser--text-offcanvas:has(.ft-category-drawer-header) .ft-mobile-menu-legacy-close {
    position: absolute; width: 1px; height: 1px; padding: 0;
    overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap;
  }
.teaser--text-offcanvas:has(.ft-category-drawer-header) .ft-mobile-menu-legacy-close.icon--arrow-right { display: none; }
}

/* 4.0.46: match detail links and the existing category title gutters. */
body.ft-category-page .content--breadcrumb .breadcrumb--link { text-decoration: underline; text-underline-offset: 3px; }
body.ft-category-page .content--breadcrumb .breadcrumb--separator { font-size: 9px; }
body.ft-category-page .content--breadcrumb .breadcrumb--entry:first-child .breadcrumb--link { padding-left: 0; }
body.ft-category-page .content--breadcrumb .breadcrumb--link:focus-visible { outline: 2px solid #1d6331; outline-offset: -2px; }
/* 4.0.55: desktop category sidebar, sharing the mobile menu's quiet surfaces.
   Keep Shopware's tree, active flags, hidden entries and navigation hooks intact. */
@media (min-width: 768px) {
  body.ft-category-controls .sidebar-main .sidebar--categories-wrapper {
    margin: 16px 0 20px; padding: 16px 10px 10px; border: 1px solid #dfe8e1;
    border-radius: 16px; background: #fff; box-shadow: 0 4px 16px rgba(25, 44, 30, .04);
  }
  body.ft-category-controls .sidebar-main .sidebar--categories-wrapper .ft-mobile-menu-native-headline {
    display: block !important; margin: 0 6px 12px; padding: 0; border: 0;
    background: none; color: #26332d; font-family: inherit; font-size: 18px;
    font-weight: 700; line-height: 1.35; text-transform: none;
  }
  body.ft-category-controls .sidebar-main .sidebar--categories-navigation { margin: 0; padding: 0; }
  body.ft-category-controls .sidebar-main .sidebar--categories-navigation .categories--navigation {
    margin: 0; padding: 0; border: 0 !important; border-radius: 0; background: transparent;
  }
  body.ft-category-controls .sidebar-main .sidebar--categories-navigation .navigation--entry {
    margin: 0; padding: 0; border: 0 !important; background: transparent;
  }
  body.ft-category-controls .sidebar-main .sidebar--categories-navigation .navigation--link {
    display: flex; align-items: center; gap: 6px; width: 100%; min-height: 42px;
    height: auto; margin: 2px 0; padding: 9px 10px !important; border: 0 !important;
    border-radius: 9px !important; background: transparent; box-shadow: none;
    color: #26332d !important; font-family: inherit; font-size: 15px !important;
    font-weight: 400; line-height: 1.4; text-decoration: none; text-shadow: none;
    white-space: normal; overflow-wrap: anywhere;
  }
  body.ft-category-controls .sidebar-main .sidebar--categories-navigation .is--level0 > .navigation--entry > .navigation--link {
    font-size: 16px !important; font-weight: 600;
  }
  body.ft-category-controls .sidebar-main .sidebar--categories-navigation .categories--navigation .categories--navigation {
    margin: 4px 0 8px 9px; padding-left: 7px; border-left: 1px solid #e3ebe5 !important;
  }
  body.ft-category-controls .sidebar-main .sidebar--categories-navigation .navigation--link::before {
    content: none !important;
  }
  body.ft-category-controls .sidebar-main .sidebar--categories-navigation .navigation--link:hover {
    background: #f3f8f3 !important; color: #315d38 !important;
  }
  body.ft-category-controls .sidebar-main .sidebar--categories-navigation .navigation--link.is--active {
    background: #edf6ed !important; color: #315d38 !important; font-weight: 600;
  }
  body.ft-category-controls .sidebar-main .sidebar--categories-navigation .navigation--link:focus-visible {
    outline: 2px solid #1d6331; outline-offset: -2px; background: #f3f8f3;
  }
  body.ft-category-controls .sidebar-main .sidebar--categories-navigation .is--icon-right {
    flex: 0 0 auto; float: none; margin: 0 0 0 auto; font-size: 10px; color: #748078;
  }
}
@media (max-width: 480px) {
  body.ft-category-page .content--breadcrumb { padding-right: 10px !important; padding-left: 10px !important; }
}
