@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

/* ============================================================
   BPP Cart, Checkout, Shop Archive & Mini-Cart — v4
   ============================================================ */

:root {
  --bpp-navy: #1a2744;
  --bpp-gold: #f5c518;
  --bpp-blue: #2E3687;
  --bpp-blue-light: #3d47a8;
  --bpp-green: #16a34a;
  --bpp-green-bg: #f0fdf4;
  --bpp-bg: #f7f8fb;
  --bpp-white: #ffffff;
  --bpp-border: #e2e5ea;
  --bpp-text: #1e293b;
  --bpp-muted: #64748b;
  --bpp-radius: 14px;
  --bpp-radius-sm: 8px;
}

/* ---- SCOPED FONT ---- */
.woocommerce-cart .entry-content,
.woocommerce-cart .site-main > .woocommerce,
.woocommerce-checkout .entry-content,
.woocommerce-checkout .site-main > .woocommerce,
.woocommerce-cart .elementor-widget-theme-post-content,
.woocommerce-checkout .elementor-widget-theme-post-content {
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
  -webkit-font-smoothing: antialiased;
  color: var(--bpp-text);
}
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-cart .elementor-widget-theme-post-content > .elementor-widget-container,
.woocommerce-checkout .elementor-widget-theme-post-content > .elementor-widget-container {
  max-width: 100% !important;
  padding: 0 !important;
}
.woocommerce-cart .page-title,
.woocommerce-checkout .page-title,
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title {
  display: none !important;
}

/* ============================================================
   NOTICES
   ============================================================ */
.woocommerce-cart .woocommerce-message,
.woocommerce-checkout .woocommerce-message {
  font-family: 'Poppins', sans-serif !important;
  background: var(--bpp-green-bg) !important;
  border: 1px solid #bbf7d0 !important;
  border-top: 3px solid var(--bpp-green) !important;
  border-radius: var(--bpp-radius-sm) !important;
  color: var(--bpp-text) !important;
  padding: 14px 20px !important;
  font-size: 14px !important;
  margin-bottom: 20px !important;
}
.woocommerce-cart .woocommerce-message::before,
.woocommerce-checkout .woocommerce-message::before { color: var(--bpp-green) !important; }
.woocommerce-cart .woocommerce-info,
.woocommerce-checkout .woocommerce-info {
  font-family: 'Poppins', sans-serif !important;
  background: #eff6ff !important;
  border: 1px solid #bfdbfe !important;
  border-top: 3px solid var(--bpp-blue) !important;
  border-radius: var(--bpp-radius-sm) !important;
  color: var(--bpp-text) !important;
  padding: 14px 20px !important;
  font-size: 14px !important;
}
.woocommerce-cart .woocommerce-info::before,
.woocommerce-checkout .woocommerce-info::before { display: none !important; }
.woocommerce-cart .woocommerce-error,
.woocommerce-checkout .woocommerce-error {
  font-family: 'Poppins', sans-serif !important;
  background: #fef2f2 !important;
  border: 1px solid #fecaca !important;
  border-top: 3px solid #dc2626 !important;
  border-radius: var(--bpp-radius-sm) !important;
  color: var(--bpp-text) !important;
  padding: 14px 20px !important;
  font-size: 14px !important;
  list-style: none !important;
}
.woocommerce-message a,
.woocommerce-info a { color: var(--bpp-blue) !important; font-weight: 600 !important; }

/* ============================================================
   CART PAGE
   ============================================================ */
.woocommerce-cart .woocommerce {
  max-width: 1100px;
  margin: 0 auto;
  padding: 32px 24px 48px !important;
}
.woocommerce-cart .woocommerce > form.woocommerce-cart-form::before {
  content: 'Your Basket';
  display: block;
  font-family: 'Poppins', sans-serif;
  font-size: 26px;
  font-weight: 600;
  color: var(--bpp-navy);
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 2px solid var(--bpp-border);
}
.woocommerce-cart table.shop_table.cart {
  border: 1px solid var(--bpp-border) !important;
  border-radius: var(--bpp-radius) !important;
  overflow: hidden !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: var(--bpp-white) !important;
  box-shadow: 0 2px 16px rgba(0,0,0,.05) !important;
  width: 100% !important;
}
.woocommerce-cart table.shop_table.cart thead th {
  font-family: 'Poppins', sans-serif !important;
  background: var(--bpp-navy) !important;
  color: #fff !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: .8px !important;
  padding: 14px 18px !important;
  border: none !important;
}
.woocommerce-cart table.shop_table.cart td {
  font-family: 'Poppins', sans-serif !important;
  padding: 18px !important;
  border-top: 1px solid var(--bpp-border) !important;
  font-size: 14px !important;
  color: var(--bpp-text) !important;
  vertical-align: middle !important;
  background: var(--bpp-white) !important;
}
.woocommerce-cart table.shop_table.cart td.product-remove { width: 40px !important; text-align: center !important; padding: 18px 8px !important; }
.woocommerce-cart table.shop_table.cart td.product-remove a.remove {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  width: 30px !important; height: 30px !important; border-radius: 50% !important;
  background: #fef2f2 !important; color: #dc2626 !important; font-size: 18px !important;
  text-decoration: none !important; transition: all .2s !important; line-height: 1 !important;
}
.woocommerce-cart table.shop_table.cart td.product-remove a.remove:hover { background: #dc2626 !important; color: #fff !important; }
.woocommerce-cart table.shop_table.cart td.product-thumbnail { width: 100px !important; padding: 18px 12px !important; }
.woocommerce-cart table.shop_table.cart td.product-thumbnail img { max-width: 80px !important; border-radius: 6px !important; }
.product-number-cart {
  background: var(--bpp-gold) !important; border: 3px solid #333 !important; border-radius: 6px !important;
  padding: 8px 12px !important; font-family: 'CharlesWright', sans-serif !important; font-weight: bold !important;
  font-size: 13px !important; color: #111 !important; letter-spacing: 2px !important;
  display: inline-block !important; text-align: center !important; white-space: nowrap !important;
}
.product-number-cart span { font-family: 'CharlesWright', sans-serif !important; font-weight: bold !important; font-size: 13px !important; color: #111 !important; letter-spacing: 2px !important; }
.woocommerce-cart table.shop_table.cart td.product-name { font-weight: 600 !important; font-size: 15px !important; color: var(--bpp-navy) !important; }
.woocommerce-cart table.shop_table.cart td.product-name a { color: var(--bpp-navy) !important; text-decoration: none !important; font-family: 'Poppins', sans-serif !important; }
.woocommerce-cart table.shop_table.cart td.product-name dl.variation,
.woocommerce-cart table.shop_table.cart td.product-name .wc-item-meta { font-weight: 400 !important; font-size: 12px !important; color: var(--bpp-muted) !important; margin: 6px 0 0 !important; padding: 0 !important; }
.woocommerce-cart table.shop_table.cart td.product-name dl.variation dt { float: none !important; display: inline !important; font-weight: 500 !important; }
.woocommerce-cart table.shop_table.cart td.product-name dl.variation dd { margin: 0 !important; display: inline !important; }
.woocommerce-cart table.shop_table.cart td.product-name dl.variation dd p { display: inline !important; margin: 0 !important; }
.woocommerce-cart table.shop_table.cart td.product-price,
.woocommerce-cart table.shop_table.cart td.product-subtotal { font-weight: 700 !important; font-size: 15px !important; color: var(--bpp-navy) !important; white-space: nowrap !important; }
.woocommerce-cart table.shop_table.cart td.product-subtotal small,
.woocommerce-cart table.shop_table.cart td.product-price small { font-weight: 400 !important; font-size: 11px !important; color: var(--bpp-muted) !important; display: block !important; }
.woocommerce-cart table.shop_table.cart td.product-quantity { width: 100px !important; }
.woocommerce-cart .quantity input.qty {
  font-family: 'Poppins', sans-serif !important; width: 56px !important; padding: 8px 6px !important;
  border: 1px solid var(--bpp-border) !important; border-radius: var(--bpp-radius-sm) !important;
  font-size: 14px !important; font-weight: 600 !important; text-align: center !important; color: var(--bpp-navy) !important;
}
.woocommerce-cart .quantity input.qty:focus { border-color: var(--bpp-blue) !important; outline: none !important; box-shadow: 0 0 0 3px rgba(46,54,135,.1) !important; }
.woocommerce-cart table.shop_table.cart td.actions { background: var(--bpp-bg) !important; padding: 16px 18px !important; }
.woocommerce-cart table.shop_table.cart td.actions .coupon { display: inline-flex !important; gap: 8px !important; align-items: center !important; }
.woocommerce-cart table.shop_table.cart td.actions .coupon #coupon_code { font-family: 'Poppins', sans-serif !important; padding: 10px 14px !important; border: 1px solid var(--bpp-border) !important; border-radius: var(--bpp-radius-sm) !important; font-size: 13px !important; width: 180px !important; }
.woocommerce-cart table.shop_table.cart td.actions .coupon #coupon_code:focus { border-color: var(--bpp-blue) !important; outline: none !important; box-shadow: 0 0 0 3px rgba(46,54,135,.1) !important; }
.woocommerce-cart table.shop_table.cart td.actions button,
.woocommerce-cart table.shop_table.cart td.actions input[type="submit"] {
  font-family: 'Poppins', sans-serif !important; padding: 10px 20px !important; border-radius: var(--bpp-radius-sm) !important;
  border: 1px solid var(--bpp-border) !important; background: var(--bpp-white) !important; color: var(--bpp-navy) !important;
  font-weight: 600 !important; font-size: 13px !important; cursor: pointer !important; transition: all .2s !important;
}
.woocommerce-cart table.shop_table.cart td.actions button:hover,
.woocommerce-cart table.shop_table.cart td.actions input[type="submit"]:hover { background: var(--bpp-navy) !important; color: #fff !important; border-color: var(--bpp-navy) !important; }
.woocommerce-cart .cart_totals { float: none !important; width: 100% !important; max-width: 420px !important; margin-left: auto !important; margin-top: 28px !important; }
.woocommerce-cart .cart_totals > h2 { font-family: 'Poppins', sans-serif !important; font-size: 20px !important; font-weight: 600 !important; color: var(--bpp-navy) !important; margin-bottom: 14px !important; }
.woocommerce-cart .cart_totals .shop_table { border: 1px solid var(--bpp-border) !important; border-radius: var(--bpp-radius) !important; overflow: hidden !important; border-collapse: separate !important; border-spacing: 0 !important; background: var(--bpp-white) !important; box-shadow: 0 2px 16px rgba(0,0,0,.05) !important; }
.woocommerce-cart .cart_totals .shop_table th,
.woocommerce-cart .cart_totals .shop_table td { font-family: 'Poppins', sans-serif !important; padding: 14px 18px !important; border-top: 1px solid var(--bpp-border) !important; font-size: 14px !important; }
.woocommerce-cart .cart_totals .shop_table tr:first-child th,
.woocommerce-cart .cart_totals .shop_table tr:first-child td { border-top: none !important; }
.woocommerce-cart .cart_totals .shop_table th { font-weight: 600 !important; color: var(--bpp-navy) !important; }
.woocommerce-cart .cart_totals .shop_table .order-total th,
.woocommerce-cart .cart_totals .shop_table .order-total td { font-size: 19px !important; font-weight: 700 !important; color: var(--bpp-navy) !important; background: var(--bpp-bg) !important; }
.woocommerce-cart .cart_totals .shop_table .order-total .includes_tax { font-size: 11px !important; font-weight: 400 !important; color: var(--bpp-muted) !important; display: block !important; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: block !important; width: 100% !important; padding: 16px 24px !important;
  background: var(--bpp-green) !important; color: #fff !important; font-family: 'Poppins', sans-serif !important;
  font-size: 17px !important; font-weight: 600 !important; border: none !important; border-radius: 10px !important;
  text-align: center !important; text-decoration: none !important; transition: all .2s !important; margin-top: 16px !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover { background: #15803d !important; transform: translateY(-1px) !important; box-shadow: 0 4px 16px rgba(22,163,74,.3) !important; }
.woocommerce-cart .cart-empty { font-family: 'Poppins', sans-serif !important; text-align: center !important; padding: 48px 24px !important; font-size: 16px !important; color: var(--bpp-muted) !important; }
.woocommerce-cart .return-to-shop a { display: inline-block !important; padding: 14px 28px !important; background: var(--bpp-navy) !important; color: #fff !important; font-family: 'Poppins', sans-serif !important; font-size: 15px !important; font-weight: 600 !important; border-radius: 10px !important; text-decoration: none !important; }

/* ============================================================
   CHECKOUT — TWO COLUMN (sticky sidebar via JS wrapper)
   ============================================================ */
.woocommerce-checkout .woocommerce { max-width: 1140px; margin: 0 auto; padding: 32px 24px 48px !important; }
.woocommerce-checkout form.checkout {
  display: grid !important;
  grid-template-columns: 1.15fr 1fr !important;
  gap: 32px !important;
  align-items: start !important;
}
.woocommerce-checkout #customer_details { grid-column: 1 !important; grid-row: 1 / span 3 !important; margin-bottom: 0 !important; }
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 { float: none !important; width: 100% !important; padding: 0 !important; margin: 0 !important; }
/* When JS wrapper is present */
.woocommerce-checkout .bpp-checkout-sidebar { grid-column: 2 !important; grid-row: 1 / span 3 !important; position: sticky !important; top: 24px !important; }
/* Fallback when JS hasn't run */
.woocommerce-checkout #order_review_heading { grid-column: 2 !important; grid-row: 1 !important; }
.woocommerce-checkout #order_review { grid-column: 2 !important; grid-row: 2 / span 2 !important; }
.woocommerce-checkout #order_review { margin-top: 0 !important; }
/* Place order button full width */
.woocommerce-checkout #place_order { width: 100% !important; display: block !important; padding: 16px 24px !important; }
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-shipping-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields > h3,
.woocommerce-checkout #order_review_heading {
  font-family: 'Poppins', sans-serif !important; font-size: 20px !important; font-weight: 600 !important;
  color: var(--bpp-navy) !important; margin: 0 0 20px !important; padding-bottom: 12px !important;
  border-bottom: 2px solid var(--bpp-border) !important;
}
.woocommerce-checkout .form-row { margin-bottom: 14px !important; padding: 0 !important; }
.woocommerce-checkout .form-row label { font-family: 'Poppins', sans-serif !important; font-size: 13px !important; font-weight: 600 !important; color: var(--bpp-navy) !important; margin-bottom: 5px !important; display: block !important; }
.woocommerce-checkout .form-row label .required { color: #dc2626 !important; }
.woocommerce-checkout .checkout input[type="text"],
.woocommerce-checkout .checkout input[type="email"],
.woocommerce-checkout .checkout input[type="tel"],
.woocommerce-checkout .checkout input[type="number"],
.woocommerce-checkout .checkout input[type="password"],
.woocommerce-checkout .checkout select,
.woocommerce-checkout .checkout textarea,
.woocommerce-checkout .checkout .select2-container--default .select2-selection--single {
  font-family: 'Poppins', sans-serif !important; padding: 12px 14px !important;
  border: 1px solid var(--bpp-border) !important; border-radius: var(--bpp-radius-sm) !important;
  color: var(--bpp-text) !important; background: var(--bpp-white) !important; font-size: 14px !important;
  line-height: 1.4 !important; height: auto !important; width: 100% !important;
  transition: border-color .2s, box-shadow .2s !important; box-sizing: border-box !important;
}
.woocommerce-checkout .checkout input:focus,
.woocommerce-checkout .checkout select:focus,
.woocommerce-checkout .checkout textarea:focus { border-color: var(--bpp-blue) !important; outline: none !important; box-shadow: 0 0 0 3px rgba(46,54,135,.1) !important; }
.woocommerce-checkout .select2-container--default .select2-selection--single { height: auto !important; }
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered { font-family: 'Poppins', sans-serif !important; padding: 0 !important; line-height: 1.4 !important; font-size: 14px !important; color: var(--bpp-text) !important; }
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { top: 50% !important; transform: translateY(-50%) !important; right: 10px !important; }
.woocommerce-checkout #order_review { margin-top: 0 !important; }
.woocommerce-checkout table.shop_table {
  font-family: 'Poppins', sans-serif !important; border: 1px solid var(--bpp-border) !important;
  border-radius: var(--bpp-radius) !important; overflow: hidden !important;
  border-collapse: separate !important; border-spacing: 0 !important;
  background: var(--bpp-white) !important; box-shadow: 0 2px 12px rgba(0,0,0,.04) !important;
  width: 100% !important; margin-bottom: 16px !important;
}
.woocommerce-checkout table.shop_table thead th { font-family: 'Poppins', sans-serif !important; background: var(--bpp-navy) !important; color: #fff !important; font-weight: 600 !important; font-size: 12px !important; text-transform: uppercase !important; letter-spacing: .8px !important; padding: 12px 16px !important; border: none !important; }
.woocommerce-checkout table.shop_table td,
.woocommerce-checkout table.shop_table tbody th,
.woocommerce-checkout table.shop_table tfoot th,
.woocommerce-checkout table.shop_table tfoot td { font-family: 'Poppins', sans-serif !important; padding: 12px 16px !important; border-top: 1px solid var(--bpp-border) !important; font-size: 13px !important; color: var(--bpp-text) !important; vertical-align: top !important; }
.woocommerce-checkout table.shop_table td.product-name { font-weight: 600 !important; color: var(--bpp-navy) !important; font-size: 14px !important; }
.woocommerce-checkout table.shop_table td.product-name .wc-item-meta,
.woocommerce-checkout table.shop_table td.product-name dl.variation,
.woocommerce-checkout table.shop_table td.product-name ul { font-weight: 400 !important; font-size: 11px !important; color: var(--bpp-muted) !important; margin: 4px 0 0 !important; padding: 0 !important; list-style: none !important; line-height: 1.5 !important; }
.woocommerce-checkout table.shop_table td.product-name .wc-item-meta li { margin: 1px 0 !important; padding: 0 !important; }
.woocommerce-checkout table.shop_table td.product-name .wc-item-meta li p,
.woocommerce-checkout table.shop_table td.product-name .wc-item-meta li strong { font-size: 11px !important; display: inline !important; }
.woocommerce-checkout table.shop_table tfoot th { font-weight: 600 !important; color: var(--bpp-navy) !important; font-size: 14px !important; }
.woocommerce-checkout table.shop_table tfoot td { font-weight: 600 !important; font-size: 14px !important; }
.woocommerce-checkout table.shop_table tfoot .order-total th,
.woocommerce-checkout table.shop_table tfoot .order-total td { font-size: 19px !important; font-weight: 700 !important; color: var(--bpp-navy) !important; background: var(--bpp-bg) !important; }
.woocommerce-checkout table.shop_table tfoot .order-total .includes_tax { font-size: 11px !important; font-weight: 400 !important; color: var(--bpp-muted) !important; display: block !important; }
.woocommerce-checkout #payment { font-family: 'Poppins', sans-serif !important; background: var(--bpp-white) !important; border: 1px solid var(--bpp-border) !important; border-radius: var(--bpp-radius) !important; overflow: hidden !important; box-shadow: 0 2px 12px rgba(0,0,0,.04) !important; padding: 10px !important; }
.woocommerce-checkout #payment ul.payment_methods { padding: 16px !important; margin: 0 !important; border-bottom: 1px solid var(--bpp-border) !important; list-style: none !important; background: transparent !important; }
.woocommerce-checkout #payment ul.payment_methods li { margin: 0 0 8px !important; padding: 12px 14px !important; border: 1px solid var(--bpp-border) !important; border-radius: var(--bpp-radius-sm) !important; background: var(--bpp-white) !important; list-style: none !important; }
.woocommerce-checkout #payment ul.payment_methods li:last-child { margin-bottom: 0 !important; }
.woocommerce-checkout #payment ul.payment_methods li label { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: var(--bpp-navy) !important; cursor: pointer !important; }
.woocommerce-checkout #payment div.payment_box { background: var(--bpp-bg) !important; border-radius: var(--bpp-radius-sm) !important; font-size: 13px !important; color: var(--bpp-muted) !important; padding: 12px 16px !important; margin-top: 8px !important; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--bpp-bg) !important; }
.woocommerce-checkout #place_order {
  display: block !important; width: 100% !important; padding: 18px 24px !important;
  background: var(--bpp-green) !important; color: #fff !important; font-family: 'Poppins', sans-serif !important;
  font-size: 18px !important; font-weight: 600 !important; border: none !important; border-radius: 10px !important;
  cursor: pointer !important; transition: all .2s !important; text-transform: none !important; margin-top: 4px !important;
}
.woocommerce-checkout #place_order:hover { background: #15803d !important; transform: translateY(-1px) !important; box-shadow: 0 4px 16px rgba(22,163,74,.3) !important; }
.woocommerce-checkout .woocommerce-privacy-policy-text { font-family: 'Poppins', sans-serif !important; font-size: 12px !important; color: var(--bpp-muted) !important; padding: 12px 16px !important; }
.woocommerce-checkout .woocommerce-privacy-policy-text a { color: var(--bpp-blue) !important; }
.woocommerce-checkout .checkout_coupon { border: 1px solid var(--bpp-border) !important; border-radius: var(--bpp-radius) !important; padding: 16px !important; background: var(--bpp-white) !important; margin-bottom: 20px !important; }
.woocommerce-checkout .checkout_coupon p { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; color: var(--bpp-text) !important; margin: 0 0 10px !important; }
.woocommerce-checkout .checkout_coupon .form-row { display: inline-block !important; vertical-align: top !important; margin-bottom: 0 !important; }
.woocommerce-checkout .checkout_coupon .form-row-first { width: 65% !important; padding-right: 8px !important; float: none !important; display: inline-block !important; }
.woocommerce-checkout .checkout_coupon .form-row-last { width: 34% !important; float: none !important; display: inline-block !important; }
.woocommerce-checkout .checkout_coupon input[type="text"] { width: 100% !important; }
.woocommerce-checkout .checkout_coupon button,
.woocommerce-checkout .checkout_coupon input[type="submit"] { font-family: 'Poppins', sans-serif !important; padding: 12px 20px !important; border-radius: var(--bpp-radius-sm) !important; background: var(--bpp-navy) !important; color: #fff !important; border: none !important; font-weight: 600 !important; font-size: 14px !important; cursor: pointer !important; transition: all .2s !important; width: 100% !important; }
.woocommerce-checkout .checkout_coupon button:hover { background: var(--bpp-blue) !important; }
.woocommerce-checkout .woocommerce-additional-fields { margin-top: 8px !important; }
.woocommerce-checkout .woocommerce-additional-fields textarea { min-height: 80px !important; resize: vertical !important; }
.woocommerce-checkout .blockUI.blockOverlay { background: rgba(255,255,255,.8) !important; }

/* ============================================================
   ORDER RECEIVED
   ============================================================ */
.woocommerce-order-received .woocommerce { max-width: 800px; margin: 0 auto; padding: 32px 24px 48px !important; font-family: 'Poppins', sans-serif; }
.woocommerce-order-received .woocommerce-thankyou-order-received { font-family: 'Poppins', sans-serif !important; font-size: 16px !important; color: var(--bpp-green) !important; font-weight: 600 !important; background: var(--bpp-green-bg) !important; border: 1px solid #bbf7d0 !important; border-radius: var(--bpp-radius) !important; padding: 20px 24px !important; text-align: center !important; margin-bottom: 24px !important; }

/* ============================================================
   SHOP ARCHIVE / PRODUCT LOOP
   ============================================================ */
.woocommerce.archive .site-main,
.post-type-archive-product .site-main,
.tax-product_cat .site-main { font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif; }
.woocommerce .woocommerce-breadcrumb { font-family: 'Poppins', sans-serif !important; font-size: 13px !important; color: var(--bpp-muted) !important; padding: 12px 0 !important; margin-bottom: 16px !important; }
.woocommerce .woocommerce-breadcrumb a { color: var(--bpp-blue) !important; text-decoration: none !important; }
.woocommerce .woocommerce-breadcrumb a:hover { text-decoration: underline !important; }
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering { font-family: 'Poppins', sans-serif !important; font-size: 13px !important; color: var(--bpp-muted) !important; }
.woocommerce .woocommerce-ordering select { font-family: 'Poppins', sans-serif !important; padding: 8px 12px !important; border: 1px solid var(--bpp-border) !important; border-radius: var(--bpp-radius-sm) !important; font-size: 13px !important; color: var(--bpp-text) !important; background: var(--bpp-white) !important; }
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 24px !important; padding: 0 !important; list-style: none !important; }
.woocommerce ul.products li.product {
  background: var(--bpp-white) !important; border: 1px solid var(--bpp-border) !important;
  border-radius: var(--bpp-radius) !important; overflow: hidden !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.04) !important; transition: transform .2s, box-shadow .2s !important;
  padding: 0 !important; margin: 0 !important; width: 100% !important; float: none !important;
  display: flex !important; flex-direction: column !important;
}
.woocommerce ul.products li.product:hover { transform: translateY(-3px) !important; box-shadow: 0 8px 24px rgba(0,0,0,.1) !important; }
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail { width: 100% !important; height: 220px !important; object-fit: cover !important; border-radius: 0 !important; margin: 0 !important; display: block !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 { font-family: 'Poppins', sans-serif !important; font-size: 15px !important; font-weight: 600 !important; color: var(--bpp-navy) !important; padding: 16px 16px 4px !important; margin: 0 !important; line-height: 1.3 !important; }
.woocommerce ul.products li.product a { text-decoration: none !important; }
.woocommerce ul.products li.product .price { font-family: 'Poppins', sans-serif !important; font-size: 18px !important; font-weight: 600 !important; color: var(--bpp-navy) !important; padding: 4px 16px 12px !important; display: block !important; }
.woocommerce ul.products li.product .price del { font-size: 13px !important; color: var(--bpp-muted) !important; font-weight: 400 !important; }
.woocommerce ul.products li.product .price ins { text-decoration: none !important; font-weight: 600 !important; color: #dc2626 !important; }
.woocommerce ul.products li.product .onsale { background: #dc2626 !important; color: #fff !important; font-family: 'Poppins', sans-serif !important; font-size: 11px !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: .5px !important; padding: 4px 10px !important; border-radius: 0 0 var(--bpp-radius-sm) 0 !important; position: absolute !important; top: 0 !important; left: 0 !important; z-index: 2 !important; min-width: auto !important; min-height: auto !important; line-height: 1.5 !important; }
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.add_to_cart_button,
.woocommerce ul.products li.product a.product_type_simple,
.woocommerce ul.products li.product a.product_type_variable {
  display: block !important; width: calc(100% - 32px) !important; margin: auto 16px 16px !important;
  padding: 12px 16px !important; background: var(--bpp-navy) !important; color: #fff !important;
  font-family: 'Poppins', sans-serif !important; font-size: 13px !important; font-weight: 600 !important;
  text-transform: uppercase !important; letter-spacing: .5px !important; border: none !important;
  border-radius: var(--bpp-radius-sm) !important; text-align: center !important; text-decoration: none !important;
  cursor: pointer !important; transition: all .2s !important; margin-top: auto !important;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.add_to_cart_button:hover { background: var(--bpp-blue) !important; }
.woocommerce ul.products li.product .star-rating { margin: 0 16px 8px !important; font-size: 12px !important; }
.woocommerce nav.woocommerce-pagination { margin-top: 32px !important; text-align: center !important; }
.woocommerce nav.woocommerce-pagination ul { display: inline-flex !important; gap: 6px !important; border: none !important; }
.woocommerce nav.woocommerce-pagination ul li { border: none !important; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span { font-family: 'Poppins', sans-serif !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 40px !important; height: 40px !important; border-radius: var(--bpp-radius-sm) !important; font-size: 14px !important; font-weight: 600 !important; color: var(--bpp-text) !important; background: var(--bpp-white) !important; border: 1px solid var(--bpp-border) !important; text-decoration: none !important; transition: all .2s !important; }
.woocommerce nav.woocommerce-pagination ul li a:hover { background: var(--bpp-navy) !important; color: #fff !important; border-color: var(--bpp-navy) !important; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--bpp-navy) !important; color: #fff !important; border-color: var(--bpp-navy) !important; }

/* ============================================================
   ELEMENTOR SIDE-CART — Container & Close
   ============================================================ */
.elementor-menu-cart__container { font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif !important; }
.elementor-menu-cart__main { background: var(--bpp-white) !important; display: flex !important; flex-direction: column !important; height: 100% !important; }
.elementor-menu-cart__close-button,
.elementor-menu-cart__close { font-family: 'Poppins', sans-serif !important; font-weight: 600 !important; color: var(--bpp-text) !important; transition: color .2s !important; }
.elementor-menu-cart__close-button:hover { color: #dc2626 !important; }

/* ============================================================
   MOBILE — CART
   ============================================================ */
@media (max-width: 768px) {
  .woocommerce-cart table.shop_table.cart,
  .woocommerce-cart table.shop_table.cart thead,
  .woocommerce-cart table.shop_table.cart tbody,
  .woocommerce-cart table.shop_table.cart tr,
  .woocommerce-cart table.shop_table.cart td { display: block !important; width: 100% !important; }
  .woocommerce-cart table.shop_table.cart thead { display: none !important; }
  .woocommerce-cart table.shop_table.cart tbody tr { border-bottom: 1px solid var(--bpp-border) !important; padding: 16px 0 !important; position: relative !important; }
  .woocommerce-cart table.shop_table.cart td { border: none !important; padding: 4px 16px !important; text-align: left !important; }
  .woocommerce-cart table.shop_table.cart td.product-remove { position: absolute !important; right: 8px !important; top: 16px !important; width: auto !important; padding: 0 8px !important; }
  .woocommerce-cart .cart_totals { max-width: 100% !important; }
}

/* ============================================================
   MOBILE — CHECKOUT
   ============================================================ */
@media (max-width: 768px) {
  .woocommerce-checkout form.checkout { grid-template-columns: 1fr !important; }
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review,
  .woocommerce-checkout .bpp-checkout-sidebar { grid-column: 1 !important; grid-row: auto !important; position: static !important; }
  .woocommerce-checkout .woocommerce { padding: 20px 16px 40px !important; }
}

/* ============================================================
   MOBILE — SHOP ARCHIVE
   ============================================================ */
@media (max-width: 768px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: 14px !important; }
  .woocommerce ul.products li.product a img,
  .woocommerce ul.products li.product .attachment-woocommerce_thumbnail { height: 160px !important; }
  .woocommerce ul.products li.product .button,
  .woocommerce ul.products li.product a.add_to_cart_button { width: calc(100% - 20px) !important; margin: auto 10px 10px !important; padding: 10px 12px !important; font-size: 12px !important; }
}
@media (max-width: 480px) {
  .woocommerce ul.products { grid-template-columns: 1fr !important; gap: 16px !important; }
  .woocommerce ul.products li.product a img,
  .woocommerce ul.products li.product .attachment-woocommerce_thumbnail { height: 200px !important; }
}

/* ============================================================
   ELEMENTOR SIDE-CART / MINI-CART
   Targets the actual Elementor Pro Menu Cart widget HTML
   ============================================================ */

/* Products container */
.elementor-menu-cart__products {
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif !important;
  padding: 8px 16px !important;
}

/* Each product row */
.elementor-menu-cart__product {
  display: grid !important;
  grid-template-columns: auto 1fr auto !important;
  grid-template-rows: auto auto !important;
  gap: 4px 12px !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid var(--bpp-border) !important;
  align-items: start !important;
}
.elementor-menu-cart__product:last-child { border-bottom: none !important; }

/* Plate thumbnail — col 1, spans both rows */
.elementor-menu-cart__product-image {
  grid-column: 1 !important;
  grid-row: 1 / -1 !important;
  align-self: center !important;
}
.elementor-menu-cart__product-image a { text-decoration: none !important; }
.elementor-menu-cart__product-image .product-number-cart {
  font-size: 11px !important;
  padding: 6px 10px !important;
  letter-spacing: 1.5px !important;
  border-width: 2px !important;
  border-radius: 4px !important;
  white-space: nowrap !important;
}
.elementor-menu-cart__product-image .product-number-cart span {
  font-size: 11px !important;
  letter-spacing: 1.5px !important;
}
/* If there's a regular product image instead of plate mockup */
.elementor-menu-cart__product-image img {
  width: 56px !important;
  height: 56px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
  border: 1px solid var(--bpp-border) !important;
}

/* Product name — col 2, row 1 */
.elementor-menu-cart__product-name {
  grid-column: 2 !important;
  grid-row: 1 !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--bpp-navy) !important;
  line-height: 1.3 !important;
  overflow: hidden !important;
}

/* Variation data inside product name — compact it */
.elementor-menu-cart__product-name dl.variation {
  margin: 4px 0 0 !important;
  padding: 0 !important;
  font-size: 10px !important;
  line-height: 1.4 !important;
  color: var(--bpp-muted) !important;
  font-weight: 400 !important;
  max-height: 56px !important;
  overflow: hidden !important;
}
.elementor-menu-cart__product-name dl.variation dt {
  display: inline !important;
  font-weight: 500 !important;
  font-size: 10px !important;
  color: var(--bpp-muted) !important;
}
.elementor-menu-cart__product-name dl.variation dd {
  display: inline !important;
  margin: 0 6px 0 2px !important;
  font-size: 10px !important;
  color: var(--bpp-text) !important;
}
.elementor-menu-cart__product-name dl.variation dd p {
  display: inline !important;
  margin: 0 !important;
}
/* Hide the less useful variation lines — keep only Plate Number and Transfer */
.elementor-menu-cart__product-name dl.variation dt.variation-Size,
.elementor-menu-cart__product-name dl.variation dd.variation-Size,
.elementor-menu-cart__product-name dl.variation dt.variation-Flag,
.elementor-menu-cart__product-name dl.variation dd.variation-Flag,
.elementor-menu-cart__product-name dl.variation dt.variation-Border,
.elementor-menu-cart__product-name dl.variation dd.variation-Border,
.elementor-menu-cart__product-name dl.variation dt.variation-Premiumacrylic,
.elementor-menu-cart__product-name dl.variation dd.variation-Premiumacrylic,
.elementor-menu-cart__product-name dl.variation dt.variation-Font,
.elementor-menu-cart__product-name dl.variation dd.variation-Font {
  display: none !important;
}

/* Price — col 2, row 2 */
.elementor-menu-cart__product-price {
  grid-column: 2 !important;
  grid-row: 2 !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 12px !important;
  color: var(--bpp-muted) !important;
}
.elementor-menu-cart__product-price .woocommerce-Price-amount {
  font-weight: 700 !important;
  color: var(--bpp-navy) !important;
}
.elementor-menu-cart__product-price .product-quantity {
  font-weight: 400 !important;
  color: var(--bpp-muted) !important;
}

/* Remove button — col 3, spans both rows */
.elementor-menu-cart__product-remove {
  grid-column: 3 !important;
  grid-row: 1 / -1 !important;
  align-self: center !important;
  display: flex !important;
  align-items: center !important;
}
/* Hide the duplicate elementor remove link, keep the standard one */
.elementor-menu-cart__product-remove a.elementor_remove_from_cart_button {
  display: none !important;
}
.elementor-menu-cart__product-remove a.remove_from_cart_button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  border-radius: 50% !important;
  background: #fef2f2 !important;
  color: #dc2626 !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition: all .2s !important;
}
.elementor-menu-cart__product-remove a.remove_from_cart_button::after {
  content: '×' !important;
}
.elementor-menu-cart__product-remove a.remove_from_cart_button:hover {
  background: #dc2626 !important;
  color: #fff !important;
}

/* ---- Subtotal ---- */
.elementor-menu-cart__subtotal {
  font-family: 'Poppins', sans-serif !important;
  padding: 14px 16px !important;
  border-top: 2px solid var(--bpp-navy) !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--bpp-navy) !important;
}
.elementor-menu-cart__subtotal .woocommerce-Price-amount {
  font-weight: 700 !important;
  font-size: 18px !important;
}
.elementor-menu-cart__subtotal .tax_label {
  font-size: 11px !important;
  font-weight: 400 !important;
  color: var(--bpp-muted) !important;
}

/* ---- Footer buttons ---- */
.elementor-menu-cart__footer-buttons {
  padding: 8px 16px 16px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
.elementor-menu-cart__footer-buttons a.elementor-button--view-cart {
  display: block !important;
  width: 100% !important;
  padding: 12px 16px !important;
  background: var(--bpp-white) !important;
  color: var(--bpp-navy) !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  border: 2px solid var(--bpp-navy) !important;
  border-radius: var(--bpp-radius-sm) !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: all .2s !important;
  box-sizing: border-box !important;
}
.elementor-menu-cart__footer-buttons a.elementor-button--view-cart:hover {
  background: var(--bpp-navy) !important;
  color: #fff !important;
}
.elementor-menu-cart__footer-buttons a.elementor-button--checkout {
  display: block !important;
  width: 100% !important;
  padding: 14px 16px !important;
  background: var(--bpp-green) !important;
  color: #fff !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  border: none !important;
  border-radius: var(--bpp-radius-sm) !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: all .2s !important;
  box-sizing: border-box !important;
}
.elementor-menu-cart__footer-buttons a.elementor-button--checkout:hover {
  background: #15803d !important;
}

/* ---- Empty state ---- */
.elementor-menu-cart__empty-message,
.woocommerce-mini-cart__empty-message {
  font-family: 'Poppins', sans-serif !important;
  text-align: center !important;
  padding: 32px 16px !important;
  color: var(--bpp-muted) !important;
  font-size: 14px !important;
}
