/* ================================================
   PURE BAJAR — Modern eCommerce Design System
   v2.0 | Bootstrap 5 Based
   ================================================ */
@import url('https://fonts.googleapis.com/css2?family=Hind+Siliguri:wght@300;400;500;600;700&display=swap');

/* ------------------------------------------------
   1. DESIGN TOKENS
   ------------------------------------------------ */
:root{
  --pb-primary:#0F7B65;
  --pb-primary-dark:#0a5c4c;
  --pb-primary-light:#e8f5f1;
  --pb-secondary:#F4B400;
  --pb-accent:#4CAF50;
  --pb-green:#0b3d2e;
  --pb-gold:#d4af37;
  --pb-orange:#FF9800;
  --pb-blue:#2196F3;
  --pb-red:#F44336;
  --pb-bg:#f7f9fc;
  --pb-bg-alt:#f0f4f3;
  --pb-text:#2d3436;
  --pb-text-light:#636e72;
  --pb-border:#e9ecef;
  --pb-radius:12px;
  --pb-radius-lg:16px;
  --pb-radius-pill:50px;
  --pb-shadow-xs:0 1px 3px rgba(0,0,0,.04);
  --pb-shadow-sm:0 2px 8px rgba(0,0,0,.06);
  --pb-shadow-md:0 4px 16px rgba(0,0,0,.08);
  --pb-shadow-lg:0 8px 32px rgba(0,0,0,.12);
  --pb-shadow-xl:0 16px 48px rgba(0,0,0,.16);
  --pb-transition:all .25s cubic-bezier(.4,0,.2,1);
  --pb-font:'Hind Siliguri',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

/* ------------------------------------------------
   2. BASE & TYPOGRAPHY
   ------------------------------------------------ */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--pb-font);background:var(--pb-bg);color:var(--pb-text);line-height:1.7;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{font-weight:700;color:var(--pb-green);line-height:1.3;margin-bottom:.5rem}
a{color:var(--pb-primary);text-decoration:none;transition:color .2s}
a:hover{color:var(--pb-primary-dark)}
img{max-width:100%;height:auto}
input[type="number"]{-moz-appearance:textfield;appearance:textfield}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
::selection{background:var(--pb-primary);color:#fff}
.section-title{font-size:1.5rem;font-weight:700;color:var(--pb-green);position:relative;display:inline-block}
.section-title::after{content:'';position:absolute;left:0;bottom:-4px;width:40px;height:3px;background:var(--pb-secondary);border-radius:2px}

/* ------------------------------------------------
   3. TOP BAR
   ------------------------------------------------ */
.pb-topbar{background:var(--pb-green);color:rgba(255,255,255,.9);font-size:.82rem;padding:.4rem 0;letter-spacing:.2px}
.pb-topbar a{color:rgba(255,255,255,.85);font-weight:500;transition:color .2s}
.pb-topbar a:hover{color:var(--pb-secondary)}
.pb-topbar i{font-size:.75rem}
.pb-topbar .badge{font-size:.65rem;padding:.2rem .45rem;vertical-align:middle}

/* ------------------------------------------------
   4. MAIN HEADER & SEARCH
   ------------------------------------------------ */
.pb-header{background:#fff;padding:.75rem 0;box-shadow:var(--pb-shadow-xs);position:relative;z-index:1030;transition:var(--pb-transition)}
.pb-header.sticky{position:fixed;top:0;left:0;right:0;z-index:1040;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--pb-shadow-md)}
.pb-header .navbar-brand img{height:44px;width:auto;transition:transform .2s}
.pb-header .navbar-brand:hover img{transform:scale(1.03)}
.pb-header .navbar-brand span{font-size:1.4rem;font-weight:700;color:var(--pb-green)}

/* Search Bar */
.pb-search{position:relative;max-width:520px;flex:1}
.pb-search .form-control{border:2px solid var(--pb-border);border-radius:var(--pb-radius-pill);padding:.6rem 1.25rem .6rem 2.75rem;font-size:.95rem;background:#f8f9fa;transition:var(--pb-transition)}
.pb-search .form-control:focus{border-color:var(--pb-primary);box-shadow:0 0 0 4px rgba(15,123,101,.1);background:#fff}
.pb-search .pb-search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--pb-text-light);font-size:.9rem;pointer-events:none}
.pb-search-suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border-radius:var(--pb-radius);box-shadow:var(--pb-shadow-lg);z-index:1050;display:none;max-height:320px;overflow-y:auto}
.pb-search-suggestions.show{display:block}
.pb-search-suggestions .pb-suggest-item{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;cursor:pointer;transition:background .15s}
.pb-search-suggestions .pb-suggest-item:hover{background:var(--pb-primary-light)}
.pb-search-suggestions .pb-suggest-item img{width:40px;height:40px;object-fit:cover;border-radius:8px}

/* Header Action Icons */
.pb-header-actions{display:flex;align-items:center;gap:.25rem}
.pb-header-action{position:relative;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;color:var(--pb-green);font-size:1.15rem;transition:var(--pb-transition);cursor:pointer;border:none;background:transparent}
.pb-header-action:hover{background:var(--pb-primary-light);color:var(--pb-primary)}
.pb-header-action .pb-count{position:absolute;top:2px;right:2px;background:var(--pb-red);color:#fff;font-size:.6rem;font-weight:700;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #fff}

/* ------------------------------------------------
   5. CATEGORY NAV / MEGA MENU
   ------------------------------------------------ */
.pb-catnav{background:#fff;border-bottom:1px solid var(--pb-border);position:relative;z-index:1020}
.pb-catnav-list{display:flex;align-items:center;gap:0;list-style:none;margin:0;padding:0;overflow-x:auto;scrollbar-width:none}
.pb-catnav-list::-webkit-scrollbar{display:none}
.pb-catnav-item{position:relative}
.pb-catnav-link{display:flex;align-items:center;gap:.4rem;padding:.7rem 1rem;font-size:.9rem;font-weight:600;color:var(--pb-text);white-space:nowrap;transition:var(--pb-transition);border-bottom:2px solid transparent}
.pb-catnav-link:hover,.pb-catnav-link.active{color:var(--pb-primary);border-bottom-color:var(--pb-primary);background:var(--pb-primary-light)}
.pb-catnav-link i{font-size:.8rem;color:var(--pb-text-light)}

/* Mega Dropdown */
.pb-mega-dropdown{position:absolute;top:100%;left:0;min-width:240px;background:#fff;border-radius:0 0 var(--pb-radius) var(--pb-radius);box-shadow:var(--pb-shadow-lg);padding:.5rem;opacity:0;visibility:hidden;transform:translateY(8px);transition:var(--pb-transition);z-index:1050}
.pb-catnav-item:hover .pb-mega-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.pb-mega-link{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:8px;font-size:.88rem;color:var(--pb-text);transition:var(--pb-transition)}
.pb-mega-link:hover{background:var(--pb-primary-light);color:var(--pb-primary);transform:translateX(4px)}

/* ------------------------------------------------
   6. BUTTONS
   ------------------------------------------------ */
.btn{border-radius:var(--pb-radius);font-weight:600;padding:.5rem 1.25rem;transition:var(--pb-transition);border:2px solid transparent;position:relative;overflow:hidden}
.btn-primary{background:var(--pb-primary);color:#fff;border-color:var(--pb-primary)}
.btn-primary:hover{background:var(--pb-primary-dark);border-color:var(--pb-primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px rgba(15,123,101,.3)}
.btn-secondary{background:var(--pb-secondary);color:var(--pb-green);border-color:var(--pb-secondary)}
.btn-secondary:hover{background:var(--pb-gold);border-color:var(--pb-gold);transform:translateY(-1px)}
.btn-outline-primary{background:transparent;color:var(--pb-primary);border-color:var(--pb-primary)}
.btn-outline-primary:hover{background:var(--pb-primary);color:#fff;transform:translateY(-1px)}
.btn-outline-success{border-color:var(--pb-accent);color:var(--pb-accent);background:transparent}
.btn-outline-success:hover{background:var(--pb-accent);color:#fff;transform:translateY(-1px)}
.btn-outline-secondary{border-color:#bdc3c7;color:var(--pb-text-light)}
.btn-outline-secondary:hover{background:#bdc3c7;color:#fff}
.btn-outline-danger{border-color:var(--pb-red);color:var(--pb-red)}
.btn-outline-danger:hover{background:var(--pb-red);color:#fff}
.btn-lg{padding:.75rem 2rem;font-size:1.05rem;border-radius:var(--pb-radius-lg)}
.btn-sm{padding:.3rem .85rem;font-size:.82rem;border-radius:8px}
.btn-icon{width:38px;height:38px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}
.btn-glow{box-shadow:0 0 0 0 rgba(15,123,101,.4);animation:btnGlow 2s infinite}
@keyframes btnGlow{0%,100%{box-shadow:0 0 0 0 rgba(15,123,101,.4)}50%{box-shadow:0 0 0 8px rgba(15,123,101,0)}}

/* ------------------------------------------------
   7. CARDS
   ------------------------------------------------ */
.card{border:1px solid var(--pb-border);border-radius:var(--pb-radius-lg);box-shadow:var(--pb-shadow-xs);transition:var(--pb-transition);overflow:hidden;background:#fff}
.card:hover{box-shadow:var(--pb-shadow-md);transform:translateY(-2px)}
.card-body{padding:1.25rem}
.card-footer{background:transparent;border-top:1px solid var(--pb-border);padding:.75rem 1.25rem}

/* ------------------------------------------------
   8. PRODUCT CARDS
   ------------------------------------------------ */
.pb-product-card{border:1px solid var(--pb-border);border-radius:var(--pb-radius-lg);overflow:hidden;background:#fff;transition:var(--pb-transition);position:relative}
.pb-product-card:hover{box-shadow:var(--pb-shadow-md);transform:translateY(-4px);border-color:rgba(15,123,101,.15)}

/* Image Container */
.pb-product-img{position:relative;overflow:hidden;background:var(--pb-bg-alt);aspect-ratio:1/1}
.pb-product-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.pb-product-card:hover .pb-product-img img{transform:scale(1.08)}
.pb-product-img .pb-img-secondary{position:absolute;inset:0;opacity:0;transition:opacity .4s ease}
.pb-product-card:hover .pb-product-img .pb-img-secondary{opacity:1}

/* Product Badges */
.pb-product-badges{position:absolute;top:8px;left:8px;display:flex;flex-direction:column;gap:4px;z-index:2}
.pb-badge{padding:.25rem .6rem;border-radius:6px;font-size:.7rem;font-weight:700;line-height:1.2}
.pb-badge-sale{background:var(--pb-red);color:#fff}
.pb-badge-new{background:var(--pb-accent);color:#fff}
.pb-badge-featured{background:var(--pb-secondary);color:var(--pb-green)}
.pb-badge-stock{background:#fff;color:var(--pb-red);border:1px solid var(--pb-red)}

/* Product Quick Actions */
.pb-product-actions{position:absolute;top:8px;right:8px;display:flex;flex-direction:column;gap:4px;z-index:2;opacity:0;transform:translateX(8px);transition:var(--pb-transition)}
.pb-product-card:hover .pb-product-actions{opacity:1;transform:translateX(0)}
.pb-product-action-btn{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.95);border:1px solid var(--pb-border);display:flex;align-items:center;justify-content:center;font-size:.8rem;color:var(--pb-text);cursor:pointer;transition:var(--pb-transition);backdrop-filter:blur(4px)}
.pb-product-action-btn:hover{background:var(--pb-primary);color:#fff;border-color:var(--pb-primary);transform:scale(1.1)}
.pb-product-action-btn.active{color:var(--pb-red);border-color:var(--pb-red)}

/* Product Info */
.pb-product-info{padding:.875rem}
.pb-product-category{font-size:.72rem;font-weight:600;color:var(--pb-text-light);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}
.pb-product-name{font-size:.9rem;font-weight:600;color:var(--pb-green);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.4em;margin-bottom:.4rem}
.pb-product-name a{color:inherit;transition:color .2s}
.pb-product-name a:hover{color:var(--pb-primary)}
.pb-product-rating{display:flex;align-items:center;gap:.15rem;margin-bottom:.4rem}
.pb-product-rating i{font-size:.7rem;color:var(--pb-secondary)}
.pb-product-rating span{font-size:.75rem;color:var(--pb-text-light);margin-left:.25rem}
.pb-product-price{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}
.pb-price-current{font-size:1.1rem;font-weight:700;color:var(--pb-primary)}
.pb-price-original{font-size:.85rem;color:#b2bec3;text-decoration:line-through}
.pb-price-discount{font-size:.72rem;font-weight:700;color:var(--pb-red);background:rgba(244,67,54,.08);padding:.1rem .4rem;border-radius:4px}

/* Product Card Footer */
.pb-product-footer{padding:0 .875rem .875rem}
.pb-product-footer .btn{width:100%;font-size:.82rem;padding:.5rem;border-radius:10px}

/* ------------------------------------------------
   9. HERO SECTION
   ------------------------------------------------ */
.pb-hero{position:relative;overflow:hidden;border-radius:var(--pb-radius-lg);margin-bottom:2rem}
.pb-hero .carousel-inner{border-radius:var(--pb-radius-lg)}
.pb-hero .carousel-item{border-radius:var(--pb-radius-lg);overflow:hidden}
.pb-hero .carousel-item img{width:100%;max-height:460px;object-fit:cover}
.pb-hero .carousel-caption{background:linear-gradient(to top,rgba(0,0,0,.6),transparent);border-radius:0 0 var(--pb-radius-lg) var(--pb-radius-lg);left:0;right:0;bottom:0;padding:2rem}
.pb-hero .carousel-control-prev,.pb-hero .carousel-control-next{width:40px;height:40px;background:rgba(255,255,255,.9);border-radius:50%;top:50%;transform:translateY(-50%);opacity:0;transition:opacity .3s}
.pb-hero:hover .carousel-control-prev,.pb-hero:hover .carousel-control-next{opacity:1}
.pb-hero .carousel-control-prev{left:12px}
.pb-hero .carousel-control-next{right:12px}
.pb-hero .carousel-control-prev-icon,.pb-hero .carousel-control-next-icon{filter:invert(1) grayscale(100);width:14px;height:14px}
.pb-hero .carousel-indicators{margin-bottom:.75rem}
.pb-hero .carousel-indicators button{width:8px;height:8px;border-radius:50%;background:#fff;opacity:.5;transition:var(--pb-transition);border:none}
.pb-hero .carousel-indicators button.active{opacity:1;width:24px;border-radius:4px;background:var(--pb-secondary)}

/* ------------------------------------------------
   10. HOMEPAGE SECTIONS
   ------------------------------------------------ */
.pb-section{padding:3rem 0}
.pb-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.75rem;gap:1rem}
.pb-section-header h2{font-size:1.35rem;margin:0}
.pb-section-header .btn{flex-shrink:0}

/* Category Grid */
.pb-cat-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.25rem .75rem;background:#fff;border:1px solid var(--pb-border);border-radius:var(--pb-radius-lg);transition:var(--pb-transition);cursor:pointer;text-decoration:none}
.pb-cat-card:hover{border-color:var(--pb-primary);box-shadow:var(--pb-shadow-md);transform:translateY(-4px);color:var(--pb-primary)}
.pb-cat-icon{width:56px;height:56px;border-radius:50%;background:var(--pb-primary-light);display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--pb-primary);margin-bottom:.75rem;transition:var(--pb-transition)}
.pb-cat-card:hover .pb-cat-icon{background:var(--pb-primary);color:#fff;transform:scale(1.1)}
.pb-cat-name{font-size:.88rem;font-weight:600;color:var(--pb-green)}
.pb-cat-card:hover .pb-cat-name{color:var(--pb-primary)}

/* Product Carousel Scroll */
.pb-product-scroll{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;padding-bottom:4px}
.pb-product-scroll::-webkit-scrollbar{display:none}
.pb-product-scroll .row{flex-wrap:nowrap}
.pb-product-scroll .col{scroll-snap-align:start;flex:0 0 auto}

/* ------------------------------------------------
   11. TRUST BADGES
   ------------------------------------------------ */
.pb-trust-strip{padding:2.5rem 0;background:var(--pb-bg-alt)}
.pb-trust-item{text-align:center;padding:1.5rem 1rem;background:#fff;border-radius:var(--pb-radius-lg);border:1px solid var(--pb-border);transition:var(--pb-transition)}
.pb-trust-item:hover{border-color:var(--pb-primary);transform:translateY(-4px);box-shadow:var(--pb-shadow-md)}
.pb-trust-icon{width:52px;height:52px;margin:0 auto .75rem;background:var(--pb-primary-light);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--pb-primary);font-size:1.3rem;transition:var(--pb-transition)}
.pb-trust-item:hover .pb-trust-icon{background:var(--pb-primary);color:#fff}
.pb-trust-title{font-weight:700;color:var(--pb-green);font-size:.95rem;margin-bottom:.25rem}
.pb-trust-desc{color:var(--pb-text-light);font-size:.82rem}

/* ------------------------------------------------
   12. NEWSLETTER
   ------------------------------------------------ */
.pb-newsletter{padding:3.5rem 0;background:linear-gradient(135deg,var(--pb-primary),var(--pb-accent));color:#fff;position:relative;overflow:hidden}
.pb-newsletter::before{content:'';position:absolute;top:-50%;right:-10%;width:400px;height:400px;background:radial-gradient(circle,rgba(244,180,0,.15),transparent);border-radius:50%}
.pb-newsletter h2{color:#fff;font-weight:700;margin-bottom:.75rem}
.pb-newsletter p{opacity:.9;margin-bottom:1.5rem}
.pb-newsletter-form{max-width:480px;margin:0 auto}
.pb-newsletter-form .input-group{background:#fff;border-radius:var(--pb-radius-pill);overflow:hidden;padding:4px}
.pb-newsletter-form .form-control{border:none;padding:.6rem 1rem;font-size:.95rem;box-shadow:none}
.pb-newsletter-form .form-control:focus{box-shadow:none}
.pb-newsletter-form .btn{border-radius:var(--pb-radius-pill);padding:.6rem 1.5rem;font-weight:700;background:var(--pb-secondary);color:var(--pb-green);border:none}
.pb-newsletter-form .btn:hover{background:var(--pb-gold)}

/* ------------------------------------------------
   13. SHOP & FILTERS
   ------------------------------------------------ */
.pb-filter-sidebar .card{border:1px solid var(--pb-border);border-radius:var(--pb-radius-lg)}
.pb-filter-sidebar .list-group-item{border:none;padding:.5rem .75rem;border-radius:8px;font-size:.9rem;transition:var(--pb-transition)}
.pb-filter-sidebar .list-group-item:hover{background:var(--pb-primary-light)}
.pb-filter-sidebar .list-group-item.active{background:var(--pb-primary);color:#fff;font-weight:600}
.pb-active-filters{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}
.pb-filter-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .65rem;background:var(--pb-primary-light);color:var(--pb-primary);border-radius:var(--pb-radius-pill);font-size:.78rem;font-weight:600}
.pb-filter-badge .btn-close{font-size:.5rem;opacity:.6}
.pb-sort-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}
.pb-mobile-filter-toggle{display:none}

/* ------------------------------------------------
   14. PRODUCT DETAIL
   ------------------------------------------------ */
.pb-product-gallery{border-radius:var(--pb-radius-lg);overflow:hidden}
.pb-product-gallery img{border-radius:var(--pb-radius-lg);transition:transform .5s ease}
.pb-product-gallery:hover img{transform:scale(1.05)}
.pb-save-badge{display:inline-flex;align-items:center;padding:.3rem .75rem;border-radius:var(--pb-radius-pill);background:linear-gradient(135deg,var(--pb-secondary),var(--pb-gold));color:var(--pb-green);font-weight:700;font-size:.82rem}
.pb-offer-countdown{border:2px solid rgba(244,180,0,.3);background:linear-gradient(135deg,rgba(244,180,0,.1),rgba(76,175,80,.05));border-radius:var(--pb-radius);padding:1rem}
.pb-offer-countdown .pb-offer-countdown-title{color:var(--pb-primary);font-weight:600}
.pb-offer-countdown .pb-offer-countdown-text{font-weight:700;font-size:1.1rem;background:linear-gradient(135deg,var(--pb-primary),var(--pb-accent));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

/* ------------------------------------------------
   15. CART
   ------------------------------------------------ */
.pb-cart-table{border-radius:var(--pb-radius-lg);overflow:hidden}
.pb-cart-mobile{display:none}
.pb-cart-mobile-item{display:flex;gap:.75rem;padding:.875rem;margin-bottom:.75rem;background:#fff;border-radius:var(--pb-radius);border:1px solid var(--pb-border)}
.pb-cart-mobile-item img{width:68px;height:68px;object-fit:cover;border-radius:10px;flex-shrink:0}
.pb-cart-mobile-item .pb-cart-item-info{flex:1;min-width:0}
.pb-cart-mobile-item .pb-cart-item-name{font-weight:600;color:var(--pb-green);font-size:.9rem;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pb-cart-mobile-item .pb-cart-item-price{font-weight:700;color:var(--pb-primary);margin-top:.2rem}
.pb-cart-mobile-item .pb-cart-item-actions{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}
.pb-cart-mobile-item .pb-cart-qty-input{width:52px;text-align:center;padding:.25rem;border-radius:8px;font-size:.85rem}

/* ------------------------------------------------
   16. MINI CART / SHOPPING WINDOW
   ------------------------------------------------ */
.pb-shopping-window{max-width:400px;border-left:3px solid var(--pb-primary)}
.pb-shopping-window .offcanvas-header{padding:1rem 1.25rem}
.pb-shopping-window .offcanvas-title{font-weight:700;font-size:1.1rem}
.pb-sw-item{display:flex;gap:.75rem;padding:.75rem;border-bottom:1px solid var(--pb-border);transition:background .15s}
.pb-sw-item:hover{background:rgba(15,123,101,.02)}
.pb-sw-item img{width:56px;height:56px;object-fit:cover;border-radius:10px}
.pb-sw-item-info{flex:1;min-width:0}
.pb-sw-item-name{font-weight:600;font-size:.85rem;color:var(--pb-green);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pb-sw-item-price{font-weight:700;color:var(--pb-primary);font-size:.9rem}
.pb-sw-item-remove{background:none;border:none;color:var(--pb-text-light);cursor:pointer;padding:.25rem;font-size:.8rem;transition:color .2s}
.pb-sw-item-remove:hover{color:var(--pb-red)}
.pb-cod-btn{background:linear-gradient(135deg,var(--pb-primary),var(--pb-accent));color:#fff!important;font-weight:700;border-radius:var(--pb-radius);padding:.85rem 1.5rem;border:none;position:relative;overflow:hidden;box-shadow:0 4px 16px rgba(15,123,101,.3);transition:var(--pb-transition)}
.pb-cod-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(15,123,101,.45);color:#fff!important}
.pb-cod-btn::after{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 40%,rgba(255,255,255,.12) 50%,transparent 60%);animation:codShine 3s infinite}
@keyframes codShine{0%{transform:translateX(-100%) rotate(25deg)}100%{transform:translateX(100%) rotate(25deg)}}

/* ------------------------------------------------
   17. CHECKOUT
   ------------------------------------------------ */
.pb-checkout-steps{display:flex;align-items:center;gap:0;margin-bottom:2rem;overflow-x:auto}
.pb-checkout-step{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600;color:var(--pb-text-light);white-space:nowrap}
.pb-checkout-step.active{color:var(--pb-primary)}
.pb-checkout-step .pb-step-num{width:28px;height:28px;border-radius:50%;background:var(--pb-border);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;transition:var(--pb-transition)}
.pb-checkout-step.active .pb-step-num{background:var(--pb-primary);color:#fff}
.pb-checkout-step .pb-step-arrow{color:var(--pb-border);margin:0 .25rem}
.form-check:has(input:checked){border-color:var(--pb-primary)!important;background:var(--pb-primary-light)}

/* ------------------------------------------------
   18. FOOTER
   ------------------------------------------------ */
.pb-footer{background:var(--pb-green);color:rgba(255,255,255,.85);padding:3rem 0 0}
.pb-footer h5,.pb-footer .pb-footer-title{color:#fff;font-weight:700;font-size:1.05rem;margin-bottom:1rem;position:relative;padding-bottom:.5rem}
.pb-footer h5::after,.pb-footer .pb-footer-title::after{content:'';position:absolute;left:0;bottom:0;width:30px;height:2px;background:var(--pb-secondary);border-radius:1px}
.pb-footer a{color:rgba(255,255,255,.75);font-size:.9rem;transition:var(--pb-transition);display:inline-block}
.pb-footer a:hover{color:var(--pb-secondary);transform:translateX(3px)}
.pb-footer .pb-footer-link{display:flex;align-items:center;gap:.4rem;padding:.25rem 0}
.pb-footer .pb-footer-link i{font-size:.7rem;color:var(--pb-secondary)}
.pb-footer-contact i{color:var(--pb-secondary);width:16px;text-align:center;margin-right:.5rem}
.pb-footer-social{display:flex;gap:.5rem}
.pb-footer-social a{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:.9rem;color:rgba(255,255,255,.8);transition:var(--pb-transition)}
.pb-footer-social a:hover{background:var(--pb-secondary);border-color:var(--pb-secondary);color:var(--pb-green);transform:translateY(-2px) translateX(0)}
.pb-footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:2rem;padding:1.25rem 0;font-size:.82rem}
.pb-footer-bottom a{color:rgba(255,255,255,.6)}
.pb-footer-bottom a:hover{color:var(--pb-secondary)}

/* ------------------------------------------------
   19. FORMS
   ------------------------------------------------ */
.form-control,.form-select{border:2px solid var(--pb-border);border-radius:var(--pb-radius);padding:.6rem 1rem;font-size:.95rem;transition:var(--pb-transition)}
.form-control:focus,.form-select:focus{border-color:var(--pb-primary);box-shadow:0 0 0 3px rgba(15,123,101,.1)}
.form-label{font-weight:600;color:var(--pb-green);font-size:.9rem;margin-bottom:.35rem}
.input-group .btn{border-radius:0 var(--pb-radius) var(--pb-radius) 0}
.input-group .form-control{border-radius:var(--pb-radius) 0 0 var(--pb-radius)}

/* ------------------------------------------------
   20. TABLES
   ------------------------------------------------ */
.table{border-radius:var(--pb-radius);overflow:hidden}
.table thead{background:linear-gradient(135deg,var(--pb-primary),var(--pb-accent));color:#fff}
.table thead th{border:none;padding:.85rem 1rem;font-weight:600;font-size:.88rem}
.table tbody tr{transition:background .15s;border-bottom:1px solid var(--pb-border)}
.table tbody tr:hover{background:rgba(15,123,101,.03)}
.table tbody td{padding:.75rem 1rem;vertical-align:middle;font-size:.9rem}

/* ------------------------------------------------
   21. ALERTS & BADGES
   ------------------------------------------------ */
.alert{border:none;border-left:4px solid;border-radius:var(--pb-radius);padding:.875rem 1.25rem;box-shadow:var(--pb-shadow-xs);animation:alertSlide .35s ease}
@keyframes alertSlide{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}
.alert-success{background:#d4edda;border-left-color:var(--pb-accent);color:#155724}
.alert-danger{background:#f8d7da;border-left-color:var(--pb-red);color:#721c24}
.alert-info{background:#d1ecf1;border-left-color:var(--pb-blue);color:#0c5460}
.badge{padding:.3rem .65rem;border-radius:6px;font-weight:600;font-size:.75rem}
.badge.bg-warning{background:linear-gradient(135deg,var(--pb-orange),#FB8C00)!important;color:#fff}
.badge.bg-primary{background:linear-gradient(135deg,var(--pb-primary),var(--pb-primary-dark))!important}
.badge.bg-success{background:linear-gradient(135deg,var(--pb-accent),#43A047)!important}
.badge.bg-danger{background:linear-gradient(135deg,var(--pb-red),#E53935)!important}
.badge.bg-secondary{background:linear-gradient(135deg,#9E9E9E,#757575)!important}

/* Status Badges */
.status-pending{background:var(--pb-orange);color:#fff}
.status-confirmed{background:var(--pb-blue);color:#fff}
.status-delivered{background:var(--pb-accent);color:#fff}
.status-cancelled{background:var(--pb-red);color:#fff}

/* ------------------------------------------------
   22. MODALS & OFFCANVAS
   ------------------------------------------------ */
.modal-content{border:none;border-radius:var(--pb-radius-lg);box-shadow:var(--pb-shadow-xl)}
.modal-header{background:linear-gradient(135deg,var(--pb-primary),var(--pb-accent));color:#fff;border-radius:var(--pb-radius-lg) var(--pb-radius-lg) 0 0;border-bottom:none}
.modal-header .btn-close{filter:brightness(0) invert(1)}
.offcanvas{border:none;box-shadow:var(--pb-shadow-xl)}
.offcanvas-header{background:linear-gradient(135deg,var(--pb-primary),var(--pb-accent));color:#fff}
.offcanvas-header .btn-close{filter:brightness(0) invert(1)}
.dropdown-menu{border:1px solid var(--pb-border);border-radius:var(--pb-radius);box-shadow:var(--pb-shadow-lg);padding:.375rem}
.dropdown-item{border-radius:8px;padding:.5rem .75rem;font-size:.9rem;transition:var(--pb-transition)}
.dropdown-item:hover{background:var(--pb-primary-light);color:var(--pb-primary)}

/* ------------------------------------------------
   23. PAGINATION
   ------------------------------------------------ */
.pagination{gap:.25rem}
.page-link{border:1px solid var(--pb-border);border-radius:8px;color:var(--pb-primary);padding:.4rem .85rem;font-weight:600;font-size:.88rem;transition:var(--pb-transition)}
.page-link:hover{background:var(--pb-primary);color:#fff;border-color:var(--pb-primary)}
.page-item.active .page-link{background:var(--pb-primary);border-color:var(--pb-primary);color:#fff}

/* ------------------------------------------------
   24. ACCOUNT
   ------------------------------------------------ */
.account-sidebar .list-group-item{border:none;border-left:3px solid transparent;padding:.6rem 1rem;border-radius:8px;margin-bottom:.25rem;transition:var(--pb-transition)}
.account-sidebar .list-group-item:hover{background:var(--pb-primary-light);border-left-color:var(--pb-primary)}
.account-sidebar .list-group-item.active{background:var(--pb-primary);color:#fff;border-left-color:var(--pb-secondary)}
.empty-state{padding:3rem 1rem;text-align:center}
.empty-state i{font-size:3.5rem;color:var(--pb-primary);opacity:.25;margin-bottom:1rem;display:block}
.empty-state h5{color:var(--pb-green)}

/* ------------------------------------------------
   25. ADMIN
   ------------------------------------------------ */
.pb-admin-page{animation:pbFadeIn .2s ease}
@keyframes pbFadeIn{from{opacity:.7;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
.pb-admin-layout{--pb-sidebar-w:260px;--pb-sidebar-w-collapsed:72px}
.pb-admin-sidebar{width:var(--pb-sidebar-w);flex:0 0 var(--pb-sidebar-w);max-width:var(--pb-sidebar-w);transition:width .25s ease,flex-basis .25s ease,max-width .25s ease}
.pb-admin-main{flex:1 1 auto;min-width:0}
.pb-admin-sidebar .card{border:1px solid var(--pb-border)}
.pb-admin-sidebar .card-header{background:linear-gradient(90deg,rgba(11,61,46,.05),rgba(212,175,55,.08))}
.pb-admin-sidebar .list-group-item{border-color:rgba(11,61,46,.08)}
.pb-admin-sidebar .list-group-item-action{transition:var(--pb-transition)}
.pb-admin-sidebar .list-group-item-action:hover{background:var(--pb-primary-light);color:var(--pb-green);transform:translateX(2px)}
.pb-admin-sidebar .list-group-item-action i{color:var(--pb-primary);transition:transform .2s}
.pb-admin-sidebar .list-group-item-action:hover i{transform:scale(1.15)}
.pb-admin-sidebar .list-group-item.active{background:var(--pb-green);border-color:var(--pb-green);color:#fff}
.pb-admin-sidebar .list-group-item.active i{color:#fff}
.pb-admin-sidebar-toggle{border:1px solid rgba(11,61,46,.15);color:var(--pb-green);background:#fff;width:32px;height:32px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;transition:var(--pb-transition)}
.pb-admin-sidebar-toggle:hover{background:var(--pb-green);color:#fff}
body.pb-admin-sidebar-collapsed .pb-admin-sidebar{width:var(--pb-sidebar-w-collapsed);flex-basis:var(--pb-sidebar-w-collapsed);max-width:var(--pb-sidebar-w-collapsed)}
body.pb-admin-sidebar-collapsed .pb-admin-sidebar .pb-admin-menu-label{display:none}
body.pb-admin-sidebar-collapsed .pb-admin-sidebar .pb-admin-menu-item{display:flex;align-items:center;justify-content:center;gap:0}
body.pb-admin-sidebar-collapsed .pb-admin-sidebar .pb-admin-menu-item i{font-size:18px}
body.pb-admin-sidebar-collapsed .pb-admin-sidebar-toggle i{transform:rotate(180deg)}

/* ------------------------------------------------
   26. ANIMATIONS
   ------------------------------------------------ */
.scroll-reveal{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}
.scroll-reveal.revealed{opacity:1;transform:translateY(0)}
@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.animate-fade-in{animation:fadeInUp .4s ease}
.hover-zoom{overflow:hidden;border-radius:var(--pb-radius)}
.hover-zoom img{transition:transform .5s ease}
.hover-zoom:hover img{transform:scale(1.08)}
img[loading="lazy"]{opacity:0;transition:opacity .3s ease}
img[loading="lazy"].loaded,img[loading="lazy"][complete]{opacity:1}
.spinner-border{border-color:var(--pb-primary);border-right-color:transparent}

/* ------------------------------------------------
   27. SKELETON LOADERS
   ------------------------------------------------ */
.pb-skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:skeleton 1.5s infinite;border-radius:8px}
@keyframes skeleton{0%{background-position:200% 0}100%{background-position:-200% 0}}
.pb-skeleton-img{aspect-ratio:1/1;border-radius:var(--pb-radius-lg)}
.pb-skeleton-text{height:14px;margin-bottom:8px}
.pb-skeleton-text.short{width:60%}

/* ------------------------------------------------
   28. TOAST NOTIFICATIONS
   ------------------------------------------------ */
.pb-toast-container{position:fixed;top:80px;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;pointer-events:none}
.pb-toast{pointer-events:auto;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#fff;border-radius:var(--pb-radius);box-shadow:var(--pb-shadow-lg);border-left:4px solid var(--pb-accent);animation:toastIn .35s ease;min-width:280px;max-width:380px}
@keyframes toastIn{from{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}
.pb-toast-icon{font-size:1.2rem;color:var(--pb-accent)}
.pb-toast-msg{flex:1;font-size:.88rem;font-weight:500;color:var(--pb-text)}
.pb-toast-close{background:none;border:none;color:var(--pb-text-light);cursor:pointer;padding:.25rem}

/* ------------------------------------------------
   29. RESPONSIVE
   ------------------------------------------------ */
/* Mobile Bottom Bar */
.pb-mobile-bottom{display:none;position:fixed;bottom:0;left:0;right:0;background:#fff;box-shadow:0 -2px 12px rgba(0,0,0,.08);z-index:1030;padding:.4rem 0;border-top:1px solid var(--pb-border)}
.pb-mobile-bottom-nav{display:flex;justify-content:space-around;align-items:center}
.pb-mobile-bottom-item{display:flex;flex-direction:column;align-items:center;gap:.1rem;text-decoration:none;color:var(--pb-text-light);font-size:.65rem;font-weight:600;padding:.25rem .5rem;transition:color .2s;position:relative}
.pb-mobile-bottom-item.active,.pb-mobile-bottom-item:hover{color:var(--pb-primary)}
.pb-mobile-bottom-item i{font-size:1.15rem}
.pb-mobile-bottom-item .pb-count{position:absolute;top:-2px;right:0;background:var(--pb-red);color:#fff;font-size:.55rem;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #fff}

/* Tablet & Below */
@media(max-width:991px){
  .pb-topbar .d-flex{flex-wrap:wrap;justify-content:center;gap:.5rem}
  .pb-catnav{display:none}
  .pb-filter-sidebar{display:none}
  aside.col-lg-3{display:none}
  .col-lg-9{width:100%;max-width:100%}
  .pb-mobile-filter-toggle{display:inline-flex!important;align-items:center;gap:.4rem;padding:.45rem .85rem;border-radius:8px;background:var(--pb-primary);color:#fff;font-weight:600;font-size:.85rem;border:none;cursor:pointer}
  .pb-mobile-bottom{display:block}
  body{padding-bottom:60px}
}

/* Mobile Navbar */
@media(max-width:991px){
  .pb-header{padding:.5rem 0}
  .pb-search{display:none}
  .pb-header .navbar-brand img{height:36px!important}
  .navbar-toggler{border:none;padding:.35rem;font-size:1.1rem;color:var(--pb-green)}
  .navbar-toggler:focus{box-shadow:none}
  .navbar-collapse{position:absolute;top:100%;left:0;right:0;background:#fff;padding:1rem;border-radius:0 0 var(--pb-radius-lg) var(--pb-radius-lg);box-shadow:var(--pb-shadow-lg);z-index:1050}
  .navbar-nav{gap:.15rem}
  .navbar-nav .nav-link{padding:.65rem 1rem!important;border-radius:10px;font-size:.95rem;min-height:44px;display:flex;align-items:center}
  .navbar-nav .nav-link i{margin-right:.5rem;width:20px;text-align:center}
  .navbar-nav .dropdown-menu{position:static!important;box-shadow:none;border:1px solid var(--pb-border);margin-top:.25rem}
  /* Mobile Search in navbar */
  .pb-mobile-search{display:block;padding:.5rem 0}
  .pb-mobile-search .form-control{border-radius:var(--pb-radius-pill);font-size:16px!important}
}
@media(min-width:992px){
  .pb-mobile-search{display:none}
}

/* Tablet */
@media(max-width:768px){
  .pb-hero .carousel-item img{max-height:280px}
  .card:hover{transform:translateY(-1px)}
  .btn-lg{padding:.55rem 1.25rem;font-size:.95rem}
  h3,h4{font-size:1.15rem}
  .table{font-size:.85rem}
  .pb-section{padding:2rem 0}
  .pb-trust-item{padding:1rem .75rem}
  .pb-newsletter{padding:2.5rem 0}
  .pb-newsletter h2{font-size:1.3rem}
  .carousel-item img{max-height:280px;object-fit:cover}
  .dropdown-menu{max-width:300px}
  .pb-cart-table{display:none!important}
  .pb-cart-mobile{display:block!important}
  .col-md-6,.col-md-7,.col-md-5{width:100%!important;max-width:100%!important;flex:0 0 100%!important}
  [style*="position:sticky"]{position:relative!important;top:auto!important}
  input[type="text"],input[type="email"],input[type="tel"],input[type="number"],
  input[type="password"],textarea,select,.form-control,.form-select{font-size:16px!important}
  .pb-footer{text-align:center}
  .pb-footer h5::after,.pb-footer .pb-footer-title::after{left:50%;transform:translateX(-50%)}
  .pb-footer-social{justify-content:center}
  .pb-footer .pb-footer-link{justify-content:center}
  .pb-footer-contact{text-align:center}
  /* Admin */
  .pb-admin-sidebar{position:fixed;left:-280px;top:0;bottom:0;z-index:1040;transition:left .3s ease;background:#fff;box-shadow:2px 0 10px rgba(0,0,0,.1)}
  .pb-admin-sidebar.show{left:0}
  .pb-admin-main{width:100%!important}
  .pb-admin-layout .table{min-width:560px}
  .pb-admin-layout .table-responsive{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  html,body{overflow-x:hidden;max-width:100vw}
}
@media(min-width:769px){
  .pb-cart-mobile{display:none!important}
}

/* Small Mobile */
@media(max-width:576px){
  .pb-hero .carousel-item img{max-height:200px}
  .pb-product-info{padding:.65rem}
  .pb-product-name{font-size:.82rem;min-height:2.2em}
  .pb-product-footer{padding:0 .65rem .65rem}
  .pb-product-footer .btn{font-size:.78rem;padding:.4rem}
  .pb-product-actions{opacity:1;transform:none}
  .pb-product-action-btn{width:28px;height:28px;font-size:.7rem}
  .pb-badge{font-size:.62rem;padding:.2rem .4rem}
  .pb-price-current{font-size:.95rem}
  .card{border-radius:var(--pb-radius)}
  .btn{font-size:.85rem;padding:.4rem 1rem}
  h1{font-size:1.4rem!important}
  h2{font-size:1.2rem!important}
  .modal-dialog{margin:.5rem}
  .modal-content{border-radius:var(--pb-radius)}
  .alert{padding:.65rem .85rem;font-size:.88rem}
  .pagination{justify-content:center;flex-wrap:wrap}
  .page-link{padding:.3rem .6rem;font-size:.8rem}
  .pb-newsletter-form .input-group{flex-direction:column;gap:.5rem;background:transparent;padding:0}
  .pb-newsletter-form .form-control{border-radius:var(--pb-radius-pill)!important;border:none;width:100%}
  .pb-newsletter-form .btn{border-radius:var(--pb-radius-pill)!important;width:100%}
  .pb-shopping-window{max-width:100%;width:100%!important;border-left:none;border-top:3px solid var(--pb-primary)}
  .d-flex.gap-2.flex-wrap>form,.d-flex.gap-2.flex-wrap>a{width:100%}
  .mb-4{margin-bottom:1rem!important}
  .g-4,.gap-4{gap:.75rem!important}
}

/* Mobile Search Bar for Shop */
@media(max-width:991px){
  .pb-mobile-filter-toggle{display:inline-flex!important}
}

/* ------------------------------------------------
   30. PRINT
   ------------------------------------------------ */
@media print{
  .pb-topbar,.pb-header,.pb-catnav,.pb-footer,.pb-mobile-bottom,.btn,nav,aside,.offcanvas{display:none!important}
  .card{box-shadow:none!important;border:1px solid #ddd!important}
  body{background:#fff;padding:0}
}
