/* Repair original markup/CSS class mismatch: markup uses filter-groups,
   initial CSS targeted the non-existing class bspf-groups. */
.bspf-app .bspf-filter-groups details {border-top:1px solid #e7eee8;}
.bspf-app .bspf-filter-groups details:first-child {border-top:0;}
.bspf-app .bspf-filter-groups summary {
  display:flex;align-items:center;justify-content:space-between;
  gap:10px;padding:16px 19px;
  cursor:pointer;list-style:none;user-select:none;
  font-size:13px;font-weight:760;color:#294838;
}
.bspf-app .bspf-filter-groups summary::marker{content:"";}
.bspf-app .bspf-filter-groups summary::-webkit-details-marker{display:none;}
.bspf-app .bspf-filter-groups summary span:last-child{font-size:19px;line-height:1;color:#70947d;}
/* BUMER SALE Profi-Filter – mobile redesign 1.1.
 * Companion styles: all rules scoped to .bspf-app and <=650px.
 * Desktop layout and the original WooCommerce SALE filter are untouched.
 */
@media (max-width:650px) {
  .bspf-app {
    width: calc(100vw - 24px) !important;
    max-width: none !important;
    margin: 10px auto 40px !important;
    left: auto !important;
    transform: none !important;
    font-size: 14px;
  }
  .bspf-app .bspf-hero {
    padding: 20px 18px 18px !important;
    border-radius: 15px !important;
    margin-bottom: 16px !important;
  }
  .bspf-app .bspf-kicker {font-size:10px;letter-spacing:1.15px;}
  .bspf-app .bspf-hero h1 {
    font-size: clamp(23px, 6vw, 28px) !important;
    line-height: 1.16 !important;
    letter-spacing: -.6px !important;
    margin: 8px 0 10px !important;
  }
  .bspf-app .bspf-hero p {font-size:13px; line-height:1.55;}
  .bspf-app .bspf-hero-layout {display:block;}
  .bspf-app .bspf-stat{display:none;}
  .bspf-app .bspf-topline {font-size:11px;line-height:1.4;gap:5px;margin-bottom:11px;}
  .bspf-app .bspf-back {margin-left:0;flex:0 0 auto;}
  .bspf-app .bspf-toolbar {
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:9px!important;
    align-items:stretch;
    margin-bottom:13px;
  }
  .bspf-app .bspf-search {
    grid-column:1/-1;
    padding:0 13px;
    border-radius:12px;
    min-height:48px;
    width:100%;
  }
  .bspf-app .bspf-search input {font-size:14px!important;}
  .bspf-app .bspf-mobile-open {
    display:flex!important;align-items:center;justify-content:center;
    width:100%;min-width:0;min-height:48px;
    font-size:14px!important;font-weight:800;
    border-radius:11px;
  }
  .bspf-app .bspf-sort-wrap {
    display:flex;min-width:0!important;width:100%;min-height:48px;
    padding:0 9px!important;gap:6px;
    border-radius:11px;
  }
  .bspf-app .bspf-sort-wrap>span{font-size:11px;white-space:nowrap;}
  .bspf-app .bspf-sort-wrap select {min-width:0!important;max-width:100%!important;width:100%!important;font-size:12px!important;padding-right:0!important;}
  .bspf-app .bspf-categories{
    margin-bottom:14px;padding:1px 0 9px;
    gap:6px;overflow-x:auto;max-width:100%;
    scroll-snap-type:x proximity;scrollbar-width:thin;
  }
  .bspf-app .bspf-cat {padding:9px 12px!important;white-space:nowrap;scroll-snap-align:start;font-size:12px!important;}
  .bspf-app .bspf-results-bar {align-items:center;min-height:40px;gap:8px;margin-bottom:9px;}
  .bspf-app .bspf-results-bar strong{font-size:17px;line-height:1.2;display:block;}
  .bspf-app .bspf-results-bar small{font-size:11px;line-height:1.3;display:block;}
  .bspf-app .bspf-audit-toggle {min-height:38px;padding:8px 9px;font-size:10px;white-space:nowrap;}
  .bspf-app .bspf-active-tags{gap:5px;margin-bottom:11px;}
  .bspf-app .bspf-active-tags button{font-size:11px;padding:7px 9px;}
  /* One readable product per row: image on left, clear details on right. */
  .bspf-app .bspf-cards {
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
  }
  .bspf-app .bspf-card {
    display:grid!important;
    grid-template-columns:minmax(115px,40%) minmax(0,1fr)!important;
    min-width:0;min-height:225px;
    align-items:stretch;
    border-radius:15px!important;
    overflow:hidden;
    box-shadow:0 5px 17px #123e2e0b;
  }
  .bspf-app .bspf-card-visual {
    grid-column:1;grid-row:1;
    display:block;
    height:100%!important;
    min-height:225px;
    aspect-ratio:auto!important;
    background:#edf2ed;
    border-radius:0;
  }
  .bspf-app .bspf-card-visual img {
    width:100%!important;height:100%!important;
    object-fit:contain!important;
    padding:7px 5px;
  }
  .bspf-app .bspf-sale-badge {
    top:7px;left:7px;right:auto;
    font-size:10px!important;line-height:1;
    padding:6px!important;white-space:nowrap;
    border-radius:6px;
  }
  .bspf-app .bspf-stock-badge {
    top:auto!important;right:6px!important;left:6px!important;bottom:8px!important;
    font-size:10px!important;text-align:center;
    padding:6px 4px!important;border-radius:6px;
    white-space:normal;
  }
  .bspf-app .bspf-card-body {
    grid-column:2;grid-row:1;
    display:flex;flex-direction:column;
    padding:15px 13px 13px!important;
    min-width:0;
    gap:0;
  }
  .bspf-app .bspf-card-kicker{
    font-size:10px!important;font-weight:800;
    letter-spacing:.045em;line-height:1.3;
    margin:0 0 6px;
    overflow-wrap:anywhere;
  }
  .bspf-app .bspf-card-title {
    font-size:clamp(14px,3.8vw,16px)!important;
    line-height:1.33!important;
    font-weight:800;
    min-height:0!important;
    margin:0 0 8px!important;
    -webkit-line-clamp:3!important;
    overflow-wrap:anywhere;
  }
  .bspf-app .bspf-features {
    display:grid;
    gap:4px!important;
    font-size:11.5px!important;
    line-height:1.35;
    margin:0 0 10px!important;
    overflow-wrap:anywhere;
  }
  .bspf-app .bspf-mini-chips{margin-top:4px;gap:4px;max-height:43px;overflow:hidden;}
  .bspf-app .bspf-mini-chips span{font-size:10px!important;padding:3px 5px;line-height:1.3;}
  .bspf-app .bspf-price-row{
    margin-top:auto;
    display:flex;align-items:baseline;align-content:start;
    justify-content:flex-start;
    flex-wrap:wrap;gap:5px 6px;
    padding-top:10px;
  }
  .bspf-app .bspf-sale-price{font-size:20px!important;line-height:1.2;letter-spacing:-.35px;}
  .bspf-app .bspf-old-price{font-size:11px!important;}
  .bspf-app .bspf-open-product{
    margin:8px 0 0!important;
    flex-basis:100%;width:100%;min-width:0;
    padding:10px 9px!important;
    text-align:center;
    display:flex;align-items:center;justify-content:center;min-height:44px;
    border-radius:9px;
    font-size:12px!important;
    font-weight:800;
    white-space:nowrap;
  }
  .bspf-app .bspf-more{width:100%;min-height:48px;}
  .bspf-app .bspf-loading,.bspf-app .bspf-empty{padding:34px 20px;}
  /* Full-screen filter on small phones; large, touch-friendly controls. */
  .bspf-app .bspf-filter-panel {
    position:fixed!important;
    z-index:99999;
    inset:0 auto 0 0!important;
    width:100vw!important;
    max-width:none!important;
    height:100vh!important;
    height:100dvh!important;
    max-height:100dvh!important;
    border-radius:0!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    background:#fff;
    padding:0!important;
    transform:translateX(105vw);
    box-shadow:none;
    -webkit-overflow-scrolling:touch;
  }
  .bspf-app.bspf-drawer-open .bspf-filter-panel {transform:translateX(0)!important;}
  .bspf-app .bspf-filter-head {
    position:sticky;top:0;z-index:5;
    background:#fff;
    padding:17px 18px 15px;
    box-shadow:0 3px 11px #0d332615;
  }
  .bspf-app .bspf-filter-head h2{font-size:23px!important;}
  .bspf-app .bspf-close{
    min-width:44px;min-height:44px;
    display:grid;place-items:center;
    border-radius:50%;background:#f0f5f1;
  }
  .bspf-app .bspf-panel-actions{padding:13px 18px 15px;}
  .bspf-app .bspf-panel-actions button{font-size:13px;min-height:40px;text-decoration:none;font-weight:750;}
  .bspf-app .bspf-stock-only{padding:16px 19px;font-size:14px;gap:11px;}
  .bspf-app .bspf-stock-only input{width:19px;height:19px;}
  .bspf-app .bspf-price-filter{padding:16px 19px;}
  .bspf-app .bspf-price-filter strong{font-size:14px;}
  .bspf-app .bspf-price-inputs input{font-size:16px!important;min-height:44px;}
  .bspf-app .bspf-filter-groups summary{padding:16px 19px;font-size:15px;min-height:54px;}
  .bspf-app .bspf-opt-list{padding:0 18px 17px;max-height:none;}
  .bspf-app .bspf-opt{min-height:44px;padding:7px 1px;gap:11px;}
  .bspf-app .bspf-opt input{width:20px;height:20px;}
  .bspf-app .bspf-opt-name{font-size:13.5px;}
  .bspf-app .bspf-opt small{font-size:12px;}
  .bspf-app .bspf-swatch{width:19px;height:19px;margin-right:2px;}
  .bspf-app .bspf-facet-search{font-size:16px!important;min-height:44px;}
  .bspf-app .bspf-panel-foot{
    position:sticky;bottom:0;z-index:6;
    padding:11px 16px calc(11px + env(safe-area-inset-bottom));
    background:#fff;box-shadow:0 -5px 18px #123e2e13;
  }
  .bspf-app .bspf-mobile-apply{min-height:51px;font-size:15px;}
  .bspf-app .bspf-audit{max-width:100%;overflow-x:auto;}
}
/* Tiny screens need a little more room for the product details. */
@media(max-width:350px){
  .bspf-app .bspf-card{grid-template-columns:minmax(105px,37%) minmax(0,1fr)!important;}
  .bspf-app .bspf-card-body{padding:12px 10px!important;}
  .bspf-app .bspf-card-title{font-size:14px!important;}
  .bspf-app .bspf-sale-price{font-size:18px!important;}
  .bspf-app .bspf-card-visual{min-height:220px;}
  .bspf-app .bspf-topline>span:not(.bspf-dot){font-size:10px;}
}

@media (min-width:651px) and (max-width:860px){
 .bspf-app .bspf-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;}
 .bspf-app .bspf-card-body{padding:15px 16px!important;}
 .bspf-app .bspf-card-title{font-size:15px!important;}
 .bspf-app .bspf-features{font-size:12px!important;}
}


/* ==============================================================
   BUMER MOBILE UX 1.2 – echte Mobile-Produktkarte
   Bis 650 px NUR der separate SALE Profi-Filter.
   Die bestehende SALE-Kategorieseite wird nicht verändert.
   ============================================================== */
@media (max-width:650px) {
  .bspf-app {
    width:calc(100vw - 28px)!important;
    max-width:calc(100vw - 28px)!important;
    margin:12px auto 44px!important;
    padding:0!important;
    font-size:14px;
  }
  .bspf-app .bspf-hero{
    padding:17px 17px 16px!important;
    border-radius:16px!important;
    margin:0 0 13px!important;
  }
  .bspf-app .bspf-kicker {font-size:9px!important;letter-spacing:.65px!important;line-height:1.5!important;}
  .bspf-app .bspf-hero h1{
    font-size:clamp(22px,6.3vw,26px)!important;
    line-height:1.14!important;
    letter-spacing:-.5px!important;
    margin:6px 0 6px!important;
  }
  .bspf-app .bspf-hero p{font-size:12px!important;line-height:1.45!important;margin:0!important;}
  .bspf-app .bspf-topline{
    display:flex!important;align-items:center;flex-wrap:nowrap!important;
    gap:7px!important;margin:0 0 12px!important;min-height:27px!important;
    font-size:11px!important;
  }
  .bspf-app .bspf-topline > span:not(.bspf-dot){
    font-size:0!important;white-space:nowrap!important;flex:1 1 auto;min-width:0;
  }
  .bspf-app .bspf-topline > span:not(.bspf-dot):after{
    content:'Zusätzlicher Profi-Filter';font-size:11px!important;
    font-weight:760;color:#53735e;
  }
  .bspf-app .bspf-back{
    font-size:11px!important;margin:0 0 0 auto!important;white-space:nowrap!important;
  }
  .bspf-app .bspf-toolbar{
    display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:8px!important;margin-bottom:13px!important;
  }
  .bspf-app .bspf-search{
    grid-column:1/-1!important;min-height:48px!important;
    padding:0 13px!important;border-radius:11px!important;
  }
  .bspf-app .bspf-search input{
    width:100%!important;min-width:0!important;font-size:14px!important;
  }
  .bspf-app .bspf-mobile-open{
    min-height:47px!important;height:47px!important;padding:0 13px!important;
    border-radius:11px!important;font-size:14px!important;
  }
  .bspf-app .bspf-sort-wrap{
    padding:0 10px!important;min-height:47px!important;height:47px!important;
    border-radius:11px!important;display:flex!important;justify-content:center!important;
  }
  .bspf-app .bspf-sort-wrap>span {display:none!important;}
  .bspf-app .bspf-sort-wrap select{
    width:100%!important;max-width:100%!important;min-width:0!important;
    font-size:13px!important;line-height:1.2!important;padding:0 16px 0 2px!important;
  }
  .bspf-app .bspf-categories{
    flex-wrap:nowrap!important;gap:7px!important;
    padding:2px 1px 11px!important;margin-bottom:13px!important;
    max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch;
  }
  .bspf-app .bspf-cat{
    flex:0 0 auto!important;min-height:38px!important;padding:7px 12px!important;
    font-size:12px!important;line-height:1.2!important;
  }
  .bspf-app .bspf-results-bar{
    margin:0 0 10px!important;min-height:34px!important;gap:8px!important;
  }
  .bspf-app .bspf-results-bar strong{
    font-size:18px!important;line-height:1.2!important;letter-spacing:-.3px!important;
  }
  .bspf-app .bspf-results-bar small{font-size:11px!important;line-height:1.35!important;}
  .bspf-app .bspf-cards{
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;max-width:100%!important;gap:14px!important;
  }
  .bspf-app .bspf-card{
    display:flex!important;flex-direction:column!important;
    grid-template-columns:none!important;
    min-width:0!important;min-height:0!important;
    width:100%!important;max-width:100%!important;
    gap:0!important;border-radius:17px!important;
    background:#fff!important;
    box-shadow:0 5px 22px rgba(21,64,43,.07)!important;
    overflow:hidden!important;
  }
  .bspf-app .bspf-card-visual{
    display:block!important;position:relative!important;
    width:100%!important;height:auto!important;max-height:none!important;
    min-height:0!important;aspect-ratio:16/10!important;
    grid-column:auto!important;grid-row:auto!important;
    flex:none!important;background:#f0f4ef!important;
    border-radius:0!important;overflow:hidden!important;
  }
  .bspf-app .bspf-card-visual img{
    width:100%!important;height:100%!important;max-height:100%!important;
    position:absolute!important;inset:0!important;
    display:block!important;object-fit:contain!important;
    padding:9px 12px!important;border:0!important;
  }
  .bspf-app .bspf-sale-badge{
    position:absolute!important;top:12px!important;left:12px!important;right:auto!important;
    min-width:0!important;padding:7px 10px!important;
    font-size:12px!important;line-height:1.2!important;
    border-radius:8px!important;
  }
  .bspf-app .bspf-stock-badge{
    position:absolute!important;top:12px!important;right:12px!important;
    left:auto!important;bottom:auto!important;width:auto!important;
    max-width:55%!important;padding:7px 10px!important;
    font-size:11px!important;line-height:1.2!important;
    color:#335c42!important;background:rgba(255,255,255,.96)!important;
    border-radius:8px!important;text-align:right!important;
  }
  .bspf-app .bspf-card-body{
    display:flex!important;flex-direction:column!important;
    grid-column:auto!important;grid-row:auto!important;
    width:100%!important;min-width:0!important;max-width:100%!important;
    padding:14px 16px 16px!important;gap:0!important;
  }
  .bspf-app .bspf-card-kicker{
    font-size:10px!important;line-height:1.3!important;
    letter-spacing:.075em!important;margin:0 0 6px!important;
  }
  .bspf-app .bspf-card-title{
    font-size:17px!important;line-height:1.27!important;
    letter-spacing:-.12px!important;font-weight:800!important;
    margin:0 0 8px!important;min-height:0!important;
    display:-webkit-box!important;-webkit-box-orient:vertical!important;
    -webkit-line-clamp:3!important;line-clamp:3!important;
    overflow:hidden!important;overflow-wrap:break-word!important;
    text-decoration:none!important;
  }
  .bspf-app .bspf-features{
    display:flex!important;flex-direction:column!important;gap:3px!important;
    font-size:12px!important;line-height:1.35!important;
    margin:0 0 9px!important;min-height:0!important;
  }
  .bspf-app .bspf-features>div:not(.bspf-mini-chips){white-space:normal!important;}
  .bspf-app .bspf-mini-chips{
    display:flex!important;flex-wrap:wrap!important;
    gap:5px!important;max-height:52px!important;
    margin:4px 0 0!important;overflow:hidden!important;
  }
  .bspf-app .bspf-mini-chips span{
    font-size:10px!important;line-height:1.3!important;padding:4px 7px!important;
    border-radius:6px!important;
  }
  .bspf-app .bspf-price-row{
    margin-top:3px!important;padding-top:12px!important;
    border-top:1px solid #edf0eb!important;
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;gap:2px 6px!important;
    justify-content:space-between!important;
  }
  .bspf-app .bspf-sale-price{
    grid-column:1!important;grid-row:1!important;
    font-size:23px!important;line-height:1.16!important;
    letter-spacing:-.5px!important;white-space:nowrap!important;
  }
  .bspf-app .bspf-old-price{
    grid-column:1!important;grid-row:2!important;
    font-size:11px!important;line-height:1.2!important;
    margin:0!important;
  }
  .bspf-app .bspf-open-product{
    grid-column:2!important;grid-row:1/3!important;align-self:center!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    flex-basis:auto!important;width:auto!important;min-width:113px!important;
    max-width:155px!important;min-height:44px!important;
    padding:10px 13px!important;margin:0!important;
    border-radius:10px!important;font-size:13px!important;
    line-height:1.15!important;white-space:nowrap!important;
  }
  .bspf-app .bspf-mobile-apply{min-height:50px!important;}
  .bspf-app .bspf-filter-panel{
    width:100vw!important;max-width:100vw!important;
    height:100dvh!important;max-height:100dvh!important;
  }
  .bspf-app .bspf-filter-head{
    padding-top:calc(16px + env(safe-area-inset-top))!important;
  }
  .bspf-app .bspf-audit{overflow-x:auto!important;max-width:100%!important;}
  .bspf-app .bspf-more{min-height:48px!important;}
}
@media(max-width:359px){
  .bspf-app{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;}
  .bspf-app .bspf-hero{padding:16px 14px!important;}
  .bspf-app .bspf-topline > span:not(.bspf-dot):after{font-size:10px!important;}
  .bspf-app .bspf-back{font-size:10px!important;}
  .bspf-app .bspf-card-body{padding:13px 13px 14px!important;}
  .bspf-app .bspf-card-title{font-size:16px!important;}
  .bspf-app .bspf-sale-price{font-size:21px!important;}
  .bspf-app .bspf-open-product{min-width:104px!important;padding:10px 10px!important;font-size:12px!important;}
}
