/* ========================================================================
   Custom Shop Elementor Section — FULL CSS (v6.5)
   Sidebar + Main layout; Stable cards; 200px image cap; white canvas.
   ======================================================================== */

/* Root scope & vars */
.cse-wrap.cse-wrap {
  --cse-gap: 18px;
  --cse-sidebar-w: 280px;
  --cse-card-radius: 14px;
  --cse-border: #e5e7eb;
  --cse-muted: #f1f5f9;
  --cse-text: #0f172a;
  --cse-bg: #ffffff;
  color: var(--cse-text);
}
.cse-wrap.cse-wrap * { box-sizing: border-box; }

/* Layout */
.cse-layout.cse-layout { display:grid; grid-template-columns: var(--cse-sidebar-w) 1fr; gap: var(--cse-gap); align-items:start; }
.cse-sidebar.cse-sidebar { position:sticky; top:16px; align-self:start; background:#fff; border:1px solid var(--cse-border); border-radius:16px; padding:14px; }
.cse-side-title { font-weight:800; margin:4px 0 10px; }
.cse-filter { display:flex; flex-direction:column; gap:10px; }
.cse-filter .cse-select,.cse-filter .cse-search{ width:100%; padding:10px 12px; border:1px solid var(--cse-border); border-radius:10px; background:#fff; }
.cse-main.cse-main { min-width:0; }
.cse-page-title { font-size:clamp(20px,2.2vw,28px); font-weight:800; margin:2px 0 10px; }
.cse-toolbar{ display:none; }

/* Grid & Cards */
.cse-wrap .cse-grid.cse-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr)); gap:16px; }
.cse-wrap .cse-card.cse-card { display:flex; flex-direction:column; background:#fff; border:1px solid var(--cse-border); border-radius:var(--cse-card-radius); overflow:hidden; min-height:420px; }

/* IMAGE: 200px cap + white canvas */
.cse-wrap .cse-card .cse-media{ position:relative; display:flex; align-items:center; justify-content:center; width:100%; min-height:200px; max-height:200px; background:#fff; overflow:hidden; border-bottom:1px solid var(--cse-muted); }
.cse-wrap .cse-card .cse-media::after{ content:""; position:absolute; inset:0; background:#fff; z-index:0; pointer-events:none; }
.cse-wrap .cse-card .cse-media img{ position:relative; z-index:1; object-fit:contain; max-height:200px; max-width:100%; width:auto; height:auto; padding:12px; background:transparent; border-radius:8px; }

/* Text/meta */
.cse-wrap .cse-card .cse-info{ display:flex; flex-direction:column; gap:8px; padding:12px 14px; flex:1 1 auto; min-height:160px; background:#fff; }
.cse-wrap .cse-card .cse-name{ margin:0; font-size:16px; line-height:1.3; }
.cse-wrap .cse-card .cse-name a{ color:#111; text-decoration:none; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cse-wrap .cse-card .cse-row{ margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.cse-wrap .cse-card .cse-price{ font-weight:700; }

/* Icons row */
.cse-wrap .cse-icons-inline{ display:inline-flex; align-items:center; gap:12px; }
.cse-wrap .cse-icon-link{ display:inline-flex; align-items:center; justify-content:center; background:transparent; border:0; width:auto; height:auto; padding:0; cursor:pointer; }
.cse-wrap .cse-icon-link svg{ width:18px; height:18px; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; display:block; }
.cse-wrap .cse-cart svg{ stroke:#000; fill:none; }
.cse-wrap .cse-wishlist svg{ stroke:#e3342f; fill:none; }
.cse-wrap .cse-wishlist.added svg{ stroke:#e3342f; fill:#e3342f; }

/* YITH messages hidden (we use toast) */
.yith-wcwl-message,.yith-wcwl-popup-message,.yith-wcwl-add-button>span,.yith-wcwl-wishlistaddedbrowse,.yith-wcwl-wishlistexistsbrowse{ display:none; }

/* Toast */
.cse-toast{ position:fixed; right:18px; bottom:18px; background:#111; color:#fff; padding:.65rem .9rem; border-radius:12px; font-weight:700; font-size:.92rem; box-shadow:0 12px 30px rgba(0,0,0,.35); z-index:10050; opacity:0; pointer-events:none; transform:translateY(8px); transition:opacity .18s ease, transform .18s ease; }
.cse-toast--show{ opacity:1; transform:translateY(0); }

/* Pagination */
.cse-pagination{ margin-top:12px; display:flex; gap:8px; align-items:center; }
.cse-page-btn{ padding:8px 12px; border:1px solid var(--cse-border); border-radius:10px; background:#fff; }
.cse-pageinfo{ font-weight:600; }

/* Responsive */
@media (max-width:1024px){ .cse-layout.cse-layout{ grid-template-columns:1fr; } .cse-sidebar.cse-sidebar{ position:relative; top:auto; } }
@media (max-width:420px){ .cse-wrap .cse-grid.cse-grid{ grid-template-columns:1fr; } }

/* Woo compatibility (apply same 200px cap to default loops) */
.woocommerce ul.products li.product .box-image,
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce ul.products li.product .tgs-product-thumb{ position:relative; display:flex; align-items:center; justify-content:center; min-height:200px; max-height:200px; background:#fff; overflow:hidden; border-radius:10px; }
.woocommerce ul.products li.product .box-image::after,
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link::after{ content:""; position:absolute; inset:0; background:#fff; z-index:0; pointer-events:none; }
.woocommerce ul.products li.product .box-image img,
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link img,
.woocommerce ul.products li.product .tgs-product-thumb img{ position:relative; z-index:1; object-fit:contain; max-height:200px; max-width:100%; width:auto; height:auto; padding:12px; background:transparent; border-radius:8px; }

/* Neutralize dark cards from theme */
.woocommerce ul.products li.product{ background:#fff; border:1px solid #e5e7eb; border-radius:12px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{ color:#111; }
.woocommerce-message.added{ display:none; }



