
.whapido-lp-wrap { max-width: 100%; }
.whapido-lp-toolbar { display:flex; gap:12px; align-items:center; flex-wrap: wrap; margin: 0 0 12px 0; }
.whapido-lp-search { width: min(520px, 100%); padding:10px 12px; border:1px solid #ddd; border-radius:8px; }
.whapido-lp-status { font-size: 14px; opacity: .9; }
.whapido-lp-status.is-error { opacity:1; font-weight:600; }

.whapido-lp-table { width:100%; border-collapse: collapse; }
.whapido-lp-table th, .whapido-lp-table td { padding:10px 12px; border-bottom:1px solid #eee; vertical-align: middle; }
.whapido-lp-col-price, .whapido-lp-price { text-align:right; white-space:nowrap; }
.whapido-lp-col-qty, .whapido-lp-qty { width: 130px; }
.whapido-lp-qty-input { width: 92px; padding:8px 10px; border:1px solid #ddd; border-radius:8px; }
.whapido-lp-action { width: 120px; text-align:right; }

.whapido-lp-badge { display:inline-block; margin-left:8px; font-size:12px; padding:2px 8px; border-radius:999px; border:1px solid #ddd; opacity:.85; }

.whapido-lp-footer { margin-top: 14px; display:flex; justify-content:flex-end; }


.whapido-lp-group { margin: 18px 0 26px; }
.whapido-lp-group-title { margin: 0 0 10px; font-size: 18px; font-weight: 700; }


/* Sticky category filter */
.whapido-lp-toolbar{ position: sticky; top: 0; z-index: 50; background: #fff; padding: 10px 0; }
.whapido-lp-toolbar--solo{ justify-content:flex-start; }
.whapido-lp-catfilter{ padding:10px 12px; border:1px solid #ddd; border-radius:8px; min-width: 220px; }


.whapido-lp-search{ flex: 1 1 320px; }
.whapido-lp-catfilter{ flex: 0 0 280px; width: 280px; }
@media (max-width: 640px){ .whapido-lp-catfilter{ flex: 1 1 100%; width: 100%; } }

.whapido-lp-catfilter{ height: 44px; line-height: 44px; }
.whapido-lp-toolbar{ box-shadow: 0 1px 0 rgba(0,0,0,.06); }


}


/* Category filter – clean desktop layout */
.whapido-lp-catfilter-wrap{
  display:flex;
  flex-direction:column;
  width:280px;
  min-width:280px;
}

.whapido-lp-catfilter-label{
  font-size:13px;
  font-weight:600;
  color:#555;
  margin-bottom:6px;
}

.whapido-lp-catfilter{
  width:100%;
  height:42px;
  padding:0 12px;
  border:1px solid #dcdcdc;
  border-radius:8px;
  background:#fff;
}

.whapido-lp-toolbar{
  align-items:flex-end;
}

@media (max-width:768px){
  .whapido-lp-catfilter-wrap{
    width:100%;
    min-width:100%;
  }
}


/* Quantity selector */
.whapido-lp-qty-box{
  display:flex;
  align-items:center;
  border:1px solid #dcdcdc;
  border-radius:8px;
  overflow:hidden;
  width:110px;
  height:40px;
}

.whapido-lp-qty-box button{
  width:36px;
  height:100%;
  border:none;
  background:#f5f5f5;
  font-size:18px;
  cursor:pointer;
}

.whapido-lp-qty-box button:hover{
  background:#eaeaea;
}

.whapido-lp-qty-input{
  width:38px;
  text-align:center;
  border:none;
  outline:none;
  font-size:14px;
}

.whapido-lp-qty-box button:disabled{ opacity:.5; cursor:not-allowed; }


/* Quantity buttons - reset theme styles */
.whapido-lp-qty-box .whapido-lp-qty-minus,
.whapido-lp-qty-box .whapido-lp-qty-plus{
  -webkit-appearance:none;
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:#f3f4f6 !important;
  color:#111 !important;
  font-weight:700;
  line-height:1 !important;
  text-transform:none !important;
  box-shadow:none !important;
}

.whapido-lp-qty-box .whapido-lp-qty-minus{ border-right:1px solid #e5e7eb !important; }
.whapido-lp-qty-box .whapido-lp-qty-plus{ border-left:1px solid #e5e7eb !important; }

.whapido-lp-qty-box .whapido-lp-qty-minus:hover,
.whapido-lp-qty-box .whapido-lp-qty-plus:hover{
  background:#e9eaee !important;
}

.whapido-lp-qty-box .whapido-lp-qty-input{
  background:#fff !important;
  height:100% !important;
}






/* Mobile compact row layout */
@media (max-width: 640px){

  .whapido-lp-table{
    table-layout: fixed;
    width:100%;
  }

  .whapido-lp-col-name{ width: 42%; }
  .whapido-lp-col-price{ width: 18%; }
  .whapido-lp-col-qty{ width: 20%; }
  .whapido-lp-col-action{ width: 20%; }

  .whapido-lp-name{
    font-size:13px;
    line-height:1.2;
  }

  .whapido-lp-price{
    font-size:13px;
    white-space:nowrap;
  }

  .whapido-lp-qty-box{
    width:100px;
    height:36px;
  }

  .whapido-lp-qty-box button{
    width:28px;
    font-size:16px;
  }

  .whapido-lp-qty-input{
    font-size:13px;
  }

  .whapido-lp-add{
    padding:8px 10px;
    font-size:12px;
    white-space:nowrap;
  }

}


/* Mobile tighter layout adjustments */
@media (max-width: 640px){

  .whapido-lp-table td{
    padding:6px 4px !important;
  }

  .whapido-lp-table tr{
    border-bottom:1px solid rgba(0,0,0,.05);
  }

  .whapido-lp-name{
    font-size:12px;
    line-height:1.15;
  }

  .whapido-lp-price{
    font-size:12px;
  }

  .whapido-lp-qty-box{
    width:82px;
    height:30px;
    border-radius:6px;
  }

  .whapido-lp-qty-box button{
    width:22px !important;
    font-size:14px !important;
  }

  .whapido-lp-qty-input{
    font-size:12px;
  }

  .whapido-lp-add{
    padding:6px 8px;
    font-size:11px;
    border-radius:6px;
  }

}


/* General horizontal padding */
.whapido-lp-wrap{
  padding-left:14px;
  padding-right:14px;
}

/* Mobile refinements */
@media (max-width: 640px){

  .whapido-lp-qty-box{
    width:70px;
    height:28px;
  }

  .whapido-lp-qty-box button{
    width:20px !important;
    font-size:13px !important;
  }

  .whapido-lp-qty-input{
    font-size:11px;
  }

  .whapido-lp-add{
    font-size:10px;
    padding:5px 6px;
  }

}


/* Further compact tuning */
@media (max-width: 640px){

  .whapido-lp-name{
    font-size:11px;
    line-height:1.1;
  }

  .whapido-lp-name br{
    margin-bottom:0;
  }

  .whapido-lp-table td{
    padding-top:4px !important;
    padding-bottom:4px !important;
  }

  .whapido-lp-qty-box{
    width:92px;
    height:26px;
  }

  .whapido-lp-qty-box button{
    width:36px !important;
    font-size:12px !important;
  }

  .whapido-lp-qty-input{
    font-size:10px;
  }

  .whapido-lp-add{
    font-size:9px;
    padding:4px 6px;
  }

}


/* Sticky category titles */
.whapido-lp-group-title{
  position: sticky;
  top: var(--whapido-lp-sticky-top, 0px);
  z-index: 40;
  background: #fff;
  padding: 10px 0;
  margin: 0;
  border-bottom: 1px solid rgba(0,0,0,.06);
}

.whapido-lp-group{
  scroll-margin-top: calc(var(--whapido-lp-sticky-top, 0px) + 8px);
}
