/* CPF Elementor Product Filter - base styles */
.cpf-panel{background:#fff;border:1px solid #eee;border-radius:14px;padding:16px}
.cpf-filter-title{font-weight:700;margin:10px 0}
.cpf-filter-item{display:flex;align-items:center;gap:8px;margin:6px 0}
.cpf-filter-actions{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.cpf-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:12px;border:1px solid #ddd;background:#fff;cursor:pointer;text-decoration:none}
.cpf-btn:hover{filter:brightness(.98)}
.cpf-clearall{margin-top:10px;display:inline-block;text-decoration:underline;cursor:pointer}
.cpf-gridbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px 0;padding:10px 12px;border:1px solid #eee;border-radius:14px;background:#fff}
.cpf-sort{padding:8px 10px;border-radius:12px;border:1px solid #ddd;background:#fff}
.cpf-loading{padding:18px 0;text-align:center}

/* Grid */
.cpf-products{width:100%}
.cpf-grid{display:grid;grid-template-columns:repeat(var(--cpf-cols,3),minmax(0,1fr));column-gap:var(--cpf-gap-x,18px);row-gap:var(--cpf-gap-y,18px);align-items:stretch}

/* Card: keep button aligned to bottom */
.cpf-card{border:1px solid #eee;border-radius:18px;background:#fff;padding:14px;display:flex;flex-direction:column;height:100%}
.cpf-card__img{display:block;text-align:center}
.cpf-card__img img{max-width:100%;height:auto;border-radius:14px}
.cpf-card__body{display:flex;flex-direction:column;flex:1;gap:8px;padding-top:10px}
.cpf-card__title{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;-webkit-line-clamp:var(--cpf-title-lines,unset);text-decoration:none;font-weight:600;line-height:1.25}
.cpf-card__price{margin-top:2px}
.cpf-card__btn{margin-top:auto}

/* Responsive columns/gaps handled via Elementor responsive controls (CSS variables) */

/* Live search suggestions */
.cpf-live-search{position:relative;max-width:520px}
.cpf-search-input{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:12px}
.cpf-suggest-box{position:absolute;left:0;right:0;top:calc(100% + 6px);border:1px solid #eee;border-radius:14px;overflow:hidden;box-shadow:0 10px 24px rgba(0,0,0,.08);z-index:999;background:#fff}
.cpf-suggest-item{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:10px 12px;text-decoration:none}
.cpf-suggest-item:hover{filter:brightness(.98)}
.cpf-suggest-img img{width:42px;height:42px;object-fit:cover;border-radius:10px}
.cpf-suggest-title{font-weight:600}
.cpf-suggest-price{white-space:nowrap}

/* Pagination */
.cpf-pagination{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:16px;flex-wrap:wrap}
.cpf-pagination a,.cpf-pagination button{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;border:1px solid #ddd;background:#fff;cursor:pointer;text-decoration:none}
.cpf-pagination .is-active{font-weight:700}
.cpf-pagination .cpf-page-dots{padding:6px 8px;opacity:.7}
