/* ==========================================================================
   BizPack brand layer
   Tokens first, then WooCommerce surfaces Elementor cannot template.
   ========================================================================== */
:root{
  --bp-gold:#C7932C;
  --bp-gold-dark:#A6771B;
  --bp-gold-tint:#FDF7EA;
  --bp-ink:#17191D;
  --bp-ink-soft:#2B2F36;
  --bp-body:#565B65;
  --bp-muted:#878D99;
  --bp-line:#EFEAE0;
  --bp-line-strong:#E2DCCE;
  --bp-cream:#FAF6EE;
  --bp-surface:#F7F4EE;
  --bp-green:#1D7A4C;
  --bp-green-tint:#E8F4ED;
  --bp-red:#C0392B;
  --bp-radius:10px;
  --bp-radius-lg:18px;
  --bp-shadow-sm:0 1px 2px rgba(23,25,29,.06);
  --bp-shadow-md:0 10px 24px -8px rgba(23,25,29,.18);
}

body{ font-family:'Hind Siliguri','Noto Sans Bengali',Helvetica,Arial,sans-serif; color:var(--bp-body); }
h1,h2,h3,h4,h5,h6{ color:var(--bp-ink); font-weight:700; line-height:1.45; }
a{ color:var(--bp-gold-dark); }
a:hover{ color:var(--bp-gold); }

/* Prices and any number set in Archivo for tabular clarity. */
.woocommerce-Price-amount,
.woocommerce-Price-currencySymbol,
.bp-num,
.quantity input,
.order-total .amount,
.cart-subtotal .amount{
  font-family:'Archivo','Hind Siliguri',Helvetica,sans-serif;
  font-variant-numeric:tabular-nums;
}

/* ---------- Buttons ---------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.wc-block-components-button{
  background:var(--bp-gold);
  color:var(--bp-ink);
  font-weight:800;
  border-radius:var(--bp-radius);
  border:none;
  padding:.85em 1.6em;
  line-height:1.4;
  box-shadow:0 8px 18px -8px rgba(199,147,44,.6);
  transition:background .15s ease, box-shadow .15s ease, transform .15s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover{
  background:var(--bp-gold-dark);
  color:#fff;
}
.woocommerce a.button.bp-ghost{
  background:transparent; color:var(--bp-ink); border:1.5px solid var(--bp-ink);
}

/* ---------- Product cards (shop + category archives) ---------- */
.woocommerce ul.products li.product{
  border:1px solid var(--bp-line);
  border-radius:var(--bp-radius-lg);
  overflow:hidden;
  background:#fff;
  text-align:left;
  box-shadow:var(--bp-shadow-sm);
  transition:box-shadow .18s ease, transform .18s ease;
}
.woocommerce ul.products li.product:hover{
  box-shadow:var(--bp-shadow-md);
  transform:translateY(-3px);
}
.woocommerce ul.products li.product a img{
  aspect-ratio:1/1;
  object-fit:cover;
  background:var(--bp-surface);
  margin:0;
  border-radius:0;
}
.woocommerce ul.products li.product .astra-shop-summary-wrap,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .button{
  padding-left:14px; padding-right:14px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size:15px; font-weight:700; color:var(--bp-ink); line-height:1.5; padding-top:12px;
}
.woocommerce ul.products li.product .price{
  color:var(--bp-ink); font-size:18px; font-weight:700; margin:6px 0 0;
}
.woocommerce ul.products li.product .price del{ color:#A2A8B3; font-weight:400; font-size:13px; }
.woocommerce ul.products li.product .button{
  display:block; margin:12px 14px 16px; text-align:center; background:var(--bp-ink); color:#fff;
}
.woocommerce ul.products li.product .button:hover{ background:var(--bp-gold); color:var(--bp-ink); }
.woocommerce span.onsale{
  background:var(--bp-red); color:#fff; border-radius:3px; font-weight:700; min-height:0; min-width:0;
  padding:5px 10px; line-height:1.2; top:12px; left:12px; right:auto;
}

/* ---------- Minimum order note ---------- */
.bizpack-min-note{
  display:flex; gap:8px; align-items:flex-start;
  background:var(--bp-gold-tint);
  border:1px solid #EDDFBE;
  border-radius:var(--bp-radius);
  padding:12px 14px;
  font-size:14.5px; line-height:1.6; color:var(--bp-body);
  margin:0 0 14px;
}
.bizpack-min-note strong{ color:var(--bp-ink); }
/* ---------- Single product ---------- */
.single-product div.product .product_title{ font-size:30px; }
.single-product div.product p.price{ font-size:34px; font-weight:700; color:var(--bp-ink); }
.single-product div.product .woocommerce-product-details__short-description{ color:var(--bp-muted); font-size:15px; }
.single-product .quantity input.qty{
  height:54px; border:1.5px solid var(--bp-line-strong); border-radius:var(--bp-radius);
  font-size:19px; font-weight:700; color:var(--bp-ink); text-align:center; max-width:110px;
}
.single-product form.cart{ display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.single-product form.cart .single_add_to_cart_button{ height:54px; display:inline-flex; align-items:center; }

/* ---------- Cart ---------- */
.woocommerce table.shop_table{
  border:1px solid var(--bp-line); border-radius:var(--bp-radius-lg); border-collapse:separate; overflow:hidden;
}
.woocommerce table.shop_table th{
  background:var(--bp-cream); color:var(--bp-ink); font-weight:700; border-bottom:1px solid var(--bp-line);
}
.woocommerce table.shop_table td{ border-top:1px solid var(--bp-line); }
.woocommerce-cart .cart-collaterals .cart_totals > h2,
.woocommerce-checkout #order_review_heading{
  background:var(--bp-cream); border:1px solid var(--bp-line); border-bottom:none;
  border-radius:var(--bp-radius-lg) var(--bp-radius-lg) 0 0; padding:16px 20px; margin:0; font-size:18px;
}
.woocommerce-cart .cart_totals table{ border-top-left-radius:0; border-top-right-radius:0; }
.woocommerce .cart_totals .order-total .amount{ font-size:26px; color:var(--bp-ink); }
.woocommerce .wc-proceed-to-checkout a.checkout-button{ font-size:17px; padding:1em; }

/* Shipping choice reads as two clear options, matching the order form. */
#shipping_method{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
#shipping_method li{
  border:1.5px solid var(--bp-line-strong); border-radius:var(--bp-radius-lg); padding:12px 14px; margin:0;
  display:flex; align-items:center; gap:10px;
}
#shipping_method li:has(input:checked){ border:2.5px solid var(--bp-gold); background:var(--bp-gold-tint); }
#shipping_method label{ display:flex; width:100%; gap:8px; align-items:baseline; font-weight:700; color:var(--bp-ink); }
#shipping_method .amount{ margin-left:auto; font-weight:700; }

/* ---------- Checkout ---------- */
.woocommerce form .form-row label{ font-weight:700; color:var(--bp-ink); font-size:14.5px; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row .select2-container .select2-selection--single{
  border:1.5px solid var(--bp-line-strong); border-radius:var(--bp-radius);
  min-height:54px; padding:12px 16px; font-size:16px; color:var(--bp-ink); background:#fff;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus{ border-color:var(--bp-gold); outline:none; }
.woocommerce-checkout #payment{ background:#fff; border:1px solid var(--bp-line); border-radius:var(--bp-radius-lg); }
.woocommerce-checkout #payment ul.payment_methods{ border-bottom:1px solid var(--bp-line); padding:18px; }
.woocommerce-checkout #payment div.form-row{ padding:18px; }
.woocommerce-checkout #payment #place_order{ width:100%; font-size:18px; padding:1em; }
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message{ border-top-color:var(--bp-gold); }
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-message::before{ color:var(--bp-gold); }
.woocommerce .woocommerce-error{ border-top-color:var(--bp-red); }

/* ---------- Mobile ---------- */
@media (max-width:921px){
  .single-product div.product .product_title{ font-size:24px; }
  .single-product div.product p.price{ font-size:28px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title{ font-size:14.5px; }
  .woocommerce ul.products li.product .price{ font-size:17px; }
  .single-product form.cart{ gap:10px; }
  .single-product form.cart .single_add_to_cart_button{ flex:1 1 auto; justify-content:center; }
  .woocommerce-checkout #payment #place_order{ font-size:17px; }
}
/* ==========================================================================
   Elementor page furniture
   Container CSS classes are not available on this Elementor build, so these
   hooks hang off the widget classes and Elementor's own structure classes.
   ========================================================================== */

/* Hero */
.bp-hero-h .elementor-heading-title{ letter-spacing:-.01em; }
.bp-hero-p{ max-width:640px; margin-inline:auto; text-align:center; font-size:16.5px; line-height:1.8; }
.bp-hero-img img{ border-radius:var(--bp-radius-lg); border:1px solid var(--bp-line); background:#fff; }
.bp-trustline-t p{ margin:0; text-align:center; font-size:13.5px; }

/* Category cards on the home page */
.elementor-element-0c5c882 > .e-con{
  align-content:flex-start;
  background:#fff;
  border:1px solid var(--bp-line);
  border-radius:var(--bp-radius-lg);
  overflow:hidden;
  box-shadow:var(--bp-shadow-sm);
  transition:box-shadow .18s ease, transform .18s ease;
}
.elementor-element-0c5c882 > .e-con:hover{
  box-shadow:var(--bp-shadow-md);
  transform:translateY(-3px);
}
.bp-cat-img img{ aspect-ratio:1/1; object-fit:cover; width:100%; background:var(--bp-surface);
  border-radius:0; display:block; }
.bp-cat-img{ margin-bottom:0 !important; }
.bp-cat-name .elementor-heading-title{ font-size:15.5px; font-weight:800; line-height:1.5; }
.bp-cat-name, .bp-cat-sub, .bp-cat-price{ padding-inline:14px; }
.bp-cat-name{ margin-top:13px; }
.bp-cat-sub p{ margin:3px 0 0; font-size:12.5px; line-height:1.5; }
.bp-cat-price{ padding-bottom:14px; }
.bp-cat-price p{ margin:10px 0 0; font-size:13px; display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.bp-cat-price strong{ font-size:14.5px; font-weight:800; color:var(--bp-gold-dark);
  font-family:'Archivo','Hind Siliguri',sans-serif; background:var(--bp-gold-tint);
  padding:5px 11px; border-radius:999px; line-height:1.3; }
.bp-instock{ margin-left:auto; font-size:11px; font-weight:800; color:var(--bp-green);
  background:var(--bp-green-tint); padding:5px 10px; border-radius:999px; }

/* Dark band */
.bp-band-eyebrow p{ margin:0; font-size:13px; font-weight:700; letter-spacing:.08em; }
.bp-band-p p{ margin:0; font-size:16px; line-height:1.8; max-width:640px; }
.bp-band-cta .elementor-button{ margin-top:6px; }

/* Section subtitles */
.bp-sec-sub p{ margin:6px 0 0; font-size:15px; }

/* Size comparison */
.bp-sizeguide{ background:var(--bp-cream); border:1px solid var(--bp-line); border-radius:var(--bp-radius-lg);
  padding:22px 18px 14px; }
.bp-sizeguide svg{ display:block; max-width:620px; margin:0 auto; height:auto; }
.bp-sizeguide-note{ margin:10px 0 0; text-align:center; font-size:12.5px; color:#A2A8B3; }

/* FAQ */
.bp-acc .elementor-accordion-item{ border-color:#E7E0D2; }
.bp-acc .elementor-tab-title{ font-size:16px; font-weight:700; color:var(--bp-ink); }
.bp-acc .elementor-tab-content{ font-size:15px; line-height:1.8; }
.bp-acc table{ width:100%; border-collapse:collapse; }

/* Header */
.bp-logo img{ max-width:152px; height:auto; }
.bp-search .hfe-search-form__input{ background:#23262B; border:1px solid #33373E; color:#fff; height:46px; }
.bp-search .hfe-search-form__input::placeholder{ color:#7E848F; }
.bp-search button, .bp-search .hfe-search-submit{ background:var(--bp-gold); color:var(--bp-ink); }
.bp-cart .hfe-menu-cart__toggle .elementor-button-icon,
.bp-cart a{ color:#fff; }
.bp-nav .hfe-nav-menu__layout-horizontal .menu-item a.hfe-menu-item{ color:var(--bp-body); font-weight:400; }
.bp-nav .hfe-nav-menu .menu-item a.hfe-menu-item:hover,
.bp-nav .hfe-nav-menu .current-menu-item > a.hfe-menu-item{ color:var(--bp-ink); }

/* Footer */
.bp-foot-about p{ margin:14px 0 0; font-size:14.5px; line-height:1.8; color:#8B919C; }
.bp-foot-head .elementor-heading-title{ margin-bottom:4px; }
.bp-foot-links .elementor-icon-list-item{ font-size:14.5px; }
.bp-foot-links .elementor-icon-list-icon{ display:none; }
.bp-foot-contact p{ margin:0 0 10px; font-size:14.5px; line-height:1.7; color:#8B919C; }
.bp-foot-contact strong{ color:#E9E4DA; font-family:'Archivo','Hind Siliguri',sans-serif; }
.bp-copy{ color:#6E7480; font-size:13.5px; }

/* Product listing pages built with the shortcode widget */
.bp-gridwrap .woocommerce ul.products{ margin:0; }

@media (max-width:767px){
  .bp-hero-p{ font-size:15.5px; }
  .bp-cat-name .elementor-heading-title{ font-size:14.5px; }
  .bp-cat-price strong{ font-size:16px; }
  .bp-instock{ font-size:11px; padding:3px 8px; }
}
/* ---------- mobile sticky action bar ---------- */
.bp-sticky{display:none}
@media (max-width:767px){
  .bp-sticky{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:9999;gap:8px;padding:8px 10px;padding-bottom:calc(8px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #EFEAE0;box-shadow:0 -6px 18px rgba(23,25,29,.10)}
  .bp-sticky-btn{flex:1 1 0;display:flex;align-items:center;justify-content:center;min-height:46px;border-radius:10px;font-family:'Hind Siliguri',sans-serif;font-weight:700;font-size:15px;text-decoration:none;line-height:1}
  .bp-sticky-order{background:#C7932C;color:#17191D}
  .bp-sticky-call{background:#17191D;color:#fff}
  .bp-sticky-wa{background:#1D7A4C;color:#fff}
  body{padding-bottom:72px}
  body.woocommerce-checkout .bp-sticky,body.woocommerce-cart .bp-sticky{display:none}
  body.woocommerce-checkout,body.woocommerce-cart{padding-bottom:0}
}
/* ---------- clickable category cards ---------- */
.bp-cat-img{position:static}
.bp-cat-img a{display:block;line-height:0}
.bp-cat-img a::after{content:"";position:absolute;inset:0;z-index:4;border-radius:var(--bp-radius-lg)}
.bp-cat-name a{color:inherit;text-decoration:none}
.bp-cat-img a:focus-visible::after{outline:3px solid #C7932C;outline-offset:2px}

/* ---------- header layout ---------- */
.bp-nav{flex:0 0 100%;width:100%}
@media (max-width:767px){
  .bp-logo{order:1;flex:0 0 auto}
  .bp-logo img{max-width:112px;height:auto}
  .bp-cart{order:2;margin-left:auto;flex:0 0 auto}
  .bp-nav{position:absolute;top:9px;right:50px;width:42px;min-width:0;flex:0 0 auto;margin:0;z-index:6}
  .bp-nav .hfe-nav-menu__toggle{margin:0}
  .bp-search{order:4;flex:0 0 100%;width:100%}
  .bp-search input[type="search"],.bp-search input[type="text"]{height:40px;min-height:40px;font-size:15px}
  .bp-search form,.bp-search .hfe-search-form__container{height:40px;min-height:40px}
  .bp-search button,.bp-search .hfe-search-submit{height:40px;min-height:40px}
}
/* ---------- search icons drawn inline, no Font Awesome ---------- */
.bp-search .hfe-search-submit i, .bp-search #clear-with-button i{display:inline-block;width:18px;height:18px;background-repeat:no-repeat;background-position:center;background-size:18px 18px}
.bp-search .hfe-search-submit i:before, .bp-search #clear-with-button i:before{content:none}
.bp-search .hfe-search-submit i{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317191D' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4'/%3E%3C/svg%3E")}
.bp-search #clear-with-button i{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23565B65' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E")}

/* only one shipping country, so the selector is noise */
#billing_country_field,#shipping_country_field{display:none}
