/*
 Theme Name:   Budget Shoppen Child
 Theme URI:    https://budgetshoppen.com
 Description:  Woodmart child theme for Budget Shoppen
 Author:       Budget Shoppen
 Template:     woodmart
 Version:      1.0.0
 Text Domain:  budgetshoppen-child
*/
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap');

/* ═══════════════════════════════════════════
   PROTOTYPE CSS — scoped to .bs-homepage
   This is the complete CSS from the approved HTML prototype.
   Woodmart handles header + footer.
   ═══════════════════════════════════════════ */

/* Variables */
:root{
  --blue:#0046be;--blue-dark:#013196;--navy:#041e42;--blue-light:#e8f0fe;
  --accent:#5BA4E6;--accent-dark:#3B8DD4;--accent-light:#d6ebfa;
  --white:#fff;--bg:#f0f2f4;--card:#fff;
  --text:#1d1d1f;--text-sec:#55555a;--text-light:#86868b;--border:#e0e6ef;
  --success:#137333;--red:#c41230;
  --radius:20px;--radius-sm:10px;--max-w:1440px;
  --font-heading:'Plus Jakarta Sans','Inter',sans-serif;
}

/* Page background */
body.page-template-default .bs-homepage,
body.home .bs-homepage { background:var(--bg) }

/* Main container */
.bs-homepage{max-width:var(--max-w);margin:0 auto;padding:8px 40px 40px;font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--text);-webkit-font-smoothing:antialiased}
.bs-homepage *,.bs-homepage *::before,.bs-homepage *::after{box-sizing:border-box}
.bs-homepage a{text-decoration:none;color:inherit}
.bs-homepage img{max-width:100%;display:block}
.bs-homepage .row{display:flex;gap:8px;margin-top:8px}
.bs-homepage .c12{width:100%}.bs-homepage .c7{flex:0 0 58.33%}.bs-homepage .c5{flex:1;min-width:0}.bs-homepage .c6{flex:1;min-width:0}.bs-homepage .c4{flex:1;min-width:0}

/* Buttons */
.bs-homepage .btn-w{display:inline-block;background:#fff;color:var(--blue);padding:10px 28px;border-radius:var(--radius-sm);font-size:14px;font-weight:700;border:none;transition:background .15s,transform .15s}
.bs-homepage .btn-w:hover{background:var(--blue-light);transform:translateY(-1px)}
.bs-homepage .btn-b{display:inline-block;background:var(--blue);color:#fff;padding:8px 20px;border-radius:var(--radius-sm);font-size:13px;font-weight:700;border:none;transition:background .15s;width:fit-content}
.bs-homepage .btn-b:hover{background:var(--blue-dark)}
.bs-homepage .btn-o{display:inline-block;background:transparent;color:var(--text);border:1px solid var(--border);padding:8px 20px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;transition:background .15s}
.bs-homepage .btn-o:hover{background:#f5f5f5}
.bs-homepage .btn-em{background:var(--blue);color:#fff;border:1px solid var(--blue);padding:8px 20px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;transition:background .15s}
.bs-homepage .btn-em:hover{background:var(--blue-dark)}

/* ═══ GLOBAL PRODUCT CARD STYLING ═══ */
.bs-homepage .wd-product,
.bs-homepage .wd-product .product-wrapper,
.bs-homepage .wd-product .product-element-top,
.bs-homepage .wd-products-with-bg .wd-product,
.bs-homepage .wd-products-with-bg .product-wrapper {
  background: #fff !important;
}
.bs-homepage .wd-product {
  border: 1px solid #e5e5e5 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}
.bs-homepage .wd-products-with-bg .product-wrapper {
  border: 1px solid #e5e5e5 !important;
}
.bs-homepage .wd-product:hover {
  border-color: #0046be !important;
  box-shadow: 0 4px 12px rgba(0,70,190,0.15) !important;
}
.bs-homepage .wd-product .product-wrapper {
  border-radius: 12px !important;
}
.bs-homepage .wd-product .product-element-top {
  border-radius: 12px 12px 0 0 !important;
}
.bs-homepage .wd-product .product-element-top img {
  border-radius: 8px !important;
}
.bs-homepage .wd-product .wd-add-btn a {
  border-radius: 8px !important;
}

/* (best selling bg now handled by bs-pop rules below) */

/* ═══ GLOBAL EQUAL HEIGHT CARDS ═══ */
.bs-homepage .wd-products .wd-product {
  display:flex !important;
  flex-direction:column !important;
  min-height:0;
}
.bs-homepage .wd-products .wd-product .product-wrapper {
  flex:1 !important;
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
  min-height:0;
}
.bs-homepage .wd-products .wd-product .product-element-bottom {
  flex:1 !important;
  display:flex !important;
  flex-direction:column !important;
  min-height:0;
}
.bs-homepage .wd-products .wd-product .wrap-price {
  margin-top:auto !important;
}

/* ═══ GLOBAL FIXED HEIGHT PRODUCT CARDS ═══ */
.bs-homepage .wd-products .product-element-top {
  height:200px !important;
  min-height:200px !important;
  max-height:200px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
.bs-homepage .wd-products .product-element-top img {
  max-height:180px !important;
  width:auto !important;
  max-width:100% !important;
  object-fit:contain !important;
  height:auto !important;
}
.bs-homepage .wd-products .wd-entities-title {
  height:48px !important;
  min-height:48px !important;
  overflow:hidden !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
}
.bs-homepage .wd-products .wd-product-cats {
  height:20px !important;
  overflow:hidden !important;
  white-space:nowrap !important;
  text-overflow:ellipsis !important;
}
.bs-homepage .wd-products .wrap-price {
  min-height:48px !important;
}
.bs-homepage .wd-products .wd-add-btn {
  height:50px !important;
  min-height:50px !important;
  display:flex !important;
  align-items:center !important;
}
.bs-homepage .wd-products .wd-add-btn > a {
  width:100% !important;
  height:42px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

/* ═══ 1. HERO ═══ */
.bs-homepage .hero{background:linear-gradient(135deg,var(--blue) 35%,#0078c8 60%,#00a8b5 100%);border-radius:var(--radius);overflow:hidden;position:relative}
.bs-homepage .hero-top{padding:48px 52px 44px;display:flex;justify-content:space-between;align-items:center;min-height:320px}
.bs-homepage .hero-left{max-width:520px;position:relative;z-index:2}
.bs-homepage .hero-h{font-family:var(--font-heading);font-size:76px;line-height:72px;font-weight:800;letter-spacing:-2px;color:#fff}
.bs-homepage .hero-h span{font-weight:500;color:rgba(255,255,255,.7)}
.bs-homepage .hero-sub{font-size:18px;font-weight:400;color:rgba(255,255,255,.8);margin-top:14px;line-height:1.5}
.bs-homepage .hero-timer{display:flex;align-items:center;gap:8px;margin-top:18px}
.bs-homepage .hero-badge{background:rgba(255,255,255,.15);color:#fff;font-size:13px;font-weight:600;padding:7px 20px;border-radius:24px;border:1.5px solid rgba(255,255,255,.3);backdrop-filter:blur(4px)}
.bs-homepage .hero-cta{margin-top:22px}
.bs-homepage .hero-shop{display:inline-block;background:#fff;color:var(--blue);padding:13px 36px;border-radius:var(--radius-sm);font-size:15px;font-weight:700;font-family:var(--font-heading);border:none;transition:all .2s;box-shadow:0 4px 16px rgba(0,0,0,.1)}
.bs-homepage .hero-shop:hover{background:var(--blue-light);transform:translateY(-2px);box-shadow:0 6px 24px rgba(0,0,0,.15)}
.bs-homepage .hero-montage{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;width:420px;height:280px;flex-shrink:0}
.bs-homepage .hero-montage .m-item{position:absolute;border-radius:16px;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.2);transition:transform .3s}
.bs-homepage .hero-montage .m-item:hover{transform:scale(1.05)}
.bs-homepage .hero-montage .m-item img{width:100%;height:100%;object-fit:cover}
.bs-homepage .hero-montage .m1{width:200px;height:180px;top:0;left:0;z-index:3;transform:rotate(-3deg)}
.bs-homepage .hero-montage .m2{width:160px;height:140px;top:10px;right:20px;z-index:2;transform:rotate(2deg)}
.bs-homepage .hero-montage .m3{width:150px;height:130px;bottom:0;left:60px;z-index:4;transform:rotate(1deg)}
.bs-homepage .hero-montage .m4{width:120px;height:110px;bottom:10px;right:0;z-index:1;transform:rotate(-2deg)}
.bs-homepage .hero::after{content:'';position:absolute;right:-80px;top:-80px;width:400px;height:400px;border-radius:50%;background:rgba(255,255,255,.04);z-index:0}

/* ═══ OFFER CARDS ═══ */
.bs-homepage .offer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.bs-homepage .offer-card{background:var(--card);border-radius:var(--radius);padding:0;display:flex;flex-direction:column;min-height:440px;transition:transform .2s,box-shadow .2s;cursor:pointer;position:relative;color:var(--text);overflow:hidden;border:1px solid var(--border)}
.bs-homepage .offer-card:hover{transform:translateY(-4px);box-shadow:0 8px 32px rgba(0,70,190,.1)}
.bs-homepage .offer-card::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--blue),var(--accent))}
.bs-homepage .offer-card:nth-child(2)::before{background:linear-gradient(90deg,#0078c8,#00b8b5)}
.bs-homepage .offer-card:nth-child(3)::before{background:linear-gradient(90deg,#0058a8,var(--accent))}
.bs-homepage .offer-card:nth-child(4)::before{background:linear-gradient(90deg,var(--accent-dark),#00a8b5)}
.bs-homepage .oc-inner{padding:22px 22px 20px;display:flex;flex-direction:column;flex:1}
.bs-homepage .oc-label{font-size:12px;font-weight:600;color:var(--accent-dark);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}
.bs-homepage .oc-name{font-family:var(--font-heading);font-size:24px;font-weight:800;color:var(--text);line-height:1.15;letter-spacing:-.3px}
.bs-homepage .oc-img{flex:1;display:flex;align-items:center;justify-content:center;padding:16px 0}
.bs-homepage .oc-img img{max-height:180px;object-fit:contain;border-radius:8px;transition:transform .3s}
.bs-homepage .offer-card:hover .oc-img img{transform:scale(1.05)}
.bs-homepage .oc-desc{font-size:13px;color:var(--text-sec);line-height:1.5;margin-bottom:14px;min-height:40px}
.bs-homepage .oc-bottom{display:flex;align-items:center;justify-content:space-between}
.bs-homepage .btn-oc{display:inline-block;background:var(--blue);color:#fff;padding:9px 22px;border-radius:var(--radius-sm);font-size:13px;font-weight:700;border:none;transition:background .15s}
.bs-homepage .btn-oc:hover{background:var(--blue-dark)}
.bs-homepage .oc-info{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--text-light);font-weight:600}

/* (old category carousel CSS removed — replaced by bs-cat-card) */

/* ═══ SIGN-IN ═══ */
.bs-homepage .si-card{background:var(--card);border-radius:var(--radius)}
.bs-homepage .si-inner{display:flex;align-items:center;padding:20px 28px;gap:14px}
.bs-homepage .si-icon{width:30px;height:30px;flex-shrink:0;color:var(--text-light)}
.bs-homepage .si-txt{flex:1}
.bs-homepage .si-txt p{font-size:15px;color:var(--text);line-height:1.5}
.bs-homepage .si-txt .disc{font-size:12px;color:var(--text-light);margin-top:3px}
.bs-homepage .si-txt .disc a{color:var(--blue)}
.bs-homepage .si-btns{display:flex;gap:8px;flex-shrink:0}

/* ═══ PRIMARY BANNERS ═══ */
.bs-homepage .pm{border-radius:var(--radius);overflow:hidden;cursor:pointer;background:var(--card)}
.bs-homepage .pm img{width:100%;aspect-ratio:16/16;max-height:500px;min-height:420px;object-fit:cover;transition:opacity .2s}
.bs-homepage .pm:hover img{opacity:.95}

/* ═══ FLEX MESSAGE (laptop promo) ═══ */
.bs-homepage .fmsg{background:var(--card);border-radius:var(--radius);overflow:hidden}
.bs-homepage .fmsg-inner{display:flex;min-height:460px}
.bs-homepage .fmsg-left{width:360px;flex-shrink:0;background:var(--navy);padding:32px 28px 0;display:flex;flex-direction:column;position:relative;overflow:hidden;border-radius:var(--radius) 0 0 var(--radius)}
.bs-homepage .fmsg-left h2{color:#fff;font-size:24px;font-weight:800;line-height:1.3;margin-bottom:10px;font-family:var(--font-heading)}
.bs-homepage .fmsg-left p{color:rgba(255,255,255,.6);font-size:14px;line-height:1.5;margin-bottom:16px}
.bs-homepage .fmsg-left .shop-link{color:#fff;font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.bs-homepage .fmsg-lifestyle{margin-top:auto;width:100%;border-radius:8px 8px 0 0;overflow:hidden}
.bs-homepage .fmsg-lifestyle img{width:100%;height:180px;object-fit:cover;object-position:top}
.bs-homepage .fmsg-right{flex:1;display:flex;align-items:stretch;gap:0;overflow-x:auto;scrollbar-width:none;padding:16px 12px;position:relative;background:var(--bg)}
.bs-homepage .fmsg-right::-webkit-scrollbar{display:none}
.bs-homepage .fmsg-card{background:var(--card);border:1px solid var(--border);border-radius:12px;width:220px;flex-shrink:0;padding:16px;display:flex;flex-direction:column;margin-right:10px;transition:border-color .2s,box-shadow .2s;cursor:pointer;position:relative}
.bs-homepage .fmsg-card:hover{border-color:var(--blue);box-shadow:0 4px 16px rgba(0,70,190,.08)}
.bs-homepage .fmsg-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}
.bs-homepage .save-badge{font-size:11px;font-weight:700;color:#fff;background:var(--red);padding:3px 10px;border-radius:4px}
.bs-homepage .heart-btn{background:none;border:none;color:var(--text-light);padding:2px;transition:color .15s}
.bs-homepage .heart-btn:hover{color:var(--red)}
.bs-homepage .fmsg-card-img{height:160px;display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.bs-homepage .fmsg-card-img img{max-height:140px;object-fit:contain;border-radius:6px}
.bs-homepage .fmsg-card-name{font-size:13px;font-weight:500;line-height:1.35;color:var(--text);margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}
.bs-homepage .fmsg-card-price{font-size:18px;font-weight:800;color:var(--text)}
.bs-homepage .fmsg-card-was{font-size:13px;color:var(--text-light);text-decoration:line-through;margin-top:2px}
.bs-homepage .fmsg-arrow{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:var(--card);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;z-index:5;box-shadow:0 2px 8px rgba(0,0,0,.1);cursor:pointer;transition:box-shadow .15s}
.bs-homepage .fmsg-arrow:hover{box-shadow:0 4px 16px rgba(0,0,0,.15)}

/* ═══ PANELS ═══ */
.bs-homepage .panel{background:var(--card);border-radius:var(--radius);overflow:hidden;min-height:420px;cursor:pointer;position:relative}
.bs-homepage .panel img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.bs-homepage .panel-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(4,30,66,.65) 0%,transparent 55%)}
.bs-homepage .panel-ct{position:absolute;bottom:24px;left:24px;right:24px;z-index:2}
.bs-homepage .panel-ct h3{color:#fff;font-size:22px;font-weight:700;margin-bottom:4px;font-family:var(--font-heading)}
.bs-homepage .panel-ct p{color:rgba(255,255,255,.7);font-size:14px;margin-bottom:12px}

/* ═══ PRODUCT CAROUSELS ═══ */
.bs-homepage .prow{background:var(--card);border-radius:var(--radius);padding:0 0 24px;overflow:hidden}
.bs-homepage .prow-hd{display:flex;align-items:center;justify-content:space-between;padding:22px 28px 14px}
.bs-homepage .prow-hd h2{font-size:20px;font-weight:700;display:flex;align-items:center;gap:8px;font-family:var(--font-heading)}
.bs-homepage .prow-scroll{display:flex;gap:12px;overflow-x:auto;scrollbar-width:none;padding:0 28px 8px}
.bs-homepage .prow-scroll::-webkit-scrollbar{display:none}
.bs-homepage .pc{background:var(--card);border:1px solid var(--border);border-radius:12px;width:210px;flex-shrink:0;padding:16px;display:flex;flex-direction:column;transition:border-color .2s,box-shadow .2s;cursor:pointer}
.bs-homepage .pc:hover{border-color:var(--blue);box-shadow:0 4px 16px rgba(0,70,190,.08)}
.bs-homepage .pc-badge{font-size:11px;font-weight:700;color:#fff;padding:3px 10px;border-radius:4px;width:fit-content;margin-bottom:8px}
.bs-homepage .pc-img{height:150px;display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.bs-homepage .pc-img img{max-height:130px;object-fit:contain;border-radius:6px}
.bs-homepage .pc-name{font-size:13px;font-weight:500;line-height:1.35;color:var(--text);margin-bottom:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}
.bs-homepage .pc-model{font-size:11px;color:var(--text-light);margin-bottom:5px}
.bs-homepage .pc-stars{display:flex;align-items:center;gap:1px;margin-bottom:8px}
.bs-homepage .pc-stars svg{width:12px;height:12px}
.bs-homepage .pc-stars span{font-size:11px;color:var(--blue);margin-left:3px;font-weight:500}
.bs-homepage .pc-price{font-size:18px;font-weight:800;color:var(--text)}
.bs-homepage .pc-was{font-size:13px;color:var(--text-light);text-decoration:line-through;margin-top:2px}
.bs-homepage .pc-save{font-size:11px;font-weight:700;color:var(--success);margin-top:2px}
.bs-homepage .pc-atc{margin-top:10px;width:100%;background:var(--blue);color:#fff;border:none;border-radius:var(--radius-sm);padding:10px 0;font-size:14px;font-weight:700;transition:background .15s;cursor:pointer;font-family:inherit}
.bs-homepage .pc-atc:hover{background:var(--blue-dark)}
.bs-homepage .sf{fill:#FFB800;stroke:none}.bs-homepage .se{fill:#e0e0e0;stroke:none}

/* ═══ BADGES ═══ */
.bs-homepage .badges{background:var(--card);border-radius:var(--radius);padding:20px 28px 24px}
.bs-homepage .badges h2{font-size:16px;font-weight:700;display:flex;align-items:center;gap:6px;font-family:var(--font-heading)}
.bs-homepage .badges .sub{font-size:13px;color:var(--text-sec);margin-bottom:16px}
.bs-homepage .bg-scroll{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
.bs-homepage .bg-scroll::-webkit-scrollbar{display:none}
.bs-homepage .bi{flex-shrink:0;width:140px;text-align:center;cursor:pointer;padding:8px;border-radius:12px;transition:background .15s}
.bs-homepage .bi:hover{background:var(--accent-light)}
.bs-homepage .bi img{width:88px;height:88px;object-fit:cover;border-radius:10px;margin:0 auto 8px}
.bs-homepage .bi span{font-size:12px;font-weight:500;color:var(--text);line-height:1.3;display:block}

/* ═══ TRENDING ═══ */
.bs-homepage .trend{background:var(--card);border-radius:var(--radius);padding:20px 28px 24px}
.bs-homepage .trend h2{font-size:18px;font-weight:700;margin-bottom:4px;font-family:var(--font-heading)}
.bs-homepage .trend .sub{font-size:13px;color:var(--text-sec);margin-bottom:16px}

/* ═══ TRENDING NOW ═══ */
.bs-homepage .bs-section-trending { padding: 20px 0; }
.bs-homepage .bs-section-trending > .c7 { overflow: hidden !important; }
.bs-homepage .bs-section-trending > .c5 { min-width: 340px !important; }

/* Grid Layout 4x2 */
.bs-homepage .bs-section-trending .wd-products,
.bs-homepage .bs-section-trending .wd-products.wd-grid-g {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
  flex-wrap: unset !important;
  overflow-x: visible !important;
}

/* White background — override any gray */
.bs-homepage .bs-section-trending .wd-product,
.bs-homepage .bs-section-trending .wd-product .product-wrapper,
.bs-homepage .bs-section-trending .wd-product .product-element-top {
  background: #fff !important;
}

/* Fix image cut off — proper height with padding */
.bs-homepage .bs-section-trending .product-element-top {
  height: auto !important;
  min-height: 140px !important;
  max-height: 160px !important;
  overflow: visible !important;
  padding: 15px !important;
}
.bs-homepage .bs-section-trending .product-element-top img {
  max-height: 120px !important;
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  margin: 0 auto !important;
  display: block !important;
}

/* Limit to 8 products */
.bs-homepage .bs-section-trending .wd-product:nth-child(n+9) {
  display: none !important;
}

/* Hide categories */
.bs-homepage .bs-section-trending .wd-product-cats { display: none !important; }

/* Compact title — 2-line clamp */
.bs-homepage .bs-section-trending .wd-entities-title {
  font-size: 13px !important;
  height: 36px !important;
  min-height: 36px !important;
  overflow: hidden !important;
  -webkit-line-clamp: 2 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
}

/* Compact price area */
.bs-homepage .bs-section-trending .wrap-price {
  min-height: 24px !important;
  height: auto !important;
}

/* Smaller add to cart button */
.bs-homepage .bs-section-trending .wd-add-btn {
  height: 36px !important;
  min-height: 36px !important;
  font-size: 12px !important;
}

/* Hide hover action icons */
.bs-homepage .bs-section-trending .wd-buttons { display: none !important; }

/* Hide placeholder products */
.bs-homepage .bs-section-trending .wd-product:has(img[src*="placeholder"]) {
  display: none !important;
}

/* Mobile: 2 columns */
@media (max-width: 768px) {
  .bs-homepage .bs-section-trending .wd-products,
  .bs-homepage .bs-section-trending .wd-products.wd-grid-g {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* Shop by Room — Category Card Hover */
.bs-homepage .shop-by-room-wrapper a[href*="product-category"] {
  background: #fff !important;
  border: 1px solid #eee !important;
  transition: all 0.2s ease !important;
}
.bs-homepage .shop-by-room-wrapper a[href*="product-category"]:hover {
  border-color: #0046be !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 20px rgba(0,70,190,0.15) !important;
  background: #fff !important;
}

/* ═══ CROSS CATEGORY ═══ */
.bs-homepage .xcat{background:var(--card);border-radius:var(--radius);overflow:hidden}
.bs-homepage .xcat-hero{height:190px;position:relative;overflow:hidden}
.bs-homepage .xcat-hero img{width:100%;height:100%;object-fit:cover}
.bs-homepage .xcat-hero-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(4,30,66,.55) 0%,transparent 60%)}
.bs-homepage .xcat-hero-txt{position:absolute;bottom:16px;left:20px;z-index:2}
.bs-homepage .xcat-hero-txt h3{color:#fff;font-size:18px;font-weight:700}
.bs-homepage .xcat-body{padding:16px 20px 20px}
.bs-homepage .xcat-pills{display:flex;gap:6px;margin-bottom:14px;overflow-x:auto;scrollbar-width:none}
.bs-homepage .xcat-pills::-webkit-scrollbar{display:none}
.bs-homepage .xp{padding:6px 14px;border-radius:20px;border:1px solid var(--border);font-size:12px;font-weight:600;color:var(--text);background:var(--card);white-space:nowrap;cursor:pointer;transition:all .15s}
.bs-homepage .xp:hover,.bs-homepage .xp.a{background:var(--blue);color:#fff;border-color:var(--blue)}
.bs-homepage .xg{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.bs-homepage .xi{text-align:center;cursor:pointer;padding:8px;border-radius:10px;transition:background .15s}
.bs-homepage .xi:hover{background:var(--accent-light)}
.bs-homepage .xi img{width:64px;height:64px;object-fit:cover;border-radius:8px;margin:0 auto 6px}
.bs-homepage .xi span{font-size:11px;font-weight:500;color:var(--text);line-height:1.2}

/* ═══ VALUE PROP ═══ */
.bs-homepage .vp{background:var(--card);border-radius:var(--radius);padding:28px}
.bs-homepage .vp-g{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.bs-homepage .vp-i{text-align:center;padding:12px}
.bs-homepage .vp-i svg{width:36px;height:36px;color:var(--blue);margin:0 auto 10px;display:block}
.bs-homepage .vp-i h4{font-size:15px;font-weight:700;margin-bottom:4px;font-family:var(--font-heading)}
.bs-homepage .vp-i p{font-size:13px;color:var(--text-sec);line-height:1.4}

/* ═══ DELIVERY BANNER ═══ */
.bs-homepage .db{background:var(--navy);border-radius:var(--radius);padding:30px 40px;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden}
.bs-homepage .db::before{content:'';position:absolute;inset:0;opacity:.04;background-image:radial-gradient(circle,#fff 1px,transparent 1px);background-size:24px 24px}
.bs-homepage .db-l{position:relative;z-index:2}
.bs-homepage .db-label{font-size:12px;font-weight:700;color:var(--accent);letter-spacing:1px;margin-bottom:4px;display:flex;align-items:center;gap:6px}
.bs-homepage .db-l h3{color:#fff;font-size:24px;font-weight:700;margin-bottom:3px;font-family:var(--font-heading)}
.bs-homepage .db-l p{color:rgba(255,255,255,.5);font-size:14px}

/* ═══ WooCommerce shortcode overrides inside bs-homepage ═══ */
.bs-homepage .woocommerce .products:not(.wd-carousel):not(.wd-carousel-inner){display:flex;gap:12px;overflow-x:auto;scrollbar-width:none;padding:0 28px 8px;flex-wrap:nowrap}
.bs-homepage .woocommerce .products::-webkit-scrollbar{display:none}
.bs-homepage .woocommerce .products .product{flex-shrink:0;width:210px;border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:border-color .2s,box-shadow .2s;padding:12px}
.bs-homepage .woocommerce .products .product:hover{border-color:var(--blue);box-shadow:0 4px 16px rgba(0,70,190,.08)}
.bs-homepage .woocommerce .products .product .add_to_cart_button,.bs-homepage .woocommerce .products .product .button{background:var(--blue)!important;color:#fff!important;border-radius:var(--radius-sm)!important;font-weight:700!important;width:100%;text-align:center;padding:10px 0!important}
.bs-homepage .woocommerce .products .product .add_to_cart_button:hover,.bs-homepage .woocommerce .products .product .button:hover{background:var(--blue-dark)!important}
.bs-homepage .woocommerce .products .product .onsale{background:var(--red)!important;border-radius:4px!important}
.bs-homepage .woocommerce .products .product .price{font-size:16px;font-weight:800;color:var(--text)}
.bs-homepage .woocommerce .products .product .price del{color:var(--text-light);font-weight:400;font-size:13px}
.bs-homepage .woocommerce .products .product .price ins{text-decoration:none;font-weight:800}

/* (old Woodmart category carousel override removed) */

/* ═══ LAPTOP PROMO SECTION FIX ═══ */
.bs-homepage .bs-section-laptop-promo .fmsg {
  background:#fff;
  border-radius:var(--radius);
  overflow:hidden;
}

.bs-homepage .bs-section-laptop-promo .fmsg-inner {
  display:flex;
  height:420px;
}

.bs-homepage .bs-section-laptop-promo .fmsg-left {
  width:300px;
  flex-shrink:0;
  background:var(--navy);
  padding:28px 24px 0;
  display:flex;
  flex-direction:column;
}

.bs-homepage .bs-section-laptop-promo .fmsg-left h2 {
  color:#fff;
  font-size:22px;
  font-weight:700;
  margin-bottom:10px;
}

.bs-homepage .bs-section-laptop-promo .fmsg-left p {
  color:rgba(255,255,255,.7);
  font-size:14px;
  margin-bottom:16px;
}

.bs-homepage .bs-section-laptop-promo .fmsg-left .shop-link {
  color:#fff;
  font-size:14px;
  font-weight:600;
}

.bs-homepage .bs-section-laptop-promo .fmsg-lifestyle {
  margin-top:auto;
}

.bs-homepage .bs-section-laptop-promo .fmsg-right {
  flex:1;
  min-width:0;
  padding:20px;
  overflow-x:auto;
  overflow-y:hidden;
  /* Vertically center the product cards within the panel */
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
}

/* Override Woodmart grid to horizontal scroll — products IS the scroll container */
.bs-homepage .bs-section-laptop-promo .fmsg-right .products.wd-products {
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:16px !important;
  grid-template-columns:unset !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  scrollbar-width:none !important;
}
.bs-homepage .bs-section-laptop-promo .fmsg-right .products.wd-products::-webkit-scrollbar {
  display:none !important;
}
/* Ensure wrapper doesn't clip overflow */
.bs-homepage .bs-section-laptop-promo .fmsg-right .wd-products-element {
  overflow:visible !important;
  width:100%;
}

/* Set fixed card width for horizontal scroll */
.bs-homepage .bs-section-laptop-promo .fmsg-right .wd-product {
  flex:0 0 250px !important;
  min-width:250px !important;
  max-width:250px !important;
}

/* ═══ FIX TV PROMO SECTION CARD HEIGHTS ═══ */
/* display:grid removed — horizontal scroll (flex) is set above and takes precedence */
.bs-homepage .bs-section-laptop-promo .fmsg-right .wd-products {
  align-items:stretch !important;
}

.bs-homepage .bs-section-laptop-promo .fmsg-right .wd-product {
  height:100% !important;
}

.bs-homepage .bs-section-laptop-promo .fmsg-right .product-wrapper {
  height:100% !important;
  display:flex !important;
  flex-direction:column !important;
}

.bs-homepage .bs-section-laptop-promo .fmsg-right .product-element-bottom {
  flex:1 !important;
  display:flex !important;
  flex-direction:column !important;
}

.bs-homepage .bs-section-laptop-promo .fmsg-right .wd-product .wd-btn-wrap {
  margin-top:auto !important;
}

/* ═══ HIDE PRODUCT ATTRIBUTES ON HOVER ═══ */
/* .wd-more-desc = Woodmart hover block containing the attributes table */
.bs-homepage .wd-more-desc,
/* table.woocommerce-product-attributes = the actual attributes table */
.bs-homepage table.woocommerce-product-attributes,
/* .wd-swatches-grid = color/size swatches below price (outside .wd-more-desc) */
.bs-homepage .wd-swatches-grid {
  display:none !important;
}
/* star-rating: present on some products, absent on others — causes uneven card heights */
.bs-homepage .wd-products .star-rating {
  display:none !important;
}

/* ═══ TV PROMO SCROLL ARROWS - WORLD CLASS ═══ */
.bs-homepage .bs-section-laptop-promo .fmsg {
  overflow:visible !important;
}
.bs-homepage .bs-section-laptop-promo .fmsg-inner {
  overflow:visible !important;
}
.bs-homepage .bs-section-laptop-promo .fmsg-right {
  position:relative;
  overflow:visible !important;
}
.bs-homepage .bs-section-laptop-promo .fmsg-scroll-btn {
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:48px;
  height:48px;
  background:rgba(255,255,255,0.95);
  border:2px solid #0046be;
  border-radius:50%;
  cursor:pointer;
  z-index:100;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 4px 12px rgba(0,0,0,0.15);
  font-size:24px;
  font-weight:bold;
  color:#0046be;
  transition:all 0.2s ease;
}
.bs-homepage .bs-section-laptop-promo .fmsg-scroll-btn:hover {
  background:#0046be;
  color:#fff;
  transform:translateY(-50%) scale(1.1);
}
.bs-homepage .bs-section-laptop-promo .fmsg-scroll-left {
  left:-24px;
}
.bs-homepage .bs-section-laptop-promo .fmsg-scroll-right {
  right:-24px;
}

/* ═══ DEAL OF THE DAY - COMPLETE FIX ═══ */

/* Section spacing */
.bs-homepage .bs-section-deal-of-day {
  margin-bottom:40px !important;
}

/* White card container */
.bs-homepage .bs-section-deal-of-day .deal-container {
  background:#fff !important;
  border-radius:12px !important;
  padding:24px !important;
  box-shadow:0 2px 8px rgba(0,0,0,0.05) !important;
}

/* Header row: icon + title left, "See all deals" right */
.bs-homepage .bs-section-deal-of-day .deal-header {
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  margin-bottom:20px !important;
}
.bs-homepage .bs-section-deal-of-day .deal-header h2 {
  font-size:24px !important;
  font-weight:700 !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  font-family:var(--font-heading) !important;
}
.bs-homepage .bs-section-deal-of-day .deal-header .see-all {
  padding:8px 20px !important;
  border:1px solid #ddd !important;
  border-radius:20px !important;
  text-decoration:none !important;
  color:#333 !important;
  font-weight:500 !important;
  font-size:13px !important;
  transition:all 0.2s ease !important;
}
.bs-homepage .bs-section-deal-of-day .deal-header .see-all:hover {
  background:#0046be !important;
  color:#fff !important;
  border-color:#0046be !important;
}

/* Products wrapper — relative for scroll buttons */
.bs-homepage .bs-section-deal-of-day .deal-products-wrap {
  position:relative !important;
  overflow:visible !important;
}

/* Scroll arrows */
.bs-homepage .bs-section-deal-of-day .deal-scroll-btn {
  position:absolute !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:48px !important;
  height:48px !important;
  background:rgba(255,255,255,0.95) !important;
  border:2px solid #0046be !important;
  border-radius:50% !important;
  cursor:pointer !important;
  z-index:100 !important;
  font-size:24px !important;
  font-weight:bold !important;
  color:#0046be !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:0 4px 12px rgba(0,0,0,0.15) !important;
  transition:all 0.2s ease !important;
}
.bs-homepage .bs-section-deal-of-day .deal-scroll-btn:hover {
  background:#0046be !important;
  color:#fff !important;
  transform:translateY(-50%) scale(1.1) !important;
}
.bs-homepage .bs-section-deal-of-day .deal-scroll-left {
  left:-24px !important;
}
.bs-homepage .bs-section-deal-of-day .deal-scroll-right {
  right:-24px !important;
}

/* Ensure wd-products-element doesn't clip */
.bs-homepage .bs-section-deal-of-day .wd-products-element {
  overflow:visible !important;
  width:100% !important;
}

/* Horizontal scroll for products */
.bs-homepage .bs-section-deal-of-day .wd-products {
  display:flex !important;
  flex-wrap:nowrap !important;
  overflow-x:auto !important;
  gap:16px !important;
  scroll-behavior:smooth !important;
  scrollbar-width:none !important;
  padding:10px 0 !important;
  grid-template-columns:unset !important;
}
.bs-homepage .bs-section-deal-of-day .wd-products::-webkit-scrollbar {
  display:none !important;
}

/* Fixed width cards */
.bs-homepage .bs-section-deal-of-day .wd-product {
  flex:0 0 220px !important;
  min-width:220px !important;
  max-width:220px !important;
}

/* Section-specific LOCKED heights — every element fixed */
.bs-homepage .bs-section-deal-of-day .product-element-top {
  height:180px !important; min-height:180px !important; max-height:180px !important;
}
.bs-homepage .bs-section-deal-of-day .wd-entities-title {
  height:44px !important; min-height:44px !important; max-height:44px !important;
  overflow:hidden !important;
}
.bs-homepage .bs-section-deal-of-day .wd-product-cats {
  height:20px !important; min-height:20px !important; max-height:20px !important;
  overflow:hidden !important;
}
/* CRITICAL FIX: star-rating exists on some cards but not others — hide it */
.bs-homepage .bs-section-deal-of-day .star-rating {
  display:none !important;
}
.bs-homepage .bs-section-deal-of-day .wrap-price {
  height:32px !important; min-height:32px !important; max-height:32px !important;
  display:flex !important; align-items:center !important;
  overflow:hidden !important;
}
/* Sale prices: keep del+ins inline on one line */
.bs-homepage .bs-section-deal-of-day .wrap-price .price {
  display:flex !important; align-items:center !important; gap:6px !important;
  flex-wrap:nowrap !important; white-space:nowrap !important;
}
.bs-homepage .bs-section-deal-of-day .wrap-price del,
.bs-homepage .bs-section-deal-of-day .wrap-price ins {
  display:inline !important; font-size:14px !important;
}
.bs-homepage .bs-section-deal-of-day .wrap-price del {
  font-size:12px !important; opacity:0.6 !important;
}
.bs-homepage .bs-section-deal-of-day .wrap-price .screen-reader-text {
  display:none !important;
}
/* Swatches inside wrap-price — already hidden globally, reinforce here */
.bs-homepage .bs-section-deal-of-day .wrap-price .wd-swatches-grid {
  display:none !important;
}
/* Button area fixed height */
.bs-homepage .bs-section-deal-of-day .wd-add-btn {
  height:50px !important; min-height:50px !important; max-height:50px !important;
  display:flex !important; align-items:center !important;
}
.bs-homepage .bs-section-deal-of-day .wd-add-btn > a {
  width:100% !important; height:42px !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
}
/* product-element-bottom flex column with NO flex-grow */
.bs-homepage .bs-section-deal-of-day .product-element-bottom {
  display:flex !important; flex-direction:column !important;
  flex:none !important;
}

/* Override Woodmart labels → red "Deal of the Day" badge */
.bs-homepage .bs-section-deal-of-day .product-labels {
  top:8px !important;
  left:8px !important;
  right:auto !important;
}
.bs-homepage .bs-section-deal-of-day .product-label {
  background:#cc0000 !important;
  color:#fff !important;
  font-size:0 !important;
  line-height:0 !important;
  padding:0 !important;
  border-radius:4px !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  overflow:hidden;
}
.bs-homepage .bs-section-deal-of-day .product-label:first-child {
  padding:5px 10px !important;
  line-height:normal !important;
}
.bs-homepage .bs-section-deal-of-day .product-label:first-child::after {
  content:"Deal of the Day";
  font-size:11px;
  font-weight:600;
}
.bs-homepage .bs-section-deal-of-day .product-label ~ .product-label {
  display:none !important;
}

/* ═══ PRIMARY BANNERS FIX ═══ */
.bs-homepage .bs-section-banners .pm {
  min-height:280px !important;
  max-height:320px !important;
}

/* ═══ RESPONSIVE ═══ */
@media(max-width:1024px){
  .bs-homepage .offer-grid{grid-template-columns:repeat(2,1fr)}
  .bs-homepage .hero-h{font-size:48px!important;line-height:46px!important}
  .bs-homepage .hero-montage{display:none}
  .bs-homepage .fmsg-inner{flex-direction:column}
  .bs-homepage .fmsg-left{width:100%;border-radius:var(--radius) var(--radius) 0 0}
  .bs-homepage .row{flex-wrap:wrap}
  .bs-homepage .c7,.bs-homepage .c5,.bs-homepage .c6,.bs-homepage .c4{flex:1 1 100%}
}
@media(max-width:768px){
  .bs-homepage{padding:8px 16px 24px}
  .bs-homepage .offer-grid{grid-template-columns:1fr}
  .bs-homepage .hero-top{padding:32px 24px 28px;flex-direction:column}
  .bs-homepage .hero-h{font-size:36px!important;line-height:36px!important}
  .bs-homepage .vp-g{grid-template-columns:repeat(2,1fr)}
  .bs-homepage .si-inner{flex-direction:column;text-align:center}
}

/* ═══ TOP DEALS ═══ */
/* ═══ TOP DEALS ═══ */

/* Container — white box with rounded corners */
.bs-homepage .bs-section-top-deals .deal-container {
  background:#fff;
  border-radius:12px;
  padding:24px;
  box-shadow:0 2px 8px rgba(0,0,0,0.06);
}

/* Header row */
.bs-homepage .bs-section-top-deals .deal-header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:20px;
}
.bs-homepage .bs-section-top-deals .deal-header h2 {
  font-size:24px;
  font-weight:700;
  margin:0;
  font-family:var(--font-heading);
}
/* "See all" pill button */
.bs-homepage .bs-section-top-deals .deal-header .see-all {
  padding:8px 16px;
  border:2px solid #0046be;
  border-radius:20px;
  color:#0046be;
  font-weight:600;
  font-size:14px;
  text-decoration:none;
  transition:all 0.2s;
}
.bs-homepage .bs-section-top-deals .deal-header .see-all:hover {
  background:#0046be;
  color:#fff;
}

/* Hide Woodmart default labels, add custom "Top Deal" badge */
.bs-homepage .bs-section-top-deals .product-labels { display:none !important; }
.bs-homepage .bs-section-top-deals .product-element-top { position:relative; }
.bs-homepage .bs-section-top-deals .product-element-top::before {
  content:"Top Deal";
  position:absolute;
  top:12px;
  left:12px;
  background:#0046be;
  color:#fff;
  padding:4px 10px;
  border-radius:4px;
  font-size:12px;
  font-weight:600;
  z-index:10;
}

/* Arrow buttons — circular, blue border (like Deal of Day) */
.bs-homepage .bs-section-top-deals .deal-scroll-btn {
  position:absolute !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:48px !important;
  height:48px !important;
  background:rgba(255,255,255,0.95) !important;
  border:2px solid #0046be !important;
  border-radius:50% !important;
  cursor:pointer !important;
  z-index:100 !important;
  font-size:24px !important;
  font-weight:bold !important;
  color:#0046be !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:0 4px 12px rgba(0,0,0,0.15) !important;
  transition:all 0.2s ease !important;
}
.bs-homepage .bs-section-top-deals .deal-scroll-btn:hover {
  background:#0046be !important;
  color:#fff !important;
  transform:translateY(-50%) scale(1.1) !important;
}
.bs-homepage .bs-section-top-deals .deal-scroll-left {
  left:-24px !important;
}
.bs-homepage .bs-section-top-deals .deal-scroll-right {
  right:-24px !important;
}

/* Horizontal scroll layout */
.bs-homepage .bs-section-top-deals .wd-products {
  display:flex !important;
  flex-wrap:nowrap !important;
  overflow-x:auto !important;
  gap:16px;
  scroll-behavior:smooth;
  scrollbar-width:none;
  padding:10px 0;
  grid-template-columns:unset !important;
}
.bs-homepage .bs-section-top-deals .wd-products::-webkit-scrollbar { display:none; }

/* Card sizing for scroll */
.bs-homepage .bs-section-top-deals .wd-product {
  flex:0 0 220px !important;
  min-width:220px;
  max-width:220px;
}
.bs-homepage .bs-section-top-deals .wd-products-element {
  overflow:visible;
  width:100%;
}
.bs-homepage .bs-section-top-deals .deal-products-wrap {
  position:relative;
  overflow:visible;
}

/* ═══ BEST SELLING / TOP RATED / SHOP BY CATEGORY ═══ */

/* Card containers */
.bs-homepage .bs-pop-card {
  background: #fff !important;
  border-radius: 16px !important;
  padding: 24px !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08) !important;
}
.bs-homepage .bs-section-best-selling.row {
  gap: 24px !important;
}

/* Header */
.bs-homepage .bs-pop-header {
  margin-bottom: 16px !important;
}
.bs-homepage .bs-pop-header h2 {
  font-size: 20px !important;
  font-weight: 600 !important;
  color: #1a1a1a !important;
  margin: 0 0 4px 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: var(--font-heading);
}
.bs-homepage .bs-pop-header svg {
  width: 22px !important;
  height: 22px !important;
  color: #0046be !important;
}
.bs-homepage .bs-pop-sub {
  font-size: 14px !important;
  color: #666 !important;
  margin: 0 !important;
}

/* Grid — single row, evenly spaced */
.bs-homepage .bs-pop-grid,
.bs-homepage .bs-cat-grid {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 12px !important;
  flex-wrap: nowrap !important;
}

/* Items */
.bs-homepage .bs-pop-item {
  flex: 1 1 0 !important;
  min-width: 90px !important;
  max-width: 150px !important;
  text-align: center !important;
  text-decoration: none !important;
  padding: 8px !important;
  border-radius: 12px !important;
  transition: all 0.2s ease !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

/* Hover on entire item */
.bs-homepage .bs-pop-item:hover {
  background: transparent !important;
}
.bs-homepage .bs-pop-item:hover .bs-pop-img {
  background: #f0f6ff !important;
  border-radius: 12px !important;
}

/* Image container — no circle */
.bs-homepage .bs-pop-img {
  width: 100% !important;
  height: 130px !important;
  margin: 0 auto 8px auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  border: none !important;
  padding: 8px !important;
}

/* Images — bigger */
.bs-homepage .bs-pop-img img {
  max-width: 100% !important;
  max-height: 120px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  transition: transform 0.2s ease !important;
}

/* Image hover — subtle scale */
.bs-homepage .bs-pop-item:hover .bs-pop-img img {
  transform: scale(1.08) !important;
}

/* Labels */
.bs-homepage .bs-pop-item span {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #1a1a1a !important;
  display: block !important;
  line-height: 1.3 !important;
}
.bs-homepage .bs-pop-item:hover span {
  color: #0046be !important;
}

/* Shop All — smaller circle, centered */
.bs-homepage .bs-shop-all {
  flex: 1 1 0 !important;
  min-width: 90px !important;
  max-width: 150px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: 8px !important;
}
.bs-homepage .bs-shop-all .bs-pop-img {
  width: 70px !important;
  height: 70px !important;
  background: #0046be !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 30px auto 8px auto !important;
  transition: all 0.2s ease !important;
}
.bs-homepage .bs-shop-all .bs-pop-img svg {
  width: 28px !important;
  height: 28px !important;
  color: #fff !important;
}
.bs-homepage .bs-shop-all:hover .bs-pop-img {
  background: #003399 !important;
  transform: scale(1.08) !important;
}
.bs-homepage .bs-shop-all span {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #1a1a1a !important;
}
.bs-homepage .bs-shop-all:hover span {
  color: #0046be !important;
}

/* Responsive */
@media (max-width:992px) {
  .bs-homepage .bs-pop-grid,
  .bs-homepage .bs-cat-grid {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }
  .bs-homepage .bs-pop-item {
    flex: 0 0 calc(25% - 10px) !important;
    max-width: calc(25% - 10px) !important;
  }
}
@media (max-width:768px) {
  .bs-homepage .bs-section-best-selling.row {
    flex-direction: column !important;
  }
}
@media (max-width:576px) {
  .bs-homepage .bs-pop-item {
    flex: 0 0 calc(33.33% - 8px) !important;
    max-width: calc(33.33% - 8px) !important;
  }
  .bs-homepage .bs-pop-img {
    height: 100px !important;
  }
  .bs-homepage .bs-pop-img img {
    max-height: 90px !important;
  }
}


/* ═══ FIX TWO-COLUMN PRODUCT SECTIONS ═══ */
.bs-homepage .bs-two-col {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}

.bs-homepage .bs-two-col > div {
  overflow:hidden;
}

.bs-homepage .bs-two-col .wd-products-element {
  width:100%;
}

.bs-homepage .bs-two-col .products.wd-products {
  /* column count left to shortcode columns param */
}

.bs-homepage .bs-two-col .wd-product {
  min-width:0;
}

/* ═══ V2 HOMEPAGE HERO SLIDER ═══ */
body.page-id-18233 .wd-slider .wd-slide {
  background: linear-gradient(135deg, #0046be 35%, #0078c8 60%, #00a8b5 100%) !important;
}

body.page-id-18233 .wd-slider .wd-slide .container {
  position: relative;
  z-index: 2;
}

/* Best Selling / Top Rated — images fill container */
.bs-homepage .bs-section-best-selling .bs-pop-item {
  min-width: 100px !important;
  max-width: 140px !important;
}
.bs-homepage .bs-section-best-selling .bs-pop-img {
  height: 120px !important;
  padding: 8px !important;
}
.bs-homepage .bs-section-best-selling .bs-pop-img img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100px !important;
  max-height: 100px !important;
  object-fit: contain !important;
}

/* ═══ SHOP BY CATEGORY — Card ═══ */
.bs-homepage .bs-cat-card {
  background: #fff !important;
  border-radius: 16px !important;
  padding: 24px 32px !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08) !important;
}

/* ═══ GLOBAL SECTION SPACING ═══ */
.bs-homepage .row {
  margin-bottom: 32px !important;
}
.bs-homepage .row .row {
  margin-bottom: 0 !important;
}

@media (max-width: 992px) {
  .bs-homepage .row {
    margin-bottom: 24px !important;
  }
}

@media (max-width: 576px) {
  .bs-homepage .row {
    margin-bottom: 20px !important;
  }
}

/* ============================================================
   PRODUCT PAGE LAYOUT (from Customizer CSS post 10832)
   Highlights (row 1) + Two-column content (row 2)
   ============================================================ */

.product-layout {
  display: grid;
  grid-template-columns: 1fr 480px;
  grid-template-rows: auto 1fr;
  gap: 30px;
  align-items: start;
  font-family: "Inter", Arial, sans-serif;
  color: #222;
  line-height: 1.6;
  margin: 20px 0;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
}

.product-highlights {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin: 0;
  padding: 0;
  align-items: flex-start;
  box-sizing: border-box;
}

.product-highlights:empty {
  display: none;
}

.product-description {
  grid-column: 1 / 2;
  grid-row: 2 / 3;
  flex: none;
  min-width: 320px;
  max-width: 100%;
  overflow: visible;
  padding-right: 8px;
  white-space: pre-line;
  box-sizing: border-box;
}

.product-specs {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
  flex: none;
  min-width: 300px;
  max-width: 420px;
  background: #fff;
  border-radius: 10px;
  padding: 25px 20px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
}

.product-description h2,
.product-specs h2 {
  font-weight: 700;
  display: inline-block;
  padding-bottom: 4px;
  border-bottom: 2px solid #0073aa;
  margin-bottom: 16px;
}
.product-description h2 { font-size: 1.5rem; }
.product-specs h2 { font-size: 1.4rem; margin-bottom: 20px; }

.product-highlights > h2 {
  grid-column: 1 / -1;
  width: 100%;
  margin: 0 0 12px 0;
  font-size: 1.25rem;
  font-weight: 700;
  color: #222;
  border-bottom: 2px solid #0073aa;
  padding-bottom: 8px;
}

/* Highlight cards */
.highlight-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 10px 12px;
  min-width: 80px;
  max-width: 120px;
  flex: 1 1 120px;
  box-sizing: border-box;
  background: #f9fafc;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.05);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.highlight-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}
.highlight-emoji { font-size: 22px; margin-bottom: 4px; color: #0073aa; }
.highlight-title { font-size: 14px; font-weight: 600; color: #005999; margin-bottom: 3px; }
.highlight-desc { font-size: 13px; color: #222; }

/* Highlights grid (horizontal bar style) */
.highlights-grid {
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
  border: 1px solid #d0d0d0;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.hb-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1 1 0;
  padding: 26px 8px;
  text-align: center;
  border-right: 1px solid #e0e0e0;
  background: #fff;
  transition: background 0.15s;
  min-width: 0;
}
.hb-item:last-child { border-right: none; }
.hb-item:hover { background: #f5f8ff; }
.hb-icon { width: 46px; height: 46px; object-fit: contain; margin-bottom: 12px; filter: brightness(0) saturate(100%); }
.hb-label { font-size: 10px; font-weight: 700; color: #888; text-transform: uppercase; letter-spacing: 0.8px; margin-bottom: 6px; }
.hb-value { font-size: 14px; font-weight: 800; color: #111; line-height: 1.3; }

/* Spec table */
.spec-table {
  width: 100%;
  border-collapse: collapse;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 20px;
  font-size: 0.95rem;
  table-layout: fixed;
  box-sizing: border-box;
}
.spec-table td {
  padding: 12px 15px;
  border-bottom: 1px solid #eaeaea;
  vertical-align: top;
  word-break: break-word;
  box-sizing: border-box;
}
.spec-table td:first-child {
  font-weight: 600;
  color: #333;
  width: 48%;
  white-space: normal;
}
.spec-table td:last-child {
  color: #555;
  width: 52%;
  text-align: left;
}
.spec-table tr:nth-child(odd) { background-color: #ffffff; }
.spec-table tr:nth-child(even) { background-color: #f8fafc; }
.spec-table tr > td:only-child {
  text-align: left !important;
  width: 100% !important;
  font-weight: 700;
  color: #0073aa;
  padding: 12px 15px;
}
.product-specs .spec-table {
  border-radius: 10px;
  overflow: hidden;
}

/* Box-sizing safety */
.product-layout,
.product-specs,
.product-description,
.spec-table,
.spec-table td {
  box-sizing: border-box;
}
.product-description { min-width: 0; }

/* Product image size control */
.woocommerce-product-gallery {
  max-width: 600px !important;
}

/* WoodMart thumbnail styling */
.wd-gallery-thumb .wd-carousel-item {
  height: auto !important;
  display: block !important;
  border: 2px solid #e0e0e0 !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: border-color 0.2s !important;
  background: #f9f9f9 !important;
  margin-bottom: 4px !important;
}
.wd-gallery-thumb .wd-carousel-item:hover,
.wd-gallery-thumb .wd-carousel-item.wd-active {
  border-color: #0060df !important;
}
.wd-gallery-thumb .wd-carousel-item img {
  width: 100% !important;
  height: 70px !important;
  object-fit: contain !important;
  padding: 4px !important;
  background: #f9f9f9 !important;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1200px) {
  .product-layout { gap: 24px; grid-template-columns: 1fr 480px; }
  .product-specs { min-width: 300px; max-width: 380px; padding: 20px 18px; }
}
@media (max-width: 992px) {
  .product-layout { gap: 20px; grid-template-columns: 1fr 340px; }
  .product-specs { min-width: 300px; max-width: 360px; padding: 18px 16px; }
  .spec-table td { padding: 10px 12px; }
  .product-description { min-width: 260px; }
}
@media (max-width: 768px) {
  .product-layout {
    grid-template-columns: 1fr 320px;
    gap: 16px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .product-specs { flex: none; min-width: 300px; max-width: 320px; padding: 16px; }
  .product-description { min-width: 240px; }
  .product-specs h2 { font-size: 1.3rem; }
  .product-specs h3 { font-size: 1rem; }
}
@media (max-width: 480px) {
  .product-layout { gap: 12px; grid-template-columns: 1fr 280px; }
  .product-specs { min-width: 260px; max-width: 280px; padding: 14px 12px; }
  .spec-table td { padding: 8px 10px; font-size: 0.9rem; }
  .product-description { min-width: 220px; font-size: 0.95rem; }
  .product-specs h2 { font-size: 1.25rem; }
  .product-specs h3 { font-size: 0.95rem; }
}
