/*
 Theme Name:   Arif Book and shop
 Author:       Ariful Islam BD
 Description:  Custom book shop theme for Itminan Publications. Built on Hello Elementor (by Elementor Team, GPL v3 or later).
 Version:      1.2.0
 License:      GNU General Public License v3 or later
 License URI:  https://www.gnu.org/licenses/gpl-3.0.html
 Text Domain:  hello-elementor
*/

/* =====================================================
   ছবির সাইজ ঠিক করা / Fix Image Sizes
   ===================================================== */
img{max-width:100% !important;height:auto;}

/* =====================================================
   ফ্লোটিং বাটন — WhatsApp + কার্ট
   Floating Buttons — WhatsApp + Cart
   ===================================================== */
.bs-floating{position:fixed;right:20px;bottom:20px;z-index:9990;display:flex;flex-direction:column;gap:14px;}
.bs-float-btn{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.25);position:relative;transition:transform .2s;text-decoration:none;}
.bs-float-btn:hover{transform:scale(1.08);}
/* WhatsApp রঙ / WhatsApp color */
.bs-float-wa{background:#25D366;}
/* কার্ট রঙ / Cart color */
.bs-float-cart{background:#6d28d9;}
/* কার্ট সংখ্যা ব্যাজ / Cart count badge */
.bs-cart-count{position:absolute;top:-4px;right:-4px;background:#f59e0b;color:#fff;font-size:.72rem;font-weight:700;min-width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0 4px;}

/* =====================================================
   কার্ট ড্রয়ার (ডান থেকে স্লাইড)
   Cart Drawer (slides from right)
   ===================================================== */
/* ওভারলে / Overlay */
.bs-cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);opacity:0;visibility:hidden;transition:.3s;z-index:9991;}
.bs-cart-overlay.open{opacity:1;visibility:visible;}
/* ড্রয়ার বক্স / Drawer box */
.bs-cart-drawer{position:fixed;top:0;right:-420px;width:400px;max-width:95vw;height:100%;background:#fff;z-index:9992;box-shadow:-4px 0 30px rgba(0,0,0,.15);transition:right .35s ease;display:flex;flex-direction:column;}
.bs-cart-drawer.open{right:0;}
/* হেড / Head */
.bs-cart-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#fff;border-bottom:1px solid #f3f4f6;}
.bs-cart-drawer__head h3{margin:0;font-size:1rem;font-weight:700;color:#1f2937;}
/* বন্ধ বাটন / Close button */
.bs-cart-close{background:#f3f4f6;border:none;color:#1f2937;font-size:1.2rem;cursor:pointer;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.bs-cart-close:hover{background:#e5e7eb;}
/* বডি / Body */
.bs-cart-drawer__body{flex:1;overflow-y:auto;padding:12px 16px;}
.bs-cart-drawer__body .woocommerce-mini-cart__empty-message{text-align:center;color:#9ca3af;padding:40px 0;}
/* প্রতিটা পণ্য / Each product */
.bs-cart-drawer__body .mini_cart_item{display:grid;grid-template-columns:64px 1fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #f3f4f6;}
/* পণ্যের ছবি (ছোট) / Product image (small) */
.bs-cart-drawer__body .mini_cart_item img{width:64px !important;height:64px !important;max-width:64px !important;object-fit:cover;border-radius:8px;display:block;flex-shrink:0;}
/* পণ্যের নাম / Product name */
.bs-cart-drawer__body .mini_cart_item a:not(.remove_from_cart_button){font-weight:600;color:#1f2937;text-decoration:none;font-size:.85rem;display:block;margin-bottom:3px;line-height:1.3;}
.bs-cart-drawer__body .mini_cart_item .quantity,.bs-cart-drawer__body .mini_cart_item .woocommerce-Price-amount{font-size:.82rem;color:#6b7280;}
/* ডিলিট বাটন / Delete button */
.bs-cart-drawer__body .remove_from_cart_button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#fff0f0;color:#ef4444 !important;text-decoration:none;border:1.5px solid #fecaca;transition:.2s;flex-shrink:0;}
.bs-cart-drawer__body .remove_from_cart_button:hover{background:#ef4444;color:#fff !important;}
.bs-cart-drawer__body .remove_from_cart_button::before{content:"🗑";font-size:.85rem;}
/* Quantity কন্ট্রোল / Quantity controls */
.bs-qty-ctrl{display:flex;align-items:center;gap:8px;margin-top:6px;}
.bs-qty-minus,.bs-qty-plus{width:24px;height:24px;border-radius:50%;border:1.5px solid #e5e7eb;background:#fff;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#1f2937;line-height:1;padding:0;}
.bs-qty-minus:hover,.bs-qty-plus:hover{background:#f3f4f6;}
.bs-qty-num{font-weight:600;font-size:.9rem;min-width:18px;text-align:center;}
/* ফুটার / Footer */
.bs-cart-drawer__footer{padding:16px 20px;border-top:1px solid #f3f4f6;background:#fff;}
.bs-cart-drawer__footer .woocommerce-mini-cart__total{display:flex;justify-content:space-between;font-weight:700;font-size:1rem;margin-bottom:12px;color:#1f2937;}
/* চেকআউট বাটন গোলাপি / Pink checkout button */
.bs-cart-drawer__checkout{display:block;text-align:center;padding:13px;background:#ec4899;color:#fff;border-radius:8px;font-weight:700;text-decoration:none;font-size:.95rem;margin-bottom:8px;}
.bs-cart-drawer__checkout:hover{background:#db2777;color:#fff;}
/* কার্ট দেখুন বাটন / View cart button */
.bs-cart-drawer__view{display:block;text-align:center;padding:11px;border:1.5px solid #e5e7eb;color:#1f2937;border-radius:8px;font-weight:600;text-decoration:none;font-size:.9rem;}
.bs-cart-drawer__view:hover{background:#f9fafb;}
/* WooCommerce View cart লিংক ড্রয়ার খুলবে / WC view cart opens drawer */
a.added_to_cart{color:#6d28d9 !important;font-weight:600;font-size:.88rem;text-decoration:none !important;cursor:pointer;}
a.added_to_cart:hover{color:#2e3192 !important;}
/* মোবাইলে ছোট ছবি / Smaller image on mobile */
@media(max-width:480px){
  .bs-cart-drawer__body .mini_cart_item img{width:48px !important;height:48px !important;max-width:48px !important;}
}

/* =====================================================
   হেডার / Header
   ===================================================== */
.bs-header{background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.06);position:sticky;top:0;z-index:999;}
.bs-header__inner{max-width:1180px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;gap:24px;}
/* লোগো / Logo */
.bs-header__logo img{max-height:50px;width:auto;display:block;}
/* মেনু / Menu */
.bs-header__nav{flex:1;}
.bs-menu{list-style:none;display:flex;gap:26px;margin:0;padding:0;}
.bs-menu a{text-decoration:none;color:#1f2937;font-weight:600;}
.bs-menu a:hover{color:#6d28d9;}
/* আইকন গ্রুপ / Icon group */
.bs-header__icons{display:flex;align-items:center;gap:6px;margin-left:auto;}
.bs-icon-btn{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:#1f2937;position:relative;transition:.2s;}
.bs-icon-btn svg{width:22px;height:22px;}
.bs-icon-btn:hover{background:#f3f0ff;color:#6d28d9;}
.bs-header-cart-count{position:absolute;top:2px;right:0;background:#f59e0b;color:#fff;font-size:.65rem;font-weight:700;min-width:17px;height:17px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
/* সার্চ বার / Search bar */
.bs-search-bar{max-height:0;overflow:hidden;transition:max-height .3s;background:#faf7ff;border-top:1px solid #eee;}
.bs-search-bar.open{max-height:80px;}
.bs-search-bar form{max-width:1180px;margin:0 auto;padding:14px 20px;display:flex;gap:10px;}
.bs-search-bar input[type=search]{flex:1;border:1.5px solid #e5e7eb;border-radius:999px;padding:10px 18px;outline:none;font-size:.95rem;}
.bs-search-bar button{background:#6d28d9;color:#fff;border:none;border-radius:999px;padding:0 26px;font-weight:600;cursor:pointer;}
/* হ্যামবার্গার / Hamburger */
.bs-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;}
.bs-hamburger span{width:24px;height:2px;background:#1f2937;border-radius:2px;transition:.3s;}
/* মোবাইল হেডার / Mobile header */
@media(max-width:900px){
  .bs-header__inner{flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;}
  .bs-hamburger{display:flex;order:1;flex-shrink:0;}
  .bs-header__logo{order:2;flex:1;}
  .bs-header__logo img{max-height:38px;}
  .bs-header__icons{order:3;flex-shrink:0;gap:2px;}
  .bs-icon-btn{width:34px;height:34px;}
  .bs-icon-btn svg{width:19px;height:19px;}
  .bs-header__nav{order:4;flex-basis:100%;width:100%;max-height:0;overflow:hidden;transition:max-height .3s;}
  .bs-header__nav.open{max-height:300px;}
  .bs-menu{flex-direction:column;gap:0;width:100%;}
  .bs-menu li{border-top:1px solid #eee;}
  .bs-menu a{display:block;padding:12px 8px;}
}

/* =====================================================
   ফুটার / Footer
   ===================================================== */
.bs-footer{background:#1e3a8a;color:#dbeafe;margin-top:60px;}
.bs-footer__inner{max-width:1180px;margin:0 auto;padding:50px 20px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;}
.bs-footer__logo{max-height:50px;margin-bottom:16px;background:#fff;padding:6px 10px;border-radius:8px;}
.bs-footer__col h4{color:#fff;font-size:1.1rem;margin:0 0 16px;}
.bs-footer__col p{line-height:1.7;font-size:.92rem;}
.bs-footer__col ul{list-style:none;margin:0;padding:0;}
.bs-footer__col ul li{margin-bottom:10px;}
.bs-footer__col ul a{color:#dbeafe;text-decoration:none;}
.bs-footer__col ul a:hover{color:#fff;}
.bs-footer__contact li{font-size:.92rem;margin-bottom:12px;}
.bs-footer__bottom{border-top:1px solid rgba(255,255,255,.15);text-align:center;padding:18px;font-size:.85rem;}
@media(max-width:768px){.bs-footer__inner{grid-template-columns:1fr;gap:30px;}}

/* =====================================================
   হোম পেজ / Home Page
   ===================================================== */
:root{--bs-primary:#6d28d9;--bs-accent:#f59e0b;--bs-pink:#ec4899;--bs-bg:#faf7ff;--bs-text:#1f2937;--bs-muted:#6b7280;--bs-radius:16px;}
#bookstore-home{color:var(--bs-text);}
.bs-container{max-width:1180px;margin:0 auto;padding:0 20px;}
.bs-section{padding:64px 0;}
.bs-section--alt{background:var(--bs-bg);}
.bs-section__head{text-align:center;margin-bottom:40px;}
.bs-section__title{font-size:2rem;font-weight:800;margin:0 0 8px;}
.bs-section__sub{color:var(--bs-muted);margin:0;}
.bs-section__more{text-align:center;margin-top:40px;}
/* হিরো ব্যানার / Hero banner */
.bs-hero{background:linear-gradient(135deg,rgba(109,40,217,.85),rgba(236,72,153,.75) 60%,rgba(245,158,11,.7)),url('https://itminanpublications.com/wp-content/uploads/2025/04/481974653_613684381649515_4044221127016232339_n.jpg');background-size:cover;background-position:center;color:#fff;
  /* ছোট ও সাজানো ব্যানার: দুই পাশে ফাঁকা রেখে, গোল কোণা */
  width:calc(100% - 32px);max-width:1180px;margin:20px auto 0;border-radius:18px;padding:40px 44px;overflow:hidden;}
.bs-hero__inner{max-width:1180px;margin:0 auto;}
.bs-hero__badge{display:inline-block;background:rgba(255,255,255,.2);padding:5px 14px;border-radius:999px;font-size:.82rem;margin-bottom:12px;}
.bs-hero__title{font-size:2.1rem;line-height:1.25;font-weight:800;margin:0 0 10px;max-width:600px;}
.bs-hero__text{font-size:1rem;opacity:.95;margin:0 0 20px;max-width:560px;}
.bs-hero + .bs-section{padding-top:44px;}
/* বাটন / Buttons */
.bs-btn{display:inline-block;padding:12px 28px;border-radius:999px;font-weight:600;text-decoration:none;transition:.2s;}
.bs-btn--light{background:#fff;color:var(--bs-primary);}
.bs-btn--light:hover{transform:translateY(-2px);}
.bs-btn--primary{background:var(--bs-primary);color:#fff;}
.bs-btn--primary:hover{background:#5b21b6;}
.bs-btn--small{background:var(--bs-accent);color:#fff;padding:8px 18px;font-size:.9rem;}
.bs-btn--small:hover{background:#d97706;}
/* ক্যাটাগরি গ্রিড / Category grid */
/* স্লাইডার: মোবাইলে সোয়াইপ, ডেস্কটপে টেনে স্ক্রল + অ্যারো; পুরো পেজ ডানে-বামে সরে না */
.bs-cat-slider{position:relative;}
.bs-cat-track{position:relative;display:flex;gap:18px;overflow-x:auto;overflow-y:hidden;padding:6px 4px 18px;scroll-snap-type:x proximity;scroll-padding:0 4px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none;cursor:grab;outline:none;}
.bs-cat-track::-webkit-scrollbar{display:none;}
.bs-cat-track.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto;user-select:none;}
.bs-cat-card{flex:0 0 auto;width:210px;display:flex;flex-direction:column;align-items:stretch;text-decoration:none;color:var(--bs-text);text-align:center;scroll-snap-align:start;transition:transform .2s;-webkit-user-drag:none;}
.bs-cat-card:hover{transform:translateY(-4px);}
.bs-cat-card__media{position:relative;display:block;aspect-ratio:1/1;border-radius:var(--bs-radius);overflow:hidden;background:#fff;border:1px solid #ece8f5;box-shadow:0 6px 18px rgba(0,0,0,.07);}
.bs-cat-card:hover .bs-cat-card__media{box-shadow:0 12px 26px rgba(109,40,217,.18);}
/* পুরো ছবি দেখা যাবে (কাটা পড়বে না) */
.bs-cat-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;padding:8px 8px 44px;-webkit-user-drag:none;}
.bs-cat-card__noimg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:3rem;padding-bottom:36px;background:var(--cat-bg,#ede9fe);}
/* নাম: ছবির উপরে, নিচের দিকে, হালকা রঙের পেছনে */
.bs-cat-card__name{position:absolute;left:8px;right:8px;bottom:8px;background:var(--cat-bg,#ede9fe);color:#1f2937;font-weight:700;font-size:.95rem;line-height:1.3;padding:8px 10px;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.bs-cat-card__count{font-size:.8rem;color:var(--bs-muted);margin-top:8px;}
.bs-cat-slider .bs-cat-nav{position:absolute;top:calc(50% - 22px);z-index:3;width:42px;height:42px;min-width:0;border-radius:50%;border:0;background:#fff;color:var(--bs-primary);font-size:1.8rem;line-height:1;box-shadow:0 4px 14px rgba(0,0,0,.2);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0 0 4px;transition:.2s;}
.bs-cat-slider .bs-cat-nav:hover:not(:disabled){background:var(--bs-primary);color:#fff;}
.bs-cat-slider .bs-cat-nav:disabled{opacity:0;pointer-events:none;}
.bs-cat-slider .bs-cat-nav--prev{left:-14px;}
.bs-cat-slider .bs-cat-nav--next{right:-14px;}
.bs-cat-slider.is-static .bs-cat-nav{display:none;}
@media(max-width:1260px){.bs-cat-slider .bs-cat-nav--prev{left:4px;}.bs-cat-slider .bs-cat-nav--next{right:4px;}}
/* বইয়ের গ্রিড / Book grid */
.bs-book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px;}
.bs-book-card{background:#fff;border-radius:var(--bs-radius);overflow:hidden;box-shadow:0 4px 14px rgba(0,0,0,.06);transition:.2s;}
.bs-book-card:hover{transform:translateY(-6px);box-shadow:0 14px 30px rgba(0,0,0,.12);}
.bs-book-card__img{display:block;position:relative;}
.bs-book-card__img img{width:100%;height:280px;object-fit:cover;display:block;}
.bs-book-card__noimg{height:280px;display:flex;align-items:center;justify-content:center;font-size:4rem;background:var(--bs-bg);}
.bs-book-card__tag{position:absolute;top:12px;left:12px;background:var(--bs-pink);color:#fff;padding:4px 12px;border-radius:999px;font-size:.75rem;font-weight:600;z-index:2;}
.bs-book-card__body{padding:16px;text-align:center;}
.bs-book-card__title{font-size:1.05rem;font-weight:700;margin:0 0 8px;}
.bs-book-card__title a{color:var(--bs-text);text-decoration:none;}
.bs-book-card__title a:hover{color:var(--bs-primary);}
.bs-book-card__price{display:block;color:var(--bs-primary);font-weight:700;margin-bottom:12px;}
@media(max-width:640px){
  .bs-hero{width:calc(100% - 24px);margin-top:12px;border-radius:14px;padding:26px 18px;}
  .bs-hero__badge{font-size:.75rem;padding:4px 12px;margin-bottom:10px;}
  .bs-hero__title{font-size:1.45rem;margin-bottom:8px;}
  .bs-hero__text{font-size:.9rem;margin-bottom:16px;}
  .bs-hero .bs-btn{padding:9px 22px;font-size:.92rem;}
  .bs-hero + .bs-section{padding-top:28px;}
  .bs-section__title{font-size:1.6rem;}
  .bs-section__head{margin-bottom:24px;}
  .bs-cat-card{width:158px;}
  .bs-cat-card__name{font-size:.85rem;padding:6px 8px;left:6px;right:6px;bottom:6px;}
  .bs-cat-card__media img{padding:6px 6px 40px;}
  .bs-cat-slider .bs-cat-nav{display:none;}
}
@media(min-width:641px) and (max-width:1024px){
  .bs-hero{padding:34px 32px;}
  .bs-cat-card{width:185px;}
}

/* =====================================================
   শপ পেজ / Shop Page
   ===================================================== */
#bs-shop{padding:40px 0 60px;background:#f7f6fc;}
.bs-shop__layout{display:grid;grid-template-columns:290px 1fr;gap:32px;align-items:start;}
/* সাইডবার / Sidebar */
/* সাইডবার: ক্যাটাগরি ফিল্টার (ছবি + নাম + চেকবক্স) */
.bs-shop__sidebar{background:#fff;border:1px solid #ece8f5;border-radius:18px;box-shadow:0 8px 24px rgba(46,49,146,.08);padding:18px;position:sticky;top:90px;max-height:calc(100vh - 110px);overflow:auto;}
.bs-shop__sidebar .bs-cf__toggle{display:none;}
.bs-shop__sidebar .bs-cf__head{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px;}
.bs-shop__sidebar .bs-cf__head h3{margin:0;font-size:1.15rem;color:#1f2937;font-weight:800;}
.bs-shop__sidebar .bs-cf__clear{font-size:.82rem;color:#6d28d9;text-decoration:none;font-weight:600;}
.bs-shop__sidebar .bs-cf__clear:hover{text-decoration:underline;}
.bs-shop__sidebar .bs-cf__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;}
.bs-shop__sidebar .bs-cf__list li{margin:0;}
.bs-shop__sidebar .bs-cf__item{position:relative;display:flex;align-items:center;gap:10px;padding:8px 10px;border:1.5px solid transparent;border-radius:12px;cursor:pointer;background:#faf9fd;transition:.15s;margin:0;}
.bs-shop__sidebar .bs-cf__item:hover{background:#f3effd;}
.bs-shop__sidebar .bs-cf__item.is-checked{background:#ede9fe;border-color:#6d28d9;}
.bs-shop__sidebar .bs-cf__item input{position:absolute;opacity:0;width:1px;height:1px;margin:0;}
.bs-shop__sidebar .bs-cf__box{flex:0 0 22px;width:22px;height:22px;border:2px solid #c4b5fd;border-radius:7px;background:#fff;display:flex;align-items:center;justify-content:center;color:transparent;transition:.15s;}
.bs-shop__sidebar .bs-cf__item.is-checked .bs-cf__box{background:#6d28d9;border-color:#6d28d9;color:#fff;}
.bs-shop__sidebar .bs-cf__item input:focus-visible ~ .bs-cf__box{outline:3px solid rgba(109,40,217,.35);outline-offset:2px;}
.bs-shop__sidebar .bs-cf__thumb{flex:0 0 46px;width:46px;height:46px;border-radius:10px;background:#fff;border:1px solid #ece8f5;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:1.3rem;}
.bs-shop__sidebar .bs-cf__thumb img{width:100%;height:100%;object-fit:contain;display:block;}
.bs-shop__sidebar .bs-cf__name{flex:1;min-width:0;font-size:.92rem;font-weight:600;color:#1f2937;line-height:1.3;overflow-wrap:anywhere;}
.bs-shop__sidebar .bs-cf__count{flex:0 0 auto;background:#fff;color:#6d28d9;font-size:.75rem;font-weight:700;padding:2px 9px;border-radius:999px;border:1px solid #ddd6fe;}
.bs-shop__sidebar .bs-cf__item.is-checked .bs-cf__count{background:#6d28d9;color:#fff;border-color:#6d28d9;}
.bs-shop__sidebar .bs-cf__apply{display:none;width:100%;margin-top:12px;padding:12px;border:0;border-radius:999px;background:linear-gradient(135deg,#ec4899,#6d28d9);color:#fff;font-weight:700;font-size:.95rem;cursor:pointer;}
.bs-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.bs-chips .bs-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:#ede9fe;color:#4c1d95;font-size:.85rem;font-weight:600;text-decoration:none;}
.bs-chips .bs-chip:hover{background:#ddd6fe;}
.bs-chips .bs-chip--clear{background:transparent;color:#6b7280;text-decoration:underline;}
.bs-shop__head{margin-bottom:24px;}
.bs-shop__title{font-size:2.2rem;font-weight:800;margin:0 0 8px;color:#1f2937;}
.bs-shop__desc{color:#6b7280;}
.bs-shop__bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:28px;padding-bottom:16px;border-bottom:1px solid #eee;}
.bs-shop__bar .woocommerce-result-count{margin:0;color:#6b7280;}
.bs-shop__bar select{padding:8px 14px;border:1.5px solid #e5e7eb;border-radius:10px;}
/* বইয়ের কার্ড গ্রিড / Book card grid */
.bs-shop__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:28px;}
.bs-card{background:#fff;border-radius:18px;box-shadow:0 4px 16px rgba(0,0,0,.07);overflow:hidden;transition:.25s;display:flex;flex-direction:column;border:1px solid #f0f0f0;}
.bs-card:hover{transform:translateY(-6px);box-shadow:0 16px 34px rgba(0,0,0,.13);}
.bs-card__img{display:block;position:relative;}
.bs-card__img img{width:100%;height:320px;object-fit:cover;display:block;}
.bs-card__badge{position:absolute;top:14px;left:14px;background:rgba(0,0,0,.6);color:#fff;font-size:.78rem;font-weight:700;padding:4px 10px;border-radius:8px;z-index:2;}
.bs-card__body{padding:16px;display:flex;flex-direction:column;flex:1;}
.bs-card__title{font-size:1rem;font-weight:700;margin:0 0 8px;line-height:1.4;}
.bs-card__title a{color:#1f2937;text-decoration:none;}
.bs-card__title a:hover{color:#6d28d9;}
.bs-card__rating{margin-bottom:8px;}
.bs-card__price{color:#1f2937;font-weight:700;margin-bottom:14px;margin-top:auto;}
.bs-card__price del{color:#9ca3af;font-weight:400;margin-right:6px;}
.bs-card__price ins{text-decoration:none;}
.bs-card__actions{display:flex;gap:8px;align-items:center;}
.bs-card__buy{flex:1;text-align:center;background:linear-gradient(135deg,#ec4899,#6d28d9);color:#fff;border-radius:999px;font-weight:600;padding:10px;text-decoration:none;transition:.2s;}
.bs-card__buy:hover{opacity:.9;}
.bs-card__cart{width:44px;height:44px;flex-shrink:0;border:1.5px solid #2e3192;background:#2e3192;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;transition:.2s;}
.bs-card__cart:hover{background:#23266e;border-color:#23266e;}
/* পেজিনেশন / Pagination */
.bs-shop__pagination{margin-top:40px;text-align:center;}
.bs-shop__pagination ul{display:inline-flex;list-style:none;gap:6px;padding:0;}
.bs-shop__pagination a,.bs-shop__pagination span{display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;border-radius:10px;border:1.5px solid #e5e7eb;text-decoration:none;color:#1f2937;}
.bs-shop__pagination .current{background:#6d28d9;color:#fff;border-color:#6d28d9;}
/* শপ মোবাইল / Shop mobile */
@media(max-width:768px){
  .bs-shop__layout{grid-template-columns:1fr;gap:20px;}
  .bs-shop__sidebar{position:static;max-height:none;overflow:visible;padding:10px;border-radius:14px;box-shadow:0 2px 10px rgba(0,0,0,.08);}
  .bs-shop__sidebar .bs-cf__toggle{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;border:1.5px solid #ddd6fe;border-radius:12px;background:#f5f3ff;color:#4c1d95;font-weight:700;font-size:.98rem;cursor:pointer;text-align:left;}
  .bs-shop__sidebar .bs-cf__toggle-text{flex:1;}
  .bs-shop__sidebar .bs-cf__badge{background:#6d28d9;color:#fff;font-size:.78rem;min-width:22px;height:22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;}
  .bs-shop__sidebar .bs-cf__badge[hidden]{display:none;}
  .bs-shop__sidebar .bs-cf__chev{transition:transform .2s;}
  .bs-cf.is-open .bs-cf__chev{transform:rotate(180deg);}
  .bs-cf__panel{display:none;padding-top:12px;}
  .bs-cf.is-open .bs-cf__panel{display:block;}
  .bs-shop__sidebar .bs-cf__head{display:none;}
  .bs-shop__sidebar .bs-cf__list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;}
  .bs-shop__sidebar .bs-cf__item{flex-direction:column;text-align:center;padding:12px 8px 10px;gap:6px;height:100%;}
  .bs-shop__sidebar .bs-cf__box{position:absolute;top:8px;left:8px;width:20px;height:20px;flex:none;}
  .bs-shop__sidebar .bs-cf__thumb{flex:none;width:64px;height:64px;}
  .bs-shop__sidebar .bs-cf__name{font-size:.85rem;flex:none;}
  .bs-shop__sidebar .bs-cf__apply{display:block;position:sticky;bottom:8px;box-shadow:0 6px 16px rgba(109,40,217,.35);}
  .bs-shop__grid{grid-template-columns:repeat(2,1fr);gap:12px;}
  .bs-card__img img{height:180px;}
  .bs-card__body{padding:10px;}
  .bs-card__title{font-size:.85rem;}
  .bs-card__price{font-size:.9rem;margin-bottom:10px;}
  .bs-card__buy{font-size:.78rem;padding:7px 4px;}
  .bs-card__cart{width:36px;height:36px;}
}
@media(max-width:420px){
  .bs-shop__grid{gap:10px;}
  .bs-card__img img{height:150px;}
  .bs-card__actions{flex-direction:column;gap:6px;}
  .bs-card__buy{width:100%;}
  .bs-card__cart{width:100%;border-radius:999px;height:36px;}
}

/* =====================================================
   সিঙ্গেল প্রোডাক্ট পেজ / Single Product Page
   ===================================================== */
#bs-single{padding:40px 0 60px;background:#f7f6fc;}
.bs-single__wrap{display:grid;grid-template-columns:1fr 1fr;gap:48px;background:#fff;border-radius:20px;padding:32px;box-shadow:0 4px 20px rgba(0,0,0,.06);}
.bs-single__gallery{position:relative;}
.bs-single__gallery img{width:100%;border-radius:16px;display:block;}
.bs-single__noimg{height:420px;display:flex;align-items:center;justify-content:center;font-size:6rem;background:#faf7ff;border-radius:16px;}
.bs-single__sale{position:absolute;top:18px;left:18px;background:#f59e0b;color:#fff;font-weight:700;padding:6px 16px;border-radius:999px;font-size:.85rem;}
.bs-single__title{font-size:2rem;font-weight:800;color:#1f2937;margin:0 0 14px;line-height:1.3;}
.bs-single__rating{margin-bottom:14px;}
.bs-single__price{font-size:1.8rem;font-weight:800;color:#2e3192;margin-bottom:20px;}
.bs-single__price del{color:#9ca3af;font-size:1.2rem;font-weight:400;margin-right:10px;}
.bs-single__price ins{text-decoration:none;}
.bs-single__desc{color:#4b5563;line-height:1.7;margin-bottom:24px;}
.bs-single__cart{margin-bottom:14px;}
.bs-single__cart .quantity{margin-right:10px;}
.bs-single__cart .quantity input{width:70px;padding:12px;border:1.5px solid #e5e7eb;border-radius:10px;text-align:center;}
.bs-single__cart .single_add_to_cart_button{background:#2e3192 !important;color:#fff !important;border:none !important;border-radius:999px !important;font-weight:600 !important;padding:14px 34px !important;font-size:1rem !important;cursor:pointer;}
.bs-single__cart .single_add_to_cart_button:hover{background:#23266e !important;}
.bs-single__buy{display:block;text-align:center;width:100%;background:linear-gradient(135deg,#ec4899,#6d28d9);color:#fff;border-radius:999px;font-weight:700;padding:14px;text-decoration:none;font-size:1.05rem;transition:.2s;margin-bottom:14px;}
.bs-single__buy:hover{opacity:.9;}
.bs-single__meta{border-top:1px solid #eee;padding-top:18px;color:#6b7280;font-size:.92rem;}
.bs-single__meta p{margin:6px 0;}
.bs-single__meta a{color:#2e3192;text-decoration:none;}
.bs-single__tabs{background:#fff;border-radius:20px;padding:32px;margin-top:30px;box-shadow:0 4px 20px rgba(0,0,0,.06);}
.bs-single__tabs h2,.bs-single__related h2{font-size:1.5rem;font-weight:800;color:#1f2937;margin:0 0 18px;}
.bs-single__content{color:#4b5563;line-height:1.8;}
.bs-single__related{margin-top:40px;}
@media(max-width:768px){
  .bs-single__wrap{grid-template-columns:1fr;gap:24px;padding:20px;}
  .bs-single__title{font-size:1.5rem;}
  .bs-single__price{font-size:1.5rem;}
}

/* =====================================================
   "একটু পড়ে দেখুন" + PDF ভিউয়ার (পপ-আপ)
   ===================================================== */
.bs-single__imgwrap{position:relative;flex:1;min-width:0;}
.bs-has-peek{display:flex;gap:14px;align-items:stretch;}
/* বইয়ের ছবির পাশে লম্বালম্বি ট্যাব (ডেস্কটপ) */
.bs-single__gallery .bs-peek{flex:0 0 auto;align-self:center;display:flex;align-items:center;gap:10px;writing-mode:vertical-rl;transform:rotate(180deg);padding:18px 11px;border:0;border-radius:999px;background:linear-gradient(180deg,#6d28d9,#ec4899);color:#fff;font-weight:800;font-size:1.02rem;letter-spacing:.02em;cursor:pointer;box-shadow:0 8px 20px rgba(109,40,217,.35);transition:box-shadow .2s,filter .2s;}
.bs-single__gallery .bs-peek:hover{filter:brightness(1.08);box-shadow:0 10px 26px rgba(109,40,217,.5);}
.bs-single__gallery .bs-peek:focus-visible{outline:3px solid #fbbf24;outline-offset:3px;}
.bs-peek__icon{display:inline-flex;transform:rotate(180deg);animation:bsPeekWobble 2.8s ease-in-out infinite;}
.bs-peek__icon svg{display:block;filter:drop-shadow(0 2px 3px rgba(0,0,0,.25));}
@keyframes bsPeekWobble{0%,100%{transform:rotate(180deg) rotate(0deg);}50%{transform:rotate(180deg) rotate(-9deg);}}
@media(prefers-reduced-motion:reduce){.bs-peek__icon{animation:none;}}
@media(max-width:768px){
  .bs-has-peek{flex-direction:column;gap:12px;}
  .bs-has-peek .bs-single__imgwrap{order:1;}
  .bs-single__gallery .bs-peek{order:2;writing-mode:horizontal-tb;transform:none;flex-direction:row-reverse;justify-content:center;align-self:stretch;padding:12px 18px;background:linear-gradient(135deg,#6d28d9,#ec4899);font-size:1rem;}
  .bs-peek__icon{transform:none;animation:none;}
}
/* পপ-আপ */
html.bs-pv-lock,html.bs-pv-lock body{overflow:hidden;}
.bs-pv{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:rgba(17,24,39,.72);backdrop-filter:blur(3px);padding:18px;}
.bs-pv[hidden]{display:none;}
.bs-pv__box{background:#f3f4f6;border-radius:18px;width:100%;max-width:980px;height:min(94vh,900px);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.4);}
.bs-pv__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:linear-gradient(135deg,#2e3192,#6d28d9);color:#fff;}
.bs-pv__title{display:flex;flex-direction:column;min-width:0;line-height:1.3;}
.bs-pv__book{font-weight:800;font-size:1.02rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bs-pv__page{font-size:.8rem;opacity:.85;min-height:1em;}
.bs-pv .bs-pv__close{flex:0 0 auto;background:#fff;color:#b91c1c;border:0;border-radius:999px;padding:9px 18px;font-weight:800;font-size:.95rem;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.2);}
.bs-pv .bs-pv__close:hover{background:#fee2e2;}
.bs-pv__tabs{display:flex;align-items:center;gap:6px;padding:8px 10px;background:#fff;border-bottom:1px solid #e5e7eb;}
.bs-pv .bs-pv__nav{flex:0 0 34px;height:34px;border:1.5px solid #ddd6fe;border-radius:50%;background:#faf7ff;color:#6d28d9;font-size:1.4rem;line-height:1;cursor:pointer;padding:0 0 3px;}
.bs-pv__tablist{flex:1;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px;}
.bs-pv__tablist::-webkit-scrollbar{display:none;}
.bs-pv .bs-pv__tab{flex:0 0 auto;border:1.5px solid #e5e7eb;border-radius:999px;background:#fff;color:#374151;padding:7px 16px;font-weight:700;font-size:.9rem;cursor:pointer;white-space:nowrap;}
.bs-pv .bs-pv__tab:hover{border-color:#a78bfa;}
.bs-pv .bs-pv__tab.is-active{background:#6d28d9;border-color:#6d28d9;color:#fff;}
.bs-pv__body{position:relative;flex:1;overflow:auto;-webkit-overflow-scrolling:touch;padding:12px;}
.bs-pv__pages{display:flex;flex-direction:column;align-items:center;gap:12px;}
.bs-pv__pg{background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.15);border-radius:4px;overflow:hidden;max-width:100%;}
.bs-pv__pg canvas{display:block;}
.bs-pv__status{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#6b7280;font-weight:600;text-align:center;}
.bs-pv__status:empty{display:none;}
.bs-pv__status a{color:#6d28d9;font-weight:700;}
.bs-pv__frame{width:100%;height:100%;min-height:70vh;border:0;background:#fff;border-radius:6px;}
@media(max-width:768px){
  .bs-pv{padding:0;}
  .bs-pv__box{max-width:none;height:100%;border-radius:0;}
  .bs-pv__body{padding:8px;}
  .bs-pv .bs-pv__close{padding:8px 14px;font-size:.88rem;}
}

/* =====================================================
   চেকআউট পেজ / Checkout Page
   ===================================================== */
.woocommerce-checkout{background:#f7f6fc;}
.woocommerce-checkout h3{font-size:1.3rem;font-weight:800;color:#1f2937;margin:0 0 18px;}
.woocommerce-checkout input[type=text],
.woocommerce-checkout input[type=tel],
.woocommerce-checkout input[type=email],
.woocommerce-checkout select,
.woocommerce-checkout textarea{border:none !important;border-bottom:1.5px solid #ddd !important;border-radius:0 !important;padding:10px 0 !important;background:transparent !important;font-size:.95rem !important;width:100%;}
.woocommerce-checkout #payment ul.payment_methods{list-style:none;padding:0;margin:0 0 20px;border:none;}
.woocommerce-checkout #payment ul.payment_methods li{border:1.5px solid #e5e7eb;border-radius:12px;padding:14px 16px;margin-bottom:10px;}
.woocommerce-checkout #payment div.payment_box{background:#f7f6fc !important;border-radius:8px;margin-top:10px;}
.woocommerce-checkout #payment div.payment_box::before{display:none;}
/* অর্ডার বাটন / Order button */
.woocommerce-checkout #place_order{background:#111 !important;color:#fff !important;border:none !important;border-radius:8px !important;font-weight:700 !important;padding:18px !important;width:100% !important;font-size:1rem !important;letter-spacing:1px;cursor:pointer;text-transform:uppercase;}
.woocommerce-checkout #place_order:hover{background:#333 !important;}

/* =====================================================
   থ্যাংক ইউ পেজ / Thank You Page
   ===================================================== */
.woocommerce-order{background:#fff;max-width:760px;margin:40px auto;padding:40px;border-radius:20px;box-shadow:0 4px 20px rgba(0,0,0,.06);}
.woocommerce-thankyou-order-received{background:linear-gradient(135deg,#10b981,#059669);color:#fff !important;padding:24px;border-radius:16px;text-align:center;font-size:1.2rem;font-weight:700;border:none !important;margin-bottom:28px;}
.woocommerce-order ul.order_details{display:flex;flex-wrap:wrap;gap:16px;list-style:none;padding:20px;margin:0 0 28px;background:#fff;border-radius:14px;}
.woocommerce-order ul.order_details li{border:none !important;flex:1;min-width:120px;font-size:.85rem;color:#6b7280;}
.woocommerce-order ul.order_details li strong{display:block;font-size:1rem;color:#1f2937;margin-top:4px;}
.woocommerce-order h2{font-size:1.3rem;font-weight:800;color:#1f2937;margin:28px 0 14px;}
@media(max-width:768px){.woocommerce-order{padding:24px;margin:20px;}}
/* =====================================================
   অফার সেকশন (হোমপেজ) / Offer section
   ডেস্কটপ: ৪টা কার্ড (বেশি হলে স্লাইড) · মোবাইল: ২টা, সোয়াইপ
   ===================================================== */
.bs-offer__head{display:grid;grid-template-columns:1fr auto 1fr;grid-template-areas:"tag title more";align-items:center;gap:16px;margin-bottom:26px;}
.bs-offer__tag{grid-area:tag;display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;}
.bs-offer__title{grid-area:title;text-align:center;}
.bs-offer__title .bs-section__title{margin:0 0 6px;}
.bs-offer__more{grid-area:more;justify-self:end;}
.bs-offer .bs-offer__label{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#ef4444,#f59e0b);color:#fff;font-weight:800;letter-spacing:.08em;padding:7px 16px;border-radius:999px;font-size:.9rem;box-shadow:0 4px 12px rgba(239,68,68,.3);}
.bs-offer .bs-offer__timer{display:flex;gap:6px;}
.bs-offer .bs-offer__timer > span{display:flex;flex-direction:column;align-items:center;min-width:46px;background:#1f2937;color:#fff;border-radius:10px;padding:5px 6px;line-height:1.15;}
.bs-offer .bs-offer__timer b{font-size:1.05rem;font-weight:800;}
.bs-offer .bs-offer__timer i{font-style:normal;font-size:.6rem;opacity:.85;}
.bs-offer .bs-offer__more a{display:inline-flex;align-items:center;gap:6px;color:var(--bs-primary);font-weight:700;text-decoration:none;padding:8px 18px;border-radius:999px;border:1.5px solid #ddd6fe;background:#faf7ff;transition:.2s;}
.bs-offer .bs-offer__more a:hover{background:var(--bs-primary);color:#fff;border-color:var(--bs-primary);}
.bs-offer-slider .bs-cat-track{gap:24px;padding:12px 4px 22px;}
.bs-offer-slider .bs-book-card{flex:0 0 calc((100% - 72px)/4);min-width:0;scroll-snap-align:start;display:flex;flex-direction:column;}
.bs-offer-slider .bs-book-card__body{flex:1;display:flex;flex-direction:column;align-items:center;}
.bs-offer-slider .bs-book-card__price{margin-top:auto;}
.bs-offer-slider .bs-book-card__img img{-webkit-user-drag:none;}
@media(max-width:1024px){
  .bs-offer-slider .bs-book-card{flex-basis:calc((100% - 48px)/3);}
}
@media(max-width:640px){
  .bs-offer__head{grid-template-columns:1fr auto;grid-template-areas:"title title" "tag more";gap:12px;margin-bottom:16px;}
  .bs-offer .bs-offer__more a{padding:6px 14px;font-size:.88rem;}
  .bs-offer .bs-offer__label{font-size:.8rem;padding:5px 12px;}
  .bs-offer .bs-offer__timer > span{min-width:38px;padding:4px 4px;border-radius:8px;}
  .bs-offer .bs-offer__timer b{font-size:.9rem;}
  .bs-offer .bs-offer__timer i{font-size:.55rem;}
  .bs-offer-slider .bs-cat-track{gap:12px;padding:8px 2px 18px;}
  .bs-offer-slider .bs-book-card{flex-basis:calc((100% - 12px)/2);}
  .bs-offer-slider .bs-book-card__img img,.bs-offer-slider .bs-book-card__noimg{height:190px;}
  .bs-offer-slider .bs-book-card__body{padding:10px 8px;}
  .bs-offer-slider .bs-book-card__title{font-size:.88rem;margin-bottom:6px;}
  .bs-offer-slider .bs-book-card__price{font-size:.9rem;margin-bottom:8px;}
  .bs-offer-slider .bs-btn--small{padding:6px 14px;font-size:.82rem;}
}

/* =====================================================
   Product grids: 4 per row on wide desktop, 3 on smaller desktop / tablet, 2 on mobile
   (shop, category, related products and the home page book grids)
   ===================================================== */
.bs-shop__layout{grid-template-columns:260px minmax(0,1fr);gap:28px;}
.bs-shop__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;}
.bs-card__img img{height:auto;aspect-ratio:3/4;}
.bs-card__body{padding:14px;}
.bs-card__title{font-size:.95rem;}
.bs-card__buy{padding:9px 6px;font-size:.88rem;}
.bs-card__cart{width:40px;height:40px;}
.bs-book-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;}
@media(max-width:1099px){
  .bs-shop__layout{grid-template-columns:230px minmax(0,1fr);gap:20px;}
  .bs-shop__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
  .bs-book-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
}
@media(max-width:768px){
  .bs-shop__layout{grid-template-columns:minmax(0,1fr);gap:20px;}
  .bs-shop__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .bs-card__img img{height:auto;aspect-ratio:3/4;}
  .bs-card__body{padding:10px;}
  .bs-card__title{font-size:.85rem;}
  .bs-book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .bs-book-card__img img,.bs-book-card__noimg{height:200px;}
  .bs-book-card__body{padding:10px 8px;}
  .bs-book-card__title{font-size:.88rem;}
  .bs-book-card__price{font-size:.9rem;margin-bottom:8px;}
  .bs-book-card .bs-btn--small{padding:6px 14px;font-size:.82rem;}
}

/* =====================================================
   Hero banner (image) - the banner picture carries its own headline
   ===================================================== */
.bs-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.bs-hero.bs-hero--banner{background:none;padding:0;color:inherit;width:calc(100% - 32px);max-width:1180px;margin:20px auto 0;border-radius:18px;overflow:hidden;box-shadow:0 10px 28px rgba(46,49,146,.2);position:relative;}
.bs-hero--banner .bs-hero__link{display:block;line-height:0;}
.bs-hero--banner .bs-hero__img{display:block;width:100%;height:auto;max-width:none !important;aspect-ratio:1745/642;object-fit:cover;transition:transform .5s ease;}
.bs-hero--banner .bs-hero__link:hover .bs-hero__img{transform:scale(1.015);}
@media(max-width:640px){
  .bs-hero.bs-hero--banner{width:calc(100% - 24px);margin-top:12px;border-radius:14px;}
  .bs-hero--banner .bs-hero__img{aspect-ratio:3/2;object-position:0% 50%;}
}
