/* ═══════════════════════════════════════════════
   Ghorer Ponno — Shop & Product Card Styles
   Uses CSS custom properties from variables.css
   ═══════════════════════════════════════════════ */

/* ─── Product Card ─── */
.gp-card {
  background: var(--gp-bg);
  border-radius: var(--gp-radius-card);
  border: 1px solid var(--gp-border);
  box-shadow: var(--gp-shadow);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease;
  height: 100%;
}
.gp-card:hover { transform: translateY(-5px); box-shadow: var(--gp-shadow-hover); }
.gp-card-img {
  background: var(--gp-primary-light);
  height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
}
.gp-card-img img { width:100%;height:100%;object-fit:cover;position:absolute;inset:0; }
.gp-card-img .gp-placeholder { font-size:64px;position:relative;z-index:1; }
.gp-badge { position:absolute;top:10px;left:10px;border-radius:var(--gp-radius-badge);padding:3px 10px;font-size:11px;font-weight:700;z-index:2; }
.gp-badge-primary   { background:var(--gp-primary-light);color:var(--gp-primary); }
.gp-badge-secondary { background:var(--gp-secondary-light);color:var(--gp-secondary); }
.gp-sale-pct { position:absolute;top:10px;right:10px;background:var(--gp-secondary);color:#fff;border-radius:8px;padding:3px 8px;font-size:11px;font-weight:800;z-index:2; }
.gp-card-body { padding:14px 16px 16px;display:flex;flex-direction:column;flex:1; }
.gp-card-brand { font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--gp-secondary);margin-bottom:4px; }
.gp-card-name { font-size:14px;font-weight:700;color:var(--gp-text);margin:0 0 4px;line-height:1.35;flex:1; }
.gp-card-name a { color:inherit;text-decoration:none; }
.gp-card-name a:hover { color:var(--gp-primary); }
.gp-card-spec { font-size:12px;color:var(--gp-muted);margin:0 0 6px;line-height:1.4; }
.gp-card-rating { font-size:12px;color:#f59e0b;margin-bottom:8px; }
.gp-card-rating .gp-rcount { color:var(--gp-subtle);font-size:11px; }
.gp-card-body .woocommerce-Price-amount,
.gp-card-price { font-size:18px;font-weight:800;color:var(--gp-text); }
.gp-card-body del .woocommerce-Price-amount,
.gp-card-old { font-size:12px;color:var(--gp-subtle);text-decoration:line-through; }
.gp-card-body .price { display:flex;align-items:baseline;gap:8px;margin-bottom:2px; }
.gp-card-emi { font-size:11px;color:var(--gp-muted);margin-bottom:12px; }

/* ─── Two-Button Row ─── */
.gp-card-btns { display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto; }
.gp-btn-cart,.gp-card-btns .button,.gp-card-btns a.button {
  display:flex!important;align-items:center;justify-content:center;gap:4px;
  padding:10px 6px!important;border-radius:var(--gp-radius-btn)!important;
  font-size:12px!important;font-weight:700!important;text-decoration:none!important;
  transition:background .15s,transform .1s;cursor:pointer;border:0!important;
  white-space:nowrap;background:var(--gp-primary)!important;color:#fff!important;
}
.gp-btn-cart:hover,.gp-card-btns .button:hover,.gp-card-btns a.button:hover {
  background:var(--gp-primary-dark)!important;color:#fff!important;transform:translateY(-1px);
}
.gp-btn-buy {
  display:flex!important;align-items:center;justify-content:center;
  padding:10px 6px!important;border-radius:var(--gp-radius-btn)!important;
  font-size:12px!important;font-weight:700!important;text-decoration:none!important;
  transition:background .15s,transform .1s;cursor:pointer;border:0!important;
  white-space:nowrap;background:var(--gp-secondary)!important;color:#fff!important;
}
.gp-btn-buy:hover { background:var(--gp-secondary-dark)!important;color:#fff!important;transform:translateY(-1px); }

/* ─── Sections ─── */
.gp-section { padding:56px 0; }
.gp-section-alt { background:var(--gp-surface); }
.gp-section-head { display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:10px; }
.gp-section-title { display:flex;align-items:center;gap:10px;font-size:22px;font-weight:800;color:var(--gp-text);margin:0; }
.gp-section-title::before { content:"";display:block;width:4px;height:24px;border-radius:4px;background:var(--gp-grad-main);flex-shrink:0; }
.gp-section-link { font-size:13px;font-weight:700;color:var(--gp-primary);text-decoration:none;white-space:nowrap; }
.gp-section-link:hover { color:var(--gp-secondary); }

/* ─── Shop Layout ─── */
.gp-shop-layout { display:grid;grid-template-columns:268px 1fr;gap:28px;padding:36px 0 80px;align-items:start; }
.gp-sidebar { position:sticky;top:80px; }
.gp-sidebar-box { background:var(--gp-bg);border:1px solid var(--gp-border);border-radius:var(--gp-radius-card);overflow:hidden;margin-bottom:18px;box-shadow:var(--gp-shadow); }
.gp-sidebar-head { background:var(--gp-grad-main);color:#fff;padding:11px 16px;font-size:13px;font-weight:700;display:flex;align-items:center;gap:7px; }
.gp-sidebar-body { padding:14px 16px; }
.gp-search-row { display:flex;border:2px solid var(--gp-border);border-radius:10px;overflow:hidden;transition:border-color .2s; }
.gp-search-row:focus-within { border-color:var(--gp-primary); }
.gp-search-row input { flex:1;border:0;padding:9px 12px;font-size:13px;outline:none;font-family:var(--gp-font);min-width:0;color:var(--gp-text); }
.gp-search-row button { background:var(--gp-primary);color:#fff;border:0;padding:9px 14px;cursor:pointer;font-size:15px;transition:background .15s; }
.gp-search-row button:hover { background:var(--gp-primary-dark); }
.gp-sidebar-body label { display:flex;align-items:center;gap:8px;font-size:13px;color:#374151;padding:4px 0;cursor:pointer; }
.gp-sidebar-body label input[type=checkbox] { accent-color:var(--gp-primary);width:14px;height:14px;cursor:pointer; }
.gp-cat-link { display:flex;align-items:center;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--gp-surface);font-size:13px;color:#374151;text-decoration:none;transition:color .15s; }
.gp-cat-link:last-child { border:0; }
.gp-cat-link:hover { color:var(--gp-primary); }
.gp-cat-count { background:var(--gp-primary-light);color:var(--gp-primary);border-radius:var(--gp-radius-badge);padding:1px 8px;font-size:11px;font-weight:700; }
.gp-price-inputs { display:flex;gap:8px;margin-bottom:12px; }
.gp-price-inputs input { flex:1;min-width:0;border:1.5px solid var(--gp-border);border-radius:8px;padding:7px 10px;font-size:13px;outline:none;font-family:var(--gp-font);color:var(--gp-text); }
.gp-price-inputs input:focus { border-color:var(--gp-primary); }
.gp-range { width:100%;accent-color:var(--gp-primary);margin-bottom:4px; }
.gp-apply-btn { background:var(--gp-primary);color:#fff;border:0;width:100%;padding:9px;border-radius:var(--gp-radius-btn);font-weight:700;font-size:13px;cursor:pointer;margin-top:10px;font-family:var(--gp-font);transition:background .15s; }
.gp-apply-btn:hover { background:var(--gp-primary-dark); }
.gp-shop-toolbar { display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--gp-border);flex-wrap:wrap;gap:10px; }
.gp-shop-count { font-size:14px;color:var(--gp-muted); }
.gp-shop-count strong { color:var(--gp-text); }
.gp-shop-sort { border:1.5px solid var(--gp-border);border-radius:9px;padding:7px 12px;font-size:13px;outline:none;color:var(--gp-text);font-family:var(--gp-font);cursor:pointer;background:var(--gp-bg);transition:border-color .2s; }
.gp-shop-sort:focus { border-color:var(--gp-primary); }

/* ─── Responsive ─── */
@media(max-width:1100px) { .gp-shop-layout { grid-template-columns:230px 1fr; } }
@media(max-width:900px)  { .gp-shop-layout { grid-template-columns:1fr; } .gp-sidebar { display:none; } }
