/* ==========================================================================
   BizPack — shadcn-style "bold hybrid" layer (Home + Category pages)
   Loaded after brand.css. Hooks are the bp2-* CSS classes set on the
   Elementor containers/widgets, so text and images stay editable there.
   ========================================================================== */
:root{
  --bp2-bg:#FAFAF7; --bp2-surface:#FFFFFF; --bp2-border:#E8E4D9; --bp2-border-strong:#D9D2C2;
  --bp2-ink:#17191D; --bp2-body:#5B6068; --bp2-muted:#93989F;
  --bp2-gold:#C7932C; --bp2-gold-dark:#A6771B; --bp2-gold-bg:#FBF2E1;
  --bp2-green:#1D7A4C; --bp2-green-bg:#E9F6EF;
  --bp2-r-lg:16px; --bp2-r-md:12px;
  --bp2-shadow-sm:0 1px 2px rgba(23,25,29,.06);
  --bp2-shadow-md:0 10px 24px -8px rgba(23,25,29,.18);
}
html body{ background-color:var(--bp2-bg); }

/* ---------- Section shells ---------- */
.elementor .bp2-s-hero,
.elementor .bp2-s-cats,
.elementor .bp2-s-trust,
.elementor .bp2-s-cta,
.elementor .bp2-s-cathead{ padding:0 14px !important; background:transparent !important; }
.elementor .bp2-s > .e-con-inner{ gap:0 !important; }

/* ---------- Hero ---------- */
.elementor .bp2-hero{
  margin:14px 0 6px; padding:20px 18px !important; gap:0 !important;
  border-radius:var(--bp2-r-lg); position:relative; overflow:hidden;
  background:linear-gradient(135deg,#1D2026 0%,#14161A 100%); color:#fff;
}
.elementor .bp2-hero::before{
  content:""; position:absolute; right:-30px; top:-30px; width:150px; height:150px; border-radius:50%;
  background:radial-gradient(circle,rgba(199,147,44,.38),transparent 70%); pointer-events:none;
}
.elementor .bp2-hero > .elementor-widget{ position:relative; margin:0 !important; }
.elementor .bp2-hero-h .elementor-heading-title{
  margin:0 0 6px; font-size:21px; line-height:1.4; font-weight:700; color:#fff; letter-spacing:-.01em;
}
.elementor .bp2-hero-p p{ margin:0 0 14px; font-size:13.5px; line-height:1.6; color:#C7CBD2; }
.elementor .bp2-chips p{ margin:0; display:flex; flex-wrap:wrap; gap:8px; }
.bp2-chip{
  display:inline-flex; align-items:center; gap:6px; line-height:1.3;
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.16); border-radius:999px;
  padding:6px 12px; font-size:12.5px; font-weight:700; color:#fff;
}
.bp2-chip::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--bp2-gold); }

/* ---------- Section heading ---------- */
.elementor .bp2-s-cats{ margin-top:10px; }
.elementor .bp2-sechead{
  flex-direction:row !important; flex-wrap:nowrap !important; align-items:baseline !important;
  justify-content:space-between !important; padding:10px 0 12px !important; gap:10px !important;
}
.elementor .bp2-sechead > .elementor-widget{ width:auto !important; flex:0 0 auto; margin:0 !important; }
.elementor .bp2-sechead-h .elementor-heading-title{ margin:0; font-size:18px; font-weight:700; color:var(--bp2-ink); }
.elementor .bp2-seeall .elementor-heading-title,
.elementor .bp2-seeall a{ font-size:13px; font-weight:700; color:var(--bp2-gold-dark); text-decoration:none; }

/* ---------- Category grid ---------- */
.elementor .bp2-grid{
  display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px !important; padding:0 !important;
}
.elementor .bp2-grid > .e-con{ width:auto !important; max-width:none !important; min-width:0; }
.elementor .bp2-card{
  position:relative; padding:0 !important; gap:0 !important; overflow:hidden;
  background:var(--bp2-surface); border:1px solid var(--bp2-border); border-radius:var(--bp2-r-lg);
  box-shadow:var(--bp2-shadow-sm); transition:box-shadow .18s ease, transform .18s ease;
}
.elementor .bp2-card:hover{ box-shadow:var(--bp2-shadow-md); transform:translateY(-3px); }
.elementor .bp2-card:active{ transform:scale(.98); }
.elementor .bp2-card--featured{ grid-column:1 / -1; }
.elementor .bp2-card-img{ margin:0 !important; line-height:0; background:var(--bp2-gold-bg); }
.elementor .bp2-tint-2 .bp2-card-img{ background:#EFF3F1; }
.elementor .bp2-tint-3 .bp2-card-img{ background:#F1EEF8; }
.elementor .bp2-tint-4 .bp2-card-img{ background:#EAF4F8; }
.elementor .bp2-card-img a{ display:block; }
.elementor .bp2-card-img img{
  display:block; width:100%; max-width:none; height:auto; aspect-ratio:1/1; object-fit:cover; border-radius:0 !important;
}
.elementor .bp2-card--featured .bp2-card-img img{ aspect-ratio:16/9; object-position:center 30%; }
/* whole card clickable: the image link stretches over the card */
.elementor .bp2-card-img a::after{ content:""; position:absolute; inset:0; z-index:3; border-radius:inherit; }
.elementor .bp2-card-img a:focus-visible::after{ outline:3px solid var(--bp2-gold); outline-offset:-3px; }
.elementor .bp2-card-name{ margin:0 !important; padding:11px 12px 13px !important; }
.elementor .bp2-card-name .elementor-heading-title{
  display:flex; align-items:center; justify-content:space-between; gap:8px; margin:0;
  font-size:14.5px; font-weight:700; line-height:1.35; color:var(--bp2-ink);
}
.elementor .bp2-card-name a{ color:inherit; text-decoration:none; }
.elementor .bp2-card-name .elementor-heading-title::after{
  content:""; flex:0 0 26px; width:26px; height:26px; border-radius:50%; box-sizing:border-box;
  border:1px solid var(--bp2-border);
  background:var(--bp2-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317191D' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E") center/13px no-repeat;
}
.elementor .bp2-card--featured .bp2-card-name{ padding:13px 14px 15px !important; }
.elementor .bp2-card--featured .bp2-card-name .elementor-heading-title{ font-size:16px; }
.elementor .bp2-stock{
  position:absolute !important; top:10px; left:10px; z-index:4; width:auto !important; margin:0 !important; pointer-events:none;
}
.elementor .bp2-stock p{
  margin:0; padding:4px 10px; border-radius:999px; line-height:1.3;
  background:var(--bp2-green-bg); color:var(--bp2-green); font-size:11.5px; font-weight:700;
  border:1px solid rgba(29,122,76,.18);
}

/* ---------- Trust row ---------- */
.elementor .bp2-s-trust{ margin-top:16px; }
.elementor .bp2-trust{ flex-direction:row !important; flex-wrap:nowrap !important; gap:10px !important; padding:0 !important; }
.elementor .bp2-ti{
  flex:1 1 0 !important; width:auto !important; min-width:0; margin:0 !important; padding:12px 8px !important; text-align:center;
  background:var(--bp2-surface); border:1px solid var(--bp2-border); border-radius:var(--bp2-r-md);
}
.elementor .bp2-ti .elementor-heading-title{ margin:0; font-size:12px; font-weight:700; line-height:1.35; color:var(--bp2-ink); }
.elementor .bp2-ti .elementor-heading-title::before{
  content:""; display:block; width:36px; height:36px; margin:0 auto 8px; border-radius:50%;
  background:var(--bp2-gold-bg) center/18px no-repeat;
}
.elementor .bp2-ti-1 .elementor-heading-title::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A6771B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E"); }
.elementor .bp2-ti-2 .elementor-heading-title::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A6771B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='6' width='13' height='11' rx='2'/%3E%3Cpath d='M15 10h4l3 3v4h-7'/%3E%3Ccircle cx='7' cy='18.5' r='1.8'/%3E%3Ccircle cx='18' cy='18.5' r='1.8'/%3E%3C/svg%3E"); }
.elementor .bp2-ti-3 .elementor-heading-title::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A6771B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.6 13.4l-7.2 7.2a2 2 0 0 1-2.8 0L2 12V2h10l8.6 8.6a2 2 0 0 1 0 2.8z'/%3E%3Ccircle cx='7' cy='7' r='1.5'/%3E%3C/svg%3E"); }

/* ---------- Custom print CTA ---------- */
.elementor .bp2-s-cta{ margin-top:14px; }
.elementor a.bp2-cta{
  display:flex !important; position:relative; gap:2px !important; padding:16px 66px 16px 16px !important;
  border-radius:var(--bp2-r-lg); background:var(--bp2-gold); color:var(--bp2-ink); text-decoration:none;
  box-shadow:var(--bp2-shadow-md); transition:background .15s ease;
}
.elementor a.bp2-cta:hover{ background:#D4A13C; }
.elementor a.bp2-cta::after{
  content:""; position:absolute; right:16px; top:50%; transform:translateY(-50%);
  width:38px; height:38px; border-radius:50%;
  background:var(--bp2-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C7932C' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E") center/16px no-repeat;
}
.elementor a.bp2-cta > .elementor-widget{ margin:0 !important; }
.elementor .bp2-cta-h .elementor-heading-title{ margin:0; font-size:16px; font-weight:700; color:var(--bp2-ink); }
.elementor .bp2-cta-p p{ margin:0; font-size:13px; font-weight:600; color:rgba(23,25,29,.8); }

/* ---------- FAQ ---------- */
.elementor .bp2-s-faq{ margin:34px 0 18px; padding:0 14px !important; background:transparent !important; }
.elementor .bp2-faq-wrap{ display:grid !important; grid-template-columns:minmax(0,1fr); gap:16px !important; padding:0 !important; }
.elementor .bp2-faq-wrap > .e-con{ width:auto !important; max-width:none !important; min-width:0; }
.elementor .bp2-faq-head, .elementor .bp2-faq-list{ padding:0 !important; }
.elementor .bp2-faq-head{ gap:4px !important; }
.elementor .bp2-faq-head > .elementor-widget{ margin:0 !important; }
.elementor .bp2-faq-eyebrow p{
  display:inline-flex; align-items:center; gap:7px; margin:0 0 6px; padding:6px 12px; border-radius:999px;
  background:var(--bp2-gold-bg); color:var(--bp2-gold-dark); font-size:12.5px; font-weight:700; line-height:1.3;
}
.elementor .bp2-faq-eyebrow p::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--bp2-gold); }
.elementor .bp2-faq-h .elementor-heading-title{ margin:0; font-size:22px; font-weight:700; line-height:1.35; color:var(--bp2-ink); }
.elementor .bp2-faq-sub p{ margin:0; font-size:13.5px; line-height:1.6; color:var(--bp2-body); }

/* question cards: number badge, question, +/- toggle */
.elementor .bp2-acc .elementor-accordion{ counter-reset:bpfaq; display:flex; flex-direction:column; gap:10px; }
.elementor .bp2-acc .elementor-accordion-item{
  counter-increment:bpfaq; background:#fff; border:1px solid var(--bp2-border) !important; border-radius:var(--bp2-r-lg);
  overflow:hidden; box-shadow:var(--bp2-shadow-sm); transition:border-color .18s ease, box-shadow .18s ease;
}
.elementor .bp2-acc .elementor-accordion-item:has(.elementor-active){
  border-color:var(--bp2-gold) !important; box-shadow:0 14px 30px -16px rgba(199,147,44,.55);
}
.elementor .bp2-acc .elementor-tab-title{
  display:flex; align-items:center; gap:12px; margin:0; padding:14px !important; border:0 !important; cursor:pointer; line-height:1.4;
}
.elementor .bp2-acc .elementor-accordion-icon{ display:none !important; }
.elementor .bp2-acc .elementor-tab-title::before{
  content:counter(bpfaq, bengali); flex:0 0 32px; width:32px; height:32px; border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  background:var(--bp2-gold-bg); color:var(--bp2-gold-dark); font-size:15px; font-weight:700;
  transition:background-color .18s ease, color .18s ease;
}
.elementor .bp2-acc .elementor-tab-title.elementor-active::before{ background:var(--bp2-gold); color:var(--bp2-ink); }
.elementor .bp2-acc .elementor-accordion-title{
  flex:1 1 auto; min-width:0; color:var(--bp2-ink) !important; font-size:15px; font-weight:700; text-decoration:none;
}
.elementor .bp2-acc .elementor-tab-title::after{
  content:""; flex:0 0 30px; width:30px; height:30px; border-radius:50%; margin-left:auto; box-sizing:border-box;
  border:1px solid var(--bp2-border);
  background:var(--bp2-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317191D' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/13px no-repeat;
  transition:transform .25s ease, background-color .18s ease;
}
.elementor .bp2-acc .elementor-tab-title.elementor-active::after{
  border-color:var(--bp2-ink); transform:rotate(180deg);
  background:var(--bp2-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E") center/13px no-repeat;
}
.elementor .bp2-acc .elementor-tab-content{
  border:0 !important; padding:0 16px 0 58px !important; font-size:14px; line-height:1.8; color:var(--bp2-body);
  overflow:hidden; transition:height .34s cubic-bezier(.22,.8,.26,1), opacity .26s ease;
}
/* bottom spacing lives inside the box so the open/close height animation has no jump */
.elementor .bp2-acc .elementor-tab-content::after{ content:""; display:block; height:16px; }
@media (prefers-reduced-motion:reduce){ .elementor .bp2-acc .elementor-tab-content{ transition:none; } }
.elementor .bp2-acc .elementor-tab-content p{ margin:0; }

/* "didn't find your answer?" card */
.elementor .bp2-faq-help{
  position:relative; overflow:hidden; gap:4px !important; padding:18px 16px !important; border-radius:var(--bp2-r-lg);
  background:linear-gradient(135deg,#1D2026 0%,#14161A 100%);
}
.elementor .bp2-faq-help::before{
  content:""; position:absolute; right:-40px; bottom:-50px; width:160px; height:160px; border-radius:50%;
  background:radial-gradient(circle,rgba(199,147,44,.32),transparent 70%); pointer-events:none;
}
.elementor .bp2-faq-help > .elementor-widget, .elementor .bp2-faq-help > .e-con{ position:relative; margin:0 !important; }
.elementor .bp2-faq-help-h .elementor-heading-title{ margin:0; font-size:17px; font-weight:700; line-height:1.4; color:#fff; }
.elementor .bp2-faq-help-p p{ margin:0 0 10px; font-size:13px; line-height:1.6; color:#C7CBD2; }
.elementor .bp2-faq-btns{ flex-direction:row !important; flex-wrap:wrap !important; gap:8px !important; padding:0 !important; }
.elementor .bp2-faq-btns > .elementor-widget{ flex:1 1 140px; width:auto !important; margin:0 !important; }
.elementor .bp2-faq-btns .elementor-button{
  display:flex; align-items:center; justify-content:center; gap:8px; width:100%; min-height:44px; padding:10px 14px;
  border-radius:var(--bp2-r-md); font-size:14px; font-weight:700; line-height:1.2; text-decoration:none; color:#fff; white-space:nowrap;
}
.elementor .bp2-faq-btns .elementor-button::before{ content:""; width:16px; height:16px; flex:0 0 16px; background:center/16px no-repeat; }
.elementor .bp2-faq-wa .elementor-button{ background:var(--bp2-green); border:1px solid var(--bp2-green); }
.elementor .bp2-faq-wa .elementor-button::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.4 8.4 0 0 1-12.4 7.4L3 21l2.1-5.4A8.4 8.4 0 1 1 21 11.5z'/%3E%3C/svg%3E"); }
.elementor .bp2-faq-call .elementor-button{ background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.22); }
.elementor .bp2-faq-call .elementor-button::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6 19.8 19.8 0 0 1-3.1-8.7A2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.3 1.8.6 2.7a2 2 0 0 1-.4 2.1L8 9.9a16 16 0 0 0 6 6l1.4-1.4a2 2 0 0 1 2.1-.4c.9.3 1.8.5 2.7.6a2 2 0 0 1 1.8 2z'/%3E%3C/svg%3E"); }
.elementor .bp2-faq-wa .elementor-button:hover{ background:#176640; }
.elementor .bp2-faq-call .elementor-button:hover{ background:rgba(255,255,255,.16); }
@media (min-width:1025px){
  .elementor .bp2-faq-wrap{
    grid-template-columns:minmax(0,5fr) minmax(0,7fr); grid-template-rows:auto 1fr; grid-template-areas:"head list" "help list";
    column-gap:40px !important; row-gap:20px !important; align-items:start;
  }
  .elementor .bp2-faq-head{ grid-area:head; }
  .elementor .bp2-faq-list{ grid-area:list; }
  .elementor .bp2-faq-help{ grid-area:help; padding:24px !important; }
  .elementor .bp2-faq-h .elementor-heading-title{ font-size:32px; }
  .elementor .bp2-faq-sub p{ font-size:15px; }
}

/* ---------- Category page header ---------- */
.elementor .bp2-s-cathead{ padding-top:14px !important; }
.elementor .bp2-crumb{ margin:0 !important; }
.elementor .bp2-crumb p{ margin:0 0 10px; font-size:12.5px; font-weight:600; color:var(--bp2-muted); }
.elementor .bp2-crumb a{ color:var(--bp2-muted); text-decoration:none; }
.elementor .bp2-crumb b{ color:var(--bp2-ink); }
.elementor .bp2-cathead{
  flex-direction:row !important; flex-wrap:nowrap !important; align-items:flex-start !important; gap:14px !important; padding:0 !important;
}
.elementor .bp2-cathead-thumb{ flex:0 0 72px !important; width:72px !important; max-width:72px; margin:0 !important; }
.elementor .bp2-cathead-thumb img{
  display:block; width:72px; height:72px; object-fit:cover; border-radius:var(--bp2-r-md);
  border:1px solid var(--bp2-border); background:#fff;
}
.elementor .bp2-cathead-txt{ flex:1 1 auto !important; width:auto !important; min-width:0; padding:0 !important; gap:3px !important; }
.elementor .bp2-cathead-txt > .elementor-widget{ margin:0 !important; }
.elementor .bp2-cathead-h .elementor-heading-title{ margin:0; font-size:20px; font-weight:700; line-height:1.35; color:var(--bp2-ink); text-align:left; }
.elementor .bp2-cathead-p p{ margin:0; font-size:13px; line-height:1.55; color:var(--bp2-body); text-align:left; }
.elementor .bp2-cathead-trust p{ margin:4px 0 0; font-size:12px; font-weight:700; color:var(--bp2-green); text-align:left; }

/* Order form title reads as a tag, like the mockup */
.bp2-s-order .bp-of-title{
  display:flex; align-items:center; gap:7px; width:max-content; max-width:100%;
  text-align:left; font-size:14px; font-weight:700; line-height:1.3;
  background:var(--bp2-gold-bg); color:var(--bp2-gold-dark); padding:7px 13px; border-radius:999px;
}
.bp2-s-order .bp-of-title::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--bp2-gold); flex:0 0 auto; }
.bp2-s-order .bp-of-sub{ text-align:left; font-size:13.5px; margin-top:6px; }

/* ---------- Header: logo centred, cart right; desktop menu on its own line ---------- */
.elementor .bp-header-main{
  display:grid !important; grid-template-columns:1fr auto 1fr; align-items:center !important;
  gap:8px 16px !important; position:relative;
}
.elementor .bp-header-main > .bp-logo{ grid-column:2; grid-row:1; justify-self:center; width:auto !important; margin:0 !important; }
.elementor .bp-header-main > .bp-cart{ grid-column:3; grid-row:1; justify-self:end; width:auto !important; margin:0 !important; }
.elementor .bp-header-main > .bp-nav{
  grid-column:1 / -1; grid-row:2; justify-self:stretch; position:static !important; width:auto !important;
  margin:0 !important; padding-top:6px; border-top:1px solid rgba(255,255,255,.08);
}
.elementor .bp-header-main > .bp-search{ display:none !important; }
.bp-logo .hfe-site-logo-container{ text-align:center; }
.bp-logo img{ max-width:140px; }
@media (max-width:767px){
  .elementor .bp-header-main{ min-height:56px; }
  .bp-logo img{ max-width:112px; }
}
.bp-search .hfe-search-form__container{
  border-radius:999px; overflow:hidden; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14);
}
.bp-search .hfe-search-form__container .hfe-search-form__input{
  background:transparent !important; border:0 !important; color:#fff !important;
  height:38px !important; min-height:38px !important; font-size:14px !important; padding:0 4px 0 14px !important;
}
.bp-search .hfe-search-form__container button.hfe-search-submit{
  background:transparent !important; height:38px !important; min-height:38px !important; width:40px; padding:0 !important;
}
.bp-search .hfe-search-submit i{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' 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") !important;
}
.bp-cart .hfe-cart-menu-wrap-default{
  position:relative; display:block; width:38px; height:38px; border-radius:50%;
  background:rgba(255,255,255,.08) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3h2l2.6 12.4a2 2 0 0 0 2 1.6h7.7a2 2 0 0 0 2-1.6L21 8H6'/%3E%3Ccircle cx='10' cy='21' r='1.3'/%3E%3Ccircle cx='17' cy='21' r='1.3'/%3E%3C/svg%3E") center/19px no-repeat;
}
.bp-cart .hfe-cart-menu-wrap-default .hfe-cart-count{
  position:absolute !important; top:-3px; right:-4px; margin:0 !important;
  min-width:18px; height:18px; padding:0 4px; box-sizing:border-box; border-radius:999px !important;
  display:flex; align-items:center; justify-content:center;
  background:var(--bp2-gold) !important; color:var(--bp2-ink) !important; border:2px solid var(--bp2-ink) !important;
  font:700 10px/1 'Archivo',sans-serif !important;
}
.bp-cart .hfe-cart-menu-wrap-default .hfe-cart-count:after{ display:none !important; }

/* ---------- Mobile sticky bar ---------- */
@media (max-width:767px){
  .bp-sticky{ border-top:1px solid var(--bp2-border); box-shadow:0 -6px 18px rgba(23,25,29,.08); }
  .bp-sticky-btn{ border-radius:var(--bp2-r-md); font-size:14px; }
  .bp-sticky-wa{ background:var(--bp2-green-bg); color:var(--bp2-green); border:1px solid rgba(29,122,76,.25); }
}

/* ---------- Larger screens ---------- */
@media (min-width:768px){
  .elementor .bp2-s-hero, .elementor .bp2-s-cats, .elementor .bp2-s-trust,
  .elementor .bp2-s-cta, .elementor .bp2-s-cathead, .elementor .bp2-s-faq{ padding:0 24px !important; }
  .elementor .bp2-hero{ margin-top:24px; padding:44px 40px !important; }
  .elementor .bp2-hero-h .elementor-heading-title{ font-size:34px; }
  .elementor .bp2-hero-p p{ font-size:16px; }
  .elementor .bp2-chip{ font-size:14px; }
  .elementor .bp2-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px !important; }
  .elementor .bp2-sechead-h .elementor-heading-title{ font-size:24px; }
  .elementor .bp2-ti{ padding:18px 12px !important; }
  .elementor .bp2-ti .elementor-heading-title{ font-size:15px; }
  .elementor a.bp2-cta{ padding:24px 80px 24px 28px !important; }
  .elementor .bp2-cta-h .elementor-heading-title{ font-size:20px; }
  .elementor .bp2-cta-p p{ font-size:15px; }
  .elementor .bp2-cathead-thumb{ flex-basis:96px !important; width:96px !important; max-width:96px; }
  .elementor .bp2-cathead-thumb img{ width:96px; height:96px; }
  .elementor .bp2-cathead-h .elementor-heading-title{ font-size:28px; }
  .elementor .bp2-cathead-p p{ font-size:15px; }
}
@media (min-width:1025px){
  .elementor .bp2-grid{ grid-template-columns:repeat(5,minmax(0,1fr)); }
  .elementor .bp2-card--featured{ grid-column:auto; }
  .elementor .bp2-card--featured .bp2-card-img img{ aspect-ratio:1/1; }
}

/* ==========================================================================
   Slide-out cart
   ========================================================================== */
html.bp-sc-open, html.bp-sc-open body{ overflow:hidden; }
.bp-sc-overlay{
  position:fixed; inset:0; z-index:100000; background:rgba(15,17,20,.5);
  opacity:0; transition:opacity .3s ease;
}
html.bp-sc-open .bp-sc-overlay{ opacity:1; }
.bp-sc{
  position:fixed; top:0; right:0; bottom:0; z-index:100001; width:min(88vw,400px);
  display:flex; flex-direction:column; background:var(--bp2-bg); color:var(--bp2-body);
  border-radius:20px 0 0 20px; box-shadow:-20px 0 44px -14px rgba(23,25,29,.4);
  font-family:'Hind Siliguri','Noto Sans Bengali',sans-serif;
  transform:translateX(104%); visibility:hidden;
  transition:transform .36s cubic-bezier(.22,.8,.26,1), visibility 0s linear .36s;
}
html.bp-sc-open .bp-sc{ transform:none; visibility:visible; transition:transform .36s cubic-bezier(.22,.8,.26,1), visibility 0s; }
.bp-sc-head{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:16px 16px 14px; border-bottom:1px solid var(--bp2-border);
}
.bp-sc-head h2{ margin:0; font-size:18px; font-weight:700; line-height:1.3; color:var(--bp2-ink); }
.bp-sc-close{
  flex:0 0 36px; width:36px; height:36px; padding:0; border-radius:50%; cursor:pointer;
  border:1px solid var(--bp2-border);
  background:#fff url("data:image/svg+xml,%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%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center/14px no-repeat;
}
.bp-sc-close:hover{ background-color:var(--bp2-gold-bg); }
.bp-sc-body, .bp-sc .widget_shopping_cart_content{ flex:1 1 auto; min-height:0; display:flex; flex-direction:column; }
.bp-sc ul.woocommerce-mini-cart{
  flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain;
  list-style:none; margin:0; padding:14px 16px 4px;
}
.bp-sc li.woocommerce-mini-cart-item{
  position:relative; list-style:none; margin:0 0 10px; padding:12px 46px 12px 12px;
  background:#fff; border:1px solid var(--bp2-border); border-radius:14px;
}
.bp-sc li.woocommerce-mini-cart-item > a:not(.remove){
  display:flex; align-items:center; gap:12px; color:var(--bp2-ink); text-decoration:none;
  font-size:13.5px; font-weight:700; line-height:1.4;
}
.bp-sc li.woocommerce-mini-cart-item img{
  flex:0 0 56px; width:56px !important; height:56px !important; margin:0 !important; float:none !important;
  object-fit:cover; border-radius:10px; background:var(--bp2-gold-bg);
}
.bp-sc li.woocommerce-mini-cart-item .quantity{
  display:block; margin:6px 0 0 68px; font-size:12.5px; font-weight:600; color:var(--bp2-muted);
}
.bp-sc li.woocommerce-mini-cart-item .quantity .amount{ color:var(--bp2-gold-dark); font-weight:700; }
.bp-sc li.woocommerce-mini-cart-item dl.variation{ margin:4px 0 0 68px; font-size:11.5px; }
.bp-sc a.remove{
  position:absolute; top:10px; right:10px; width:26px; height:26px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; text-decoration:none;
  background:var(--bp2-bg); border:1px solid var(--bp2-border); color:var(--bp2-muted) !important;
  font-size:17px; line-height:1;
}
.bp-sc a.remove:hover{ background:#FDECEA; border-color:#F5C6C0; color:#C0392B !important; }
.bp-sc .woocommerce-mini-cart__total{
  display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin:0;
  padding:14px 16px 2px; border-top:1px solid var(--bp2-border);
  font-size:15px; color:var(--bp2-ink);
}
.bp-sc .woocommerce-mini-cart__total strong{ font-weight:700; }
.bp-sc .woocommerce-mini-cart__total .amount{ font-family:'Archivo','Hind Siliguri',sans-serif; font-size:20px; font-weight:700; }
.bp-sc-note{ margin:0; padding:0 16px 10px; font-size:12px; color:var(--bp2-muted); }
.bp-sc .woocommerce-mini-cart__buttons{
  display:flex; flex-direction:column; gap:8px; margin:0; padding:4px 16px calc(16px + env(safe-area-inset-bottom));
}
.bp-sc-btn{
  display:flex; align-items:center; justify-content:center; min-height:48px; padding:10px 14px;
  border-radius:var(--bp2-r-md); font-size:15px; font-weight:700; line-height:1.2; text-decoration:none; text-align:center;
}
.bp-sc-btn--primary{ background:var(--bp2-gold); color:var(--bp2-ink) !important; box-shadow:0 10px 22px -8px rgba(199,147,44,.6); }
.bp-sc-btn--primary:hover{ background:#D4A13C; }
.bp-sc-btn--ghost{ background:#fff; color:var(--bp2-ink) !important; border:1px solid var(--bp2-border-strong); }
.bp-sc-btn--ghost:hover{ border-color:var(--bp2-ink); }
.bp-sc .woocommerce-mini-cart__empty-message{
  margin:auto 0 0; padding:0 24px 14px; text-align:center; font-size:15px; font-weight:700; color:var(--bp2-ink);
}
.bp-sc .woocommerce-mini-cart__empty-message::before{
  content:""; display:block; width:72px; height:72px; margin:0 auto 14px; border-radius:50%;
  background:var(--bp2-gold-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A6771B' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3h2l2.6 12.4a2 2 0 0 0 2 1.6h7.7a2 2 0 0 0 2-1.6L21 8H6'/%3E%3Ccircle cx='10' cy='21' r='1.3'/%3E%3Ccircle cx='17' cy='21' r='1.3'/%3E%3C/svg%3E") center/32px no-repeat;
}
.bp-sc-empty{ margin-bottom:auto; padding:0 24px 24px; }
@media (prefers-reduced-motion:reduce){ .bp-sc, .bp-sc-overlay{ transition:none; } }

/* ==========================================================================
   Shop page + category archives (body.bp-shop) and the product grids on
   the category landing pages (.bp-gridwrap)
   ========================================================================== */
.bp-shop .ast-woocommerce-container{ padding-top:16px; padding-bottom:12px; }
.bp-shop .woocommerce-breadcrumb{ margin:0 0 8px !important; padding:0; font-size:12.5px; font-weight:600; color:var(--bp2-muted); }
.bp-shop .woocommerce-breadcrumb a{ color:var(--bp2-muted); text-decoration:none; }
.bp-shop .woocommerce-products-header{ margin:0; padding:0; }
.bp-shop .woocommerce-products-header__title.page-title{ margin:0 0 4px; font-size:24px; font-weight:700; line-height:1.35; color:var(--bp2-ink); }
.bp-shop .term-description{ margin:0; }
.bp-shop .term-description p, .bp-shop .bp-shop-intro{ margin:0; font-size:13.5px; line-height:1.6; color:var(--bp2-body); }

.bp-chips{
  display:flex; gap:8px; overflow-x:auto; margin:14px 0 12px; padding:2px 2px 8px;
  scrollbar-width:none; -webkit-overflow-scrolling:touch;
}
.bp-chips::-webkit-scrollbar{ display:none; }
.bp-chip-link{
  flex:0 0 auto; display:inline-flex; align-items:center; gap:6px; padding:8px 14px; border-radius:999px;
  background:#fff; border:1px solid var(--bp2-border); box-shadow:var(--bp2-shadow-sm);
  color:var(--bp2-ink); font-size:13.5px; font-weight:700; line-height:1.3; text-decoration:none; white-space:nowrap;
  transition:border-color .15s ease, background-color .15s ease;
}
.bp-chip-link span{ font-size:11.5px; font-weight:700; color:var(--bp2-muted); background:var(--bp2-bg); border-radius:999px; padding:1px 7px; }
.bp-chip-link:hover{ border-color:var(--bp2-gold); color:var(--bp2-ink); }
.bp-chip-link.is-on{ background:var(--bp2-ink); border-color:var(--bp2-ink); color:#fff; }
.bp-chip-link.is-on span{ background:rgba(255,255,255,.16); color:#fff; }

.bp-direct{
  position:relative; display:flex; align-items:center; margin:0 0 14px; padding:12px 60px 12px 16px;
  border-radius:var(--bp2-r-lg); background:var(--bp2-gold); color:var(--bp2-ink); text-decoration:none;
  box-shadow:var(--bp2-shadow-md); transition:background-color .15s ease;
}
.bp-direct:hover{ background:#D4A13C; color:var(--bp2-ink); }
.bp-direct-t{ display:flex; flex-direction:column; font-size:12.5px; font-weight:600; line-height:1.45; }
.bp-direct-t b{ font-size:15px; font-weight:700; }
.bp-direct::after{
  content:""; position:absolute; right:14px; top:50%; transform:translateY(-50%); width:34px; height:34px; border-radius:50%;
  background:var(--bp2-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C7932C' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E") center/14px no-repeat;
}

.bp-shop .woocommerce-result-count{ float:left; margin:0 !important; line-height:38px; font-size:13px; color:var(--bp2-muted); }
.bp-shop .woocommerce-result-count b{ color:var(--bp2-ink); }
.bp-shop .woocommerce-ordering{ float:right; margin:0 !important; }
.bp-shop .woocommerce-ordering select{
  -webkit-appearance:none; appearance:none; height:38px; min-height:38px; max-width:190px; padding:0 34px 0 14px;
  border-radius:999px; border:1px solid var(--bp2-border); box-shadow:var(--bp2-shadow-sm);
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317191D' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 12px center/12px no-repeat;
  font-size:13px; font-weight:700; color:var(--bp2-ink);
}

.bp-shop ul.products, .elementor .bp-gridwrap ul.products{
  display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px !important;
  margin:14px 0 0 !important; padding:0 !important; clear:both;
}
.bp-shop ul.products::before, .bp-shop ul.products::after,
.elementor .bp-gridwrap ul.products::before, .elementor .bp-gridwrap ul.products::after{ display:none !important; }
.bp-shop ul.products li.product, .elementor .bp-gridwrap ul.products li.product{
  width:auto !important; margin:0 !important; padding:0 !important; float:none !important;
  display:flex !important; flex-direction:column;
  background:#fff; border:1px solid var(--bp2-border) !important; border-radius:var(--bp2-r-lg) !important;
  overflow:hidden; box-shadow:var(--bp2-shadow-sm);
}
.bp-shop li.product .astra-shop-thumbnail-wrap, .elementor .bp-gridwrap li.product .astra-shop-thumbnail-wrap{ background:var(--bp2-gold-bg); line-height:0; }
.bp-shop li.product .astra-shop-thumbnail-wrap img, .elementor .bp-gridwrap li.product .astra-shop-thumbnail-wrap img{
  display:block; width:100%; aspect-ratio:1/1; object-fit:cover; margin:0 !important; border-radius:0 !important;
}
.bp-shop li.product .ast-on-card-button, .elementor .bp-gridwrap li.product .ast-on-card-button{ display:none !important; }
.bp-shop li.product .astra-shop-summary-wrap, .elementor .bp-gridwrap li.product .astra-shop-summary-wrap{
  flex:1 1 auto; display:flex; flex-direction:column; align-items:flex-start; padding:10px 12px 12px !important;
}
.bp-shop li.product .ast-woo-product-category, .elementor .bp-gridwrap li.product .ast-woo-product-category{
  display:block; margin:0 0 2px; padding:0 !important; font-size:11px; font-weight:700; line-height:1.4; color:var(--bp2-gold-dark); opacity:1;
}
.bp-shop li.product .ast-loop-product__link, .elementor .bp-gridwrap li.product .ast-loop-product__link{ display:block; width:100%; text-decoration:none; }
.bp-shop li.product .woocommerce-loop-product__title, .elementor .bp-gridwrap li.product .woocommerce-loop-product__title{
  margin:0 0 8px !important; padding:0 !important; font-size:13.5px !important; font-weight:700; line-height:1.4 !important; color:var(--bp2-ink);
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:break-word;
}
.bp-shop li.product .price, .elementor .bp-gridwrap li.product .price{
  display:inline-flex !important; align-items:baseline; gap:2px; margin:0 0 10px !important; padding:4px 10px !important;
  border-radius:999px; background:var(--bp2-gold-bg); color:var(--bp2-gold-dark) !important;
  font-size:14px !important; font-weight:700; line-height:1.3;
}
.bp-shop li.product .price .amount, .elementor .bp-gridwrap li.product .price .amount{ color:inherit; }
.bp-shop li.product .price .bp-unit, .elementor .bp-gridwrap li.product .price .bp-unit{ font-size:11px; font-weight:600; }
.bp-shop li.product .button, .elementor .bp-gridwrap li.product .button{
  margin:auto 0 0 !important; width:100%; display:flex !important; align-items:center; justify-content:center; gap:6px;
  min-height:42px; padding:8px 10px !important; border:0 !important; border-radius:var(--bp2-r-md) !important;
  background:var(--bp2-ink) !important; color:#fff !important; box-shadow:none !important;
  font-size:13.5px !important; font-weight:700 !important; line-height:1.25 !important; text-align:center; text-decoration:none !important;
}
.bp-shop li.product .button::before, .elementor .bp-gridwrap li.product .button::before{
  content:""; flex:0 0 15px; width:15px; height:15px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 7h12l1 13H5L6 7z'/%3E%3Cpath d='M9 7V6a3 3 0 0 1 6 0v1'/%3E%3C/svg%3E") center/15px no-repeat;
}
.bp-shop li.product .button:hover, .elementor .bp-gridwrap li.product .button:hover{ background:#2B2F36 !important; color:#fff !important; }
.bp-shop li.product .button.loading, .elementor .bp-gridwrap li.product .button.loading{ opacity:.7; }
.bp-shop li.product .button.added, .elementor .bp-gridwrap li.product .button.added{ background:var(--bp2-green) !important; }
.bp-shop li.product .button.added::after, .elementor .bp-gridwrap li.product .button.added::after{ display:none !important; }
.bp-shop li.product .button.added::before, .elementor .bp-gridwrap li.product .button.added::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");
}
/* the side cart opens after adding, so WooCommerce's extra "View cart" link isn't needed */
.bp-shop li.product a.added_to_cart, .elementor .bp-gridwrap li.product a.added_to_cart{ display:none !important; }

.bp-shop .woocommerce-pagination{ margin-top:22px; }
.bp-shop .woocommerce-pagination ul.page-numbers{ display:flex; justify-content:center; gap:6px; border:0 !important; }
.bp-shop .woocommerce-pagination ul.page-numbers li{ border:0 !important; }
.bp-shop .woocommerce-pagination .page-numbers a, .bp-shop .woocommerce-pagination .page-numbers span{
  display:flex; align-items:center; justify-content:center; min-width:38px; height:38px; padding:0 10px; border-radius:999px;
  background:#fff; border:1px solid var(--bp2-border); color:var(--bp2-ink); font-weight:700;
}
.bp-shop .woocommerce-pagination .page-numbers span.current{ background:var(--bp2-ink); border-color:var(--bp2-ink); color:#fff; }

@media (min-width:768px){
  .bp-shop ul.products, .elementor .bp-gridwrap ul.products{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:18px !important; }
  .bp-shop .woocommerce-products-header__title.page-title{ font-size:30px; }
  .bp-shop li.product .woocommerce-loop-product__title, .elementor .bp-gridwrap li.product .woocommerce-loop-product__title{ font-size:15px !important; }
}
@media (min-width:1025px){
  .bp-shop ul.products, .elementor .bp-gridwrap ul.products{ grid-template-columns:repeat(4,minmax(0,1fr)) !important; }
}

/* ==========================================================================
   Text-fit fixes for small phones (checked at 320-414px wide)
   ========================================================================== */
/* product card button: one line even on the narrowest phones */
@media (max-width:380px){
  .bp-shop li.product .button, .elementor .bp-gridwrap li.product .button{ font-size:12.5px !important; padding:8px 6px !important; gap:4px; }
  .bp-shop li.product .button::before, .elementor .bp-gridwrap li.product .button::before{ display:none; }
}
/* order form: size boxes keep their text inside */
.bp2-s-order .bp-of-size-txt{ min-width:0; }
.bp2-s-order .bp-of-size-txt b{ overflow-wrap:break-word; }
.bp2-s-order .bp-of-shipopt{ justify-content:center; }
@media (max-width:380px){
  .bp2-s-order .bp-of-size{ gap:8px; padding:8px; }
  .bp2-s-order .bp-of-size.is-on{ padding:7px; }
  .bp2-s-order .bp-of-size img{ width:40px; height:40px; }
  .bp2-s-order .bp-of-size-txt b{ font-size:14px; }
  .bp2-s-order .bp-of-size-txt em{ font-size:13px; }
  .bp2-s-order .bp-of-shipopt b{ font-size:14px; line-height:1.35; }
}
/* a form with only one or two choices (the marker page) gets full-width rows on phones */
@media (max-width:767px){
  .bp2-s-order .bp-of-sizes:not(:has(> .bp-of-size:nth-child(3))){ grid-template-columns:minmax(0,1fr); }
}
@media (max-width:359px){
  .bp2-s-order .bp-of-shipopt, .bp2-s-order .bp-of-shipopt.is-on{ padding-left:6px; padding-right:6px; }
  .bp2-s-order .bp-of-shipopt b{ font-size:13px; }
}
/* no empty "minimum order" line when a product has no minimum */
.bp2-s-order .bp-of-minnote:empty{ display:none; }

/* ==========================================================================
   Cart, checkout and thank-you pages
   ========================================================================== */
.elementor .bp2-s-wchead{ padding:18px 14px 0 !important; background:transparent !important; }
.elementor .bp2-s-wchead > .e-con-inner, .elementor .bp2-s-wc > .e-con-inner{ gap:0 !important; }
.elementor .bp2-wc-h .elementor-heading-title{ margin:0; font-size:24px !important; font-weight:700; line-height:1.35; color:var(--bp2-ink) !important; }
.elementor .bp2-s-wc{ padding:12px 14px 44px !important; background:transparent !important; }

/* progress steps */
.bp-steps{ display:flex; align-items:center; margin:0 0 16px !important; padding:0 !important; list-style:none; }
.bp-step{ display:flex; align-items:center; gap:7px; flex:0 0 auto; margin:0; font-size:13px; font-weight:700; line-height:1.3; color:var(--bp2-muted); white-space:nowrap; }
.bp-step-n{
  flex:0 0 26px; width:26px; height:26px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:#fff; border:1.5px solid var(--bp2-border-strong); color:var(--bp2-muted); font-size:13px;
}
.bp-step-line{ flex:1 1 auto; min-width:12px; height:2px; margin:0 8px; list-style:none; border-radius:2px; background:var(--bp2-border); }
.bp-step-line.is-done{ background:var(--bp2-ink); }
.bp-step.is-done{ color:var(--bp2-ink); }
.bp-step.is-done .bp-step-n{
  border-color:var(--bp2-ink); color:transparent;
  background:var(--bp2-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat;
}
.bp-step.is-on{ color:var(--bp2-ink); }
.bp-step.is-on .bp-step-n{ background:var(--bp2-gold); border-color:var(--bp2-gold); color:var(--bp2-ink); box-shadow:0 0 0 4px var(--bp2-gold-bg); }

/* shared card look */
body.woocommerce-cart .cart_totals,
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout #order_review,
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details{
  background:#fff !important; border:1px solid var(--bp2-border) !important; border-radius:var(--bp2-r-lg);
  box-shadow:var(--bp2-shadow-sm);
}

/* notices */
body.woocommerce-cart .woocommerce-notices-wrapper:empty, body.woocommerce-checkout .woocommerce-notices-wrapper:empty{ display:none; }
body.woocommerce-cart .woocommerce-error, body.woocommerce-checkout .woocommerce-error,
body.woocommerce-cart .woocommerce-message, body.woocommerce-checkout .woocommerce-message,
body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-info{
  margin:0 0 12px !important; padding:12px 14px 12px 42px !important; list-style:none;
  border-radius:12px; font-size:14px; font-weight:600; line-height:1.55;
}
body.woocommerce-cart .woocommerce-error, body.woocommerce-checkout .woocommerce-error{ background:#FDECEA !important; border:1px solid #F5C6C0 !important; color:#8E2A1F !important; }
body.woocommerce-cart .woocommerce-message, body.woocommerce-checkout .woocommerce-message{ background:var(--bp2-green-bg) !important; border:1px solid rgba(29,122,76,.22) !important; color:#14573A !important; }
body.woocommerce-cart .woocommerce-error::before, body.woocommerce-checkout .woocommerce-error::before,
body.woocommerce-cart .woocommerce-message::before, body.woocommerce-checkout .woocommerce-message::before{ left:14px !important; top:13px !important; }
body.woocommerce-cart .woocommerce-error li, body.woocommerce-checkout .woocommerce-error li{ margin:0; }
body.woocommerce-cart .woocommerce-message .button{ float:none !important; display:inline-block; margin:6px 0 0 !important; }

/* ---------- Cart ---------- */
body.woocommerce-cart .bp2-s-wc .woocommerce{ display:grid; grid-template-columns:minmax(0,1fr); gap:14px; }
body.woocommerce-cart .bp2-s-wc .woocommerce > *{ min-width:0; margin:0 !important; }
body.woocommerce-cart .woocommerce-cart-form{ margin:0 !important; }
body.woocommerce-cart table.shop_table.cart{
  display:block; width:100%; margin:0 !important; border:0 !important; border-radius:0 !important; background:transparent !important; overflow:visible !important;
}
body.woocommerce-cart table.shop_table.cart thead{ display:none !important; }
body.woocommerce-cart table.shop_table.cart tbody{ display:flex; flex-direction:column; gap:10px; }
body.woocommerce-cart table.shop_table.cart tr.cart_item{
  position:relative; display:grid !important; grid-template-columns:72px minmax(0,1fr) auto;
  grid-template-areas:"thumb name name" "thumb price price" "qty qty sub";
  column-gap:12px; row-gap:2px; align-items:center; padding:12px !important;
  background:#fff; border:1px solid var(--bp2-border) !important; border-radius:var(--bp2-r-lg); box-shadow:var(--bp2-shadow-sm);
}
body.woocommerce-cart table.shop_table.cart tr.cart_item td{
  display:block !important; width:auto !important; min-width:0; padding:0 !important; margin:0; border:0 !important;
  background:none !important; text-align:left !important; float:none !important;
}
body.woocommerce-cart table.shop_table.cart tr.cart_item td::before{ display:none !important; content:none !important; }
body.woocommerce-cart table.shop_table.cart td.product-thumbnail{ grid-area:thumb; align-self:start; display:block !important; }
body.woocommerce-cart table.shop_table.cart td.product-thumbnail a{ display:block; line-height:0; }
body.woocommerce-cart table.shop_table.cart td.product-thumbnail img{
  display:block; width:72px !important; height:72px !important; max-width:none !important; object-fit:cover;
  border-radius:12px; background:var(--bp2-gold-bg); margin:0 !important;
}
body.woocommerce-cart table.shop_table.cart td.product-name{
  grid-area:name; margin-right:34px !important; font-size:14px; font-weight:700; line-height:1.45; overflow-wrap:break-word;
}
body.woocommerce-cart table.shop_table.cart td.product-name a{ color:var(--bp2-ink); text-decoration:none; }
body.woocommerce-cart table.shop_table.cart td.product-name dl.variation{ margin:4px 0 0; font-size:12px; }
body.woocommerce-cart table.shop_table.cart td.product-price{ grid-area:price; align-self:start; font-size:12.5px; font-weight:600; color:var(--bp2-muted); }
body.woocommerce-cart table.shop_table.cart tr.cart_item td.product-price::before{
  display:inline !important; content:"প্রতিটি " !important; float:none !important; font-weight:600;
}
body.woocommerce-cart table.shop_table.cart td.product-quantity{ grid-area:qty; margin-top:10px !important; }
body.woocommerce-cart table.shop_table.cart td.product-subtotal{
  grid-area:sub; justify-self:end; margin-top:10px !important; white-space:nowrap;
  font-family:'Archivo','Hind Siliguri',sans-serif; font-size:17px; font-weight:700; color:var(--bp2-ink);
}
body.woocommerce-cart table.shop_table.cart td.product-remove{ position:absolute !important; top:10px; right:10px; }
body.woocommerce-cart table.shop_table.cart td.product-remove a.remove{
  display:block !important; width:28px !important; height:28px !important; margin:0 !important; border-radius:50% !important;
  font-size:0 !important; line-height:0 !important; text-indent:-9999px; overflow:hidden;
  border:1px solid var(--bp2-border) !important; color:var(--bp2-muted) !important;
  background:var(--bp2-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2393989F' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center/12px no-repeat !important;
}
body.woocommerce-cart table.shop_table.cart td.product-remove a.remove:hover{ background-color:#FDECEA !important; border-color:#F5C6C0 !important; }
body.woocommerce-cart table.shop_table.cart td.product-remove a.remove > *{ display:none !important; }

/* quantity with − / + */
body.woocommerce-cart .woocommerce-cart-form .quantity{
  display:inline-flex !important; align-items:stretch; height:42px; margin:0 !important; overflow:hidden;
  border:1.5px solid var(--bp2-border-strong); border-radius:12px; background:#fff;
}
body.woocommerce-cart .woocommerce-cart-form .quantity input.qty{
  width:68px !important; height:auto !important; min-height:0 !important; margin:0 !important; padding:0 4px !important;
  border:0 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; text-align:center;
  font-family:'Archivo','Hind Siliguri',sans-serif; font-size:16px !important; font-weight:700; color:var(--bp2-ink); -moz-appearance:textfield;
}
body.woocommerce-cart .woocommerce-cart-form .quantity input.qty::-webkit-outer-spin-button,
body.woocommerce-cart .woocommerce-cart-form .quantity input.qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.bp-qty-btn{
  flex:0 0 40px; width:40px; padding:0; border:0; cursor:pointer; line-height:1;
  background:var(--bp2-bg); color:var(--bp2-ink); font-size:20px; font-weight:700;
}
.bp-qty-btn:hover{ background:var(--bp2-gold-bg); }
.bp-qty-btn:disabled{ color:#C4C9D1; background:var(--bp2-bg); cursor:not-allowed; }

/* coupon row */
body.woocommerce-cart table.shop_table.cart tbody tr:not(.cart_item){ display:block; }
body.woocommerce-cart table.shop_table.cart td.actions{
  display:flex !important; flex-wrap:wrap; gap:8px; padding:12px !important; text-align:left !important;
  background:#fff !important; border:1px dashed var(--bp2-border-strong) !important; border-radius:var(--bp2-r-lg);
}
body.woocommerce-cart table.shop_table.cart td.actions::before{ display:none !important; }
body.woocommerce-cart td.actions .coupon{ display:flex !important; gap:8px; flex:1 1 100%; min-width:0; float:none !important; width:auto !important; margin:0 !important; padding:0 !important; }
body.woocommerce-cart td.actions .coupon .input-text{
  flex:1 1 0; min-width:0; width:0 !important; height:44px; min-height:0 !important; margin:0 !important; padding:0 12px !important;
  border:1.5px solid var(--bp2-border-strong) !important; border-radius:12px !important; font-size:15px !important; background:#fff !important;
}
body.woocommerce-cart td.actions .button{
  float:none !important; width:auto !important; height:44px; min-height:0; margin:0 !important; padding:0 14px !important; white-space:nowrap;
  border:0 !important; border-radius:12px !important; background:var(--bp2-ink) !important; color:#fff !important; box-shadow:none !important;
  font-size:13.5px !important; font-weight:700 !important; line-height:44px !important;
}
body.woocommerce-cart td.actions > .button[name="update_cart"]{ flex:1 1 100%; background:#fff !important; color:var(--bp2-ink) !important; border:1.5px solid var(--bp2-border-strong) !important; }
html.bp-cart-auto body.woocommerce-cart td.actions > .button[name="update_cart"]{ display:none !important; }

/* totals card */
body.woocommerce-cart .cart-collaterals{ width:auto !important; float:none !important; margin:0 !important; }
body.woocommerce-cart .cart-collaterals .cart_totals{ width:auto !important; float:none !important; margin:0 !important; padding:16px !important; box-shadow:var(--bp2-shadow-md); }
body.woocommerce-cart .cart-collaterals .cart_totals > h2{
  margin:0 0 4px !important; padding:0 !important; border:0 !important; border-radius:0 !important; background:none !important;
  font-size:17px !important; font-weight:700; color:var(--bp2-ink);
}
body.woocommerce-cart .cart_totals table.shop_table{ display:block; width:100%; margin:0 !important; border:0 !important; border-radius:0 !important; }
body.woocommerce-cart .cart_totals table.shop_table tbody{ display:block; }
body.woocommerce-cart .cart_totals table.shop_table tr{
  display:flex !important; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:6px 12px;
  padding:11px 0 !important; border-top:1px solid var(--bp2-border);
}
body.woocommerce-cart .cart_totals table.shop_table tr:first-child{ border-top:0; }
body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td{
  display:block !important; width:auto !important; padding:0 !important; border:0 !important; background:none !important;
}
body.woocommerce-cart .cart_totals table.shop_table th{ font-size:14px; font-weight:600; color:var(--bp2-body); text-align:left; }
body.woocommerce-cart .cart_totals table.shop_table td{ text-align:right !important; font-weight:700; color:var(--bp2-ink); }
body.woocommerce-cart .cart_totals table.shop_table td::before{ display:none !important; content:none !important; }
body.woocommerce-cart .cart_totals tr.shipping th, body.woocommerce-cart .cart_totals tr.shipping td{ flex:1 1 100%; text-align:left !important; }
body.woocommerce-cart .cart_totals tr.order-total{ padding-top:13px !important; border-top:1.5px dashed var(--bp2-border-strong) !important; }
body.woocommerce-cart .cart_totals tr.order-total th{ font-size:16px; font-weight:700; color:var(--bp2-ink); }
body.woocommerce-cart .cart_totals tr.order-total .amount{ font-size:24px !important; color:var(--bp2-ink); }
.woocommerce-shipping-destination, .woocommerce-shipping-calculator{ display:none !important; }

/* delivery choice (cart + checkout) */
body.woocommerce-cart #shipping_method, body.woocommerce-checkout #shipping_method{ display:grid !important; gap:8px !important; margin:4px 0 0 !important; padding:0 !important; list-style:none; }
body.woocommerce-cart #shipping_method li, body.woocommerce-checkout #shipping_method li{
  position:relative; display:block !important; margin:0 !important; padding:0 !important; list-style:none;
  border:1.5px solid var(--bp2-border-strong) !important; border-radius:12px !important; background:#fff !important;
}
body.woocommerce-cart #shipping_method li:has(input:checked), body.woocommerce-checkout #shipping_method li:has(input:checked){
  border:2px solid var(--bp2-gold) !important; background:var(--bp2-gold-bg) !important;
}
body.woocommerce-cart #shipping_method li input, body.woocommerce-checkout #shipping_method li input{
  position:absolute; left:12px; top:50%; transform:translateY(-50%); margin:0 !important; accent-color:var(--bp2-gold);
}
body.woocommerce-cart #shipping_method li label, body.woocommerce-checkout #shipping_method li label{
  display:flex !important; align-items:center; justify-content:space-between; gap:10px; width:100%; margin:0 !important;
  padding:11px 12px 11px 38px !important; cursor:pointer; text-align:left;
  font-size:14px; font-weight:600; line-height:1.4; color:var(--bp2-ink);
}
body.woocommerce-cart #shipping_method li label .bp-ship-name, body.woocommerce-checkout #shipping_method li label .bp-ship-name{ min-width:0; }
body.woocommerce-cart #shipping_method li label .amount, body.woocommerce-checkout #shipping_method li label .amount{
  margin-left:auto; white-space:nowrap; font-family:'Archivo','Hind Siliguri',sans-serif; font-weight:700;
}
body.woocommerce-cart #shipping_method .shipping_method + label + ul, body.woocommerce-checkout #shipping_method li > p{ margin:0 12px 10px 38px; font-size:12px; }

body.woocommerce-cart .wc-proceed-to-checkout{ margin:0 !important; padding:14px 0 0 !important; }
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  display:flex !important; align-items:center; justify-content:center; gap:8px; width:100%; min-height:54px; margin:0 !important;
  padding:12px 16px !important; border:0 !important; border-radius:14px !important; text-decoration:none;
  background:var(--bp2-gold) !important; color:var(--bp2-ink) !important; box-shadow:0 12px 24px -10px rgba(199,147,44,.65) !important;
  font-size:16.5px !important; font-weight:700 !important; line-height:1.3 !important;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::after{
  content:""; flex:0 0 16px; width:16px; height:16px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317191D' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/16px no-repeat;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{ background:#D4A13C !important; }

/* empty cart */
body.woocommerce-cart .wc-empty-cart-message{ margin:0 !important; }
body.woocommerce-cart .wc-empty-cart-message .cart-empty{
  position:relative; margin:0 !important; padding:30px 18px 8px !important; text-align:center;
  background:#fff !important; border:1px solid var(--bp2-border) !important; border-bottom:0 !important; border-radius:16px 16px 0 0;
  font-size:17px !important; font-weight:700; color:var(--bp2-ink) !important;
}
body.woocommerce-cart .wc-empty-cart-message .cart-empty::before{
  content:"" !important; position:static !important; display:block; width:76px; height:76px; margin:0 auto 14px; border-radius:50%;
  background:var(--bp2-gold-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A6771B' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3h2l2.6 12.4a2 2 0 0 0 2 1.6h7.7a2 2 0 0 0 2-1.6L21 8H6'/%3E%3Ccircle cx='10' cy='21' r='1.3'/%3E%3Ccircle cx='17' cy='21' r='1.3'/%3E%3C/svg%3E") center/34px no-repeat;
}
body.woocommerce-cart .return-to-shop{
  margin:0 !important; padding:10px 18px 28px; text-align:center;
  background:#fff; border:1px solid var(--bp2-border); border-top:0; border-radius:0 0 16px 16px;
}
body.woocommerce-cart .return-to-shop a.button{
  display:inline-flex !important; align-items:center; justify-content:center; min-height:48px; padding:0 24px !important; margin:0 !important;
  border:0 !important; border-radius:12px !important; background:var(--bp2-gold) !important; color:var(--bp2-ink) !important;
  font-size:15px !important; font-weight:700 !important; box-shadow:none !important;
}

/* ---------- Checkout ---------- */
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{
  margin:0 0 12px !important; padding:12px 14px !important; background:#fff !important;
  border:1px dashed var(--bp2-border-strong) !important; border-radius:12px; font-size:13.5px; line-height:1.5; color:var(--bp2-body) !important;
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before{ display:none !important; }
body.woocommerce-checkout .woocommerce-form-coupon-toggle a.showcoupon{ color:var(--bp2-gold-dark); font-weight:700; }
body.woocommerce-checkout form.checkout_coupon{
  margin:0 0 12px !important; padding:12px !important; background:#fff; border:1px solid var(--bp2-border) !important; border-radius:12px;
}
body.woocommerce-checkout form.checkout_coupon .form-row{ margin:0 !important; }
body.woocommerce-checkout form.checkout_coupon .button{
  height:52px; padding:0 16px !important; border-radius:12px !important; background:var(--bp2-ink) !important; color:#fff !important; box-shadow:none !important;
}

body.woocommerce-checkout form.checkout{ display:grid; grid-template-columns:minmax(0,1fr); row-gap:14px; margin:0; }
body.woocommerce-checkout form.checkout > *{ min-width:0; }
body.woocommerce-checkout form.checkout::before, body.woocommerce-checkout form.checkout::after,
body.woocommerce-checkout #customer_details::before, body.woocommerce-checkout #customer_details::after{ display:none !important; }
body.woocommerce-checkout #customer_details, body.woocommerce-checkout #order_review_heading, body.woocommerce-checkout #order_review{
  float:none !important; width:auto !important; margin:0 !important; clear:none !important;
}
body.woocommerce-checkout #customer_details .col-1{ float:none !important; width:auto !important; display:flex; flex-direction:column; gap:14px; }
body.woocommerce-checkout #customer_details .col-2{ display:none !important; }
body.woocommerce-checkout .woocommerce-shipping-fields{ display:none !important; }
body.woocommerce-checkout .woocommerce-billing-fields, body.woocommerce-checkout .woocommerce-additional-fields{ padding:16px 16px 4px !important; }
body.woocommerce-checkout .woocommerce-billing-fields > h3{ margin:0 0 12px !important; padding:0; font-size:17px !important; font-weight:700; color:var(--bp2-ink); }
body.woocommerce-checkout form.checkout .form-row{ float:none !important; width:auto !important; margin:0 0 12px !important; padding:0 !important; }
body.woocommerce-checkout form.checkout .form-row label{ display:block; margin:0 0 6px !important; font-size:14px !important; font-weight:700; line-height:1.4 !important; color:var(--bp2-ink) !important; }
body.woocommerce-checkout form.checkout .form-row .required{ color:#C0392B; border:0; text-decoration:none; }
body.woocommerce-checkout form.checkout .form-row .optional{ color:var(--bp2-muted); font-weight:600; font-size:12.5px; }
body.woocommerce-checkout form.checkout .form-row input.input-text,
body.woocommerce-checkout form.checkout .form-row textarea{
  width:100% !important; min-height:52px !important; padding:12px 14px !important; margin:0 !important;
  border:1.5px solid var(--bp2-border-strong) !important; border-radius:12px !important; background:#fff !important; box-shadow:none !important;
  font-size:16px !important; line-height:1.4; color:var(--bp2-ink) !important;
}
body.woocommerce-checkout form.checkout .form-row textarea{ min-height:84px !important; }
body.woocommerce-checkout form.checkout .form-row input.input-text:focus,
body.woocommerce-checkout form.checkout .form-row textarea:focus{ border-color:var(--bp2-gold) !important; box-shadow:0 0 0 3px var(--bp2-gold-bg) !important; outline:none; }
body.woocommerce-checkout form.checkout .form-row.woocommerce-invalid input.input-text{ border-color:#C0392B !important; box-shadow:0 0 0 3px #FDECEA !important; }

/* order summary */
body.woocommerce-checkout #order_review_heading{
  margin:0 !important; padding:16px 16px 6px !important; border-bottom:0 !important; border-radius:16px 16px 0 0 !important;
  font-size:17px !important; font-weight:700; color:var(--bp2-ink); box-shadow:none;
}
body.woocommerce-checkout #order_review{
  margin-top:-14px !important; padding:0 16px 16px !important; border-top:0 !important; border-radius:0 0 16px 16px !important;
}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table{
  display:block; width:100%; margin:0 !important; border:0 !important; border-radius:0 !important; background:transparent !important;
}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table thead{ display:none !important; }
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot{ display:block; }
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr{
  display:flex !important; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:6px 12px;
  padding:10px 0 !important; border-top:1px solid var(--bp2-border);
}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table th,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table td{
  display:block !important; width:auto !important; padding:0 !important; border:0 !important; background:none !important;
}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-name{
  flex:1 1 0; min-width:0; font-size:13.5px; font-weight:600; line-height:1.5; color:var(--bp2-ink); overflow-wrap:break-word;
}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-quantity{
  display:inline-block; margin-left:2px; padding:0 8px; border-radius:999px; white-space:nowrap;
  background:var(--bp2-gold-bg); color:var(--bp2-gold-dark); font-family:'Archivo','Hind Siliguri',sans-serif; font-size:12px; font-weight:700;
}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-total{ white-space:nowrap; font-family:'Archivo','Hind Siliguri',sans-serif; font-weight:700; color:var(--bp2-ink); }
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot th{ font-size:14px; font-weight:600; color:var(--bp2-body); text-align:left; }
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot td{ text-align:right !important; font-weight:700; color:var(--bp2-ink); }
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.shipping th,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.shipping td{ flex:1 1 100%; text-align:left !important; }
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total{ padding-top:13px !important; border-top:1.5px dashed var(--bp2-border-strong) !important; }
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total th{ font-size:16px; font-weight:700; color:var(--bp2-ink); }
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total .amount{ font-size:24px; color:var(--bp2-ink); font-family:'Archivo','Hind Siliguri',sans-serif; }

/* payment + confirm */
body.woocommerce-checkout #payment{ margin:12px 0 0 !important; padding:0 !important; background:transparent !important; border:0 !important; border-radius:0 !important; }
body.woocommerce-checkout #payment ul.payment_methods{ margin:0 0 12px !important; padding:0 !important; border:0 !important; list-style:none; }
body.woocommerce-checkout #payment li.wc_payment_method{
  position:relative; margin:0 0 8px !important; padding:12px 12px 12px 44px !important; list-style:none;
  border:2px solid var(--bp2-gold); border-radius:12px; background:var(--bp2-gold-bg);
}
body.woocommerce-checkout #payment li.wc_payment_method > input{ position:absolute; opacity:0; pointer-events:none; }
body.woocommerce-checkout #payment li.wc_payment_method > label{ display:block; margin:0 !important; font-size:14.5px; font-weight:700; line-height:1.45; color:var(--bp2-ink); cursor:pointer; }
body.woocommerce-checkout #payment li.wc_payment_method > label::before{
  content:""; position:absolute; left:12px; top:13px; width:22px; height:22px; border-radius:50%;
  background:var(--bp2-gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317191D' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat;
}
body.woocommerce-checkout #payment .payment_box{ margin:4px 0 0 !important; padding:0 !important; background:transparent !important; font-size:13px !important; line-height:1.6; color:var(--bp2-body) !important; }
body.woocommerce-checkout #payment .payment_box::before{ display:none !important; }
body.woocommerce-checkout #payment .payment_box p{ margin:0; }
body.woocommerce-checkout #payment div.form-row.place-order{ margin:0 !important; padding:0 !important; }
body.woocommerce-checkout .woocommerce-privacy-policy-text p{ margin:0 0 12px; font-size:12.5px; line-height:1.6; color:var(--bp2-muted); }
body.woocommerce-checkout #place_order{
  float:none !important; display:block; width:100% !important; min-height:56px; margin:0 !important; padding:12px 16px !important;
  border:0 !important; border-radius:14px !important; background:var(--bp2-gold) !important; color:var(--bp2-ink) !important;
  box-shadow:0 12px 24px -10px rgba(199,147,44,.65) !important; font-size:17px !important; font-weight:700 !important; line-height:1.3 !important;
}
body.woocommerce-checkout #place_order:hover{ background:#D4A13C !important; }
.bp-co-cod{
  display:flex; align-items:center; justify-content:center; gap:6px; margin:10px 0 0 !important;
  font-size:13.5px; font-weight:700; color:var(--bp2-green);
}
.bp-co-cod::before{
  content:""; flex:0 0 14px; width:14px; height:14px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D7A4C' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/14px no-repeat;
}

/* ---------- Thank-you page ---------- */
body.woocommerce-order-received .woocommerce-order{ display:flex; flex-direction:column; gap:14px; }
body.woocommerce-order-received .woocommerce-order > *{ margin:0 !important; }
body.woocommerce-order-received .woocommerce-thankyou-order-received{
  padding:26px 18px !important; text-align:center; background:#fff; border:1px solid var(--bp2-border); border-radius:16px;
  box-shadow:var(--bp2-shadow-md); font-size:17px; font-weight:700; line-height:1.55; color:var(--bp2-ink) !important;
}
body.woocommerce-order-received .woocommerce-thankyou-order-received::before{
  content:""; display:block; width:68px; height:68px; margin:0 auto 14px; border-radius:50%;
  background:var(--bp2-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/30px no-repeat;
  box-shadow:0 0 0 8px var(--bp2-green-bg);
}
body.woocommerce-order-received ul.woocommerce-order-overview{
  display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:0 !important; list-style:none;
}
body.woocommerce-order-received ul.woocommerce-order-overview::before, body.woocommerce-order-received ul.woocommerce-order-overview::after{ display:none !important; }
body.woocommerce-order-received ul.woocommerce-order-overview li{
  float:none !important; margin:0 !important; padding:12px !important; border:1px solid var(--bp2-border) !important; border-radius:12px;
  background:#fff; font-size:12.5px; line-height:1.45; color:var(--bp2-muted); text-transform:none; overflow-wrap:anywhere;
}
body.woocommerce-order-received ul.woocommerce-order-overview li strong{ display:block; margin-top:3px; font-size:15px; color:var(--bp2-ink); }
body.woocommerce-order-received .woocommerce-order > p:not(.woocommerce-thankyou-order-received){
  padding:12px 14px; border-radius:12px; background:var(--bp2-green-bg); color:#14573A; font-size:14px; font-weight:600;
}
body.woocommerce-order-received .woocommerce-order-details, body.woocommerce-order-received .woocommerce-customer-details{ padding:16px !important; }
body.woocommerce-order-received .woocommerce-order-details__title, body.woocommerce-order-received .woocommerce-column__title{ margin:0 0 8px !important; font-size:17px !important; }
body.woocommerce-order-received table.order_details{ display:block; width:100%; margin:0 !important; border:0 !important; border-radius:0 !important; }
body.woocommerce-order-received table.order_details thead{ display:none; }
body.woocommerce-order-received table.order_details tbody, body.woocommerce-order-received table.order_details tfoot{ display:block; }
body.woocommerce-order-received table.order_details tr{
  display:flex !important; justify-content:space-between; align-items:baseline; gap:6px 12px; padding:10px 0 !important; border-top:1px solid var(--bp2-border);
}
body.woocommerce-order-received table.order_details th, body.woocommerce-order-received table.order_details td{
  display:block !important; padding:0 !important; border:0 !important; background:none !important; width:auto !important;
}
body.woocommerce-order-received table.order_details td.product-name{ flex:1 1 0; min-width:0; font-size:13.5px; font-weight:600; color:var(--bp2-ink); }
body.woocommerce-order-received table.order_details td:last-child{ min-width:0; text-align:right; font-weight:700; color:var(--bp2-ink); overflow-wrap:break-word; }
body.woocommerce-order-received table.order_details tbody td:last-child, body.woocommerce-order-received table.order_details .amount{ white-space:nowrap; }
body.woocommerce-order-received table.order_details tfoot tr{ flex-wrap:nowrap; }
body.woocommerce-order-received table.order_details tfoot th{ flex:0 0 auto; }
body.woocommerce-order-received table.order_details tfoot td{ flex:1 1 auto; }
body.woocommerce-order-received table.order_details .shipped_via{ display:block; font-size:12px; font-weight:600; color:var(--bp2-muted); }
body.woocommerce-order-received table.order_details tfoot th{ font-size:14px; font-weight:600; color:var(--bp2-body); text-align:left; }
body.woocommerce-order-received table.order_details td.product-name a{ color:var(--bp2-ink); text-decoration:none; }
body.woocommerce-order-received ul.woocommerce-order-overview li.method{ grid-column:1 / -1; }
body.woocommerce-order-received .woocommerce-customer-details address{ margin:0; padding:0 !important; border:0 !important; font-style:normal; font-size:14px; line-height:1.75; color:var(--bp2-body); }

/* ---------- Larger screens: two columns ---------- */
@media (min-width:768px){
  .elementor .bp2-s-wchead, .elementor .bp2-s-wc{ padding-left:24px !important; padding-right:24px !important; }
  .elementor .bp2-wc-h .elementor-heading-title{ font-size:30px !important; }
  .bp-steps{ max-width:460px; }
  .bp-step{ font-size:14px; }
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:14px; grid-auto-flow:row dense; }
  body.woocommerce-checkout #billing_address_1_field{ grid-column:1 / -1; }
  body.woocommerce-order-received ul.woocommerce-order-overview{ grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (min-width:1025px){
  body.woocommerce-cart .bp2-s-wc .woocommerce{ grid-template-columns:minmax(0,1fr) 380px; column-gap:28px; align-items:start; }
  body.woocommerce-cart .bp2-s-wc .woocommerce > .bp-steps,
  body.woocommerce-cart .bp2-s-wc .woocommerce > .woocommerce-notices-wrapper{ grid-column:1 / -1; }
  body.woocommerce-cart .bp2-s-wc .woocommerce > .woocommerce-cart-form{ grid-column:1; }
  body.woocommerce-cart .bp2-s-wc .woocommerce > .cart-collaterals{ grid-column:2; position:sticky; top:20px; }
  body.woocommerce-checkout form.checkout{
    grid-template-columns:minmax(0,1fr) 400px; grid-template-areas:"cust head" "cust review"; grid-template-rows:auto 1fr;
    column-gap:28px; row-gap:0; align-items:start;
  }
  body.woocommerce-checkout #customer_details{ grid-area:cust; }
  body.woocommerce-checkout #order_review_heading{ grid-area:head; }
  body.woocommerce-checkout #order_review{ grid-area:review; margin-top:0 !important; }
  body.woocommerce-order-received .woocommerce-order{ max-width:760px; }
}

/* ==========================================================================
   Category landing pages: wider order form on phones, two columns on desktop
   ========================================================================== */
@media (max-width:767px){
  /* The theme already adds a 20px gutter; the form card now uses most of that space. */
  .elementor .bp2-s-order{ width:calc(100% + 20px) !important; max-width:none !important; margin:0 -10px !important; padding:10px 0 30px !important; }
  .bp2-s-order .bp-of-title, .bp2-s-order .bp-of-sub{ margin-left:24px; margin-right:24px; }
  .bp2-s-order .bp-of-card{ margin-top:14px; padding:18px 14px 20px; border-radius:18px; }
  .bp2-s-order .bp-of-sizes{ gap:8px; }
}

@media (min-width:1025px){
  /* page = product info on the left (stays in view), order form on the right */
  .elementor:has(> .bp2-s-order){
    display:grid; grid-template-columns:minmax(0,1fr) 470px; column-gap:40px; align-items:start; padding:0 30px;
  }
  .elementor:has(> .bp2-s-order) > .e-con{ grid-column:1 / -1; width:auto !important; max-width:none !important; margin:0 -30px; min-width:0; }
  .elementor:has(> .bp2-s-order) > .bp2-s-cathead{
    grid-column:1; grid-row:1; margin:0; padding:28px 0 44px !important; position:sticky; top:24px; align-self:start;
  }
  .elementor:has(> .bp2-s-order) > .bp2-s-order{ grid-column:2; grid-row:1; margin:0; padding:28px 0 44px !important; }

  /* info card */
  .elementor .bp2-s-cathead .bp2-cathead{
    flex-direction:column !important; align-items:stretch !important; gap:0 !important; overflow:hidden;
    background:#fff; border:1px solid var(--bp2-border); border-radius:22px; box-shadow:0 16px 40px -18px rgba(23,25,29,.18);
  }
  .elementor .bp2-s-cathead .bp2-cathead-thumb{ flex:0 0 auto !important; width:100% !important; max-width:none; }
  .elementor .bp2-s-cathead .bp2-cathead-thumb img{
    width:100% !important; height:auto; aspect-ratio:16/10; object-fit:contain; border:0; border-radius:0;
    background:radial-gradient(circle at 50% 45%, #fff 0%, var(--bp2-gold-bg) 72%);
  }
  .elementor .bp2-s-cathead .bp2-cathead-txt{ padding:24px 28px 28px !important; gap:8px !important; border-top:1px solid var(--bp2-border); }
  .elementor .bp2-s-cathead .bp2-cathead-h .elementor-heading-title{ font-size:32px !important; line-height:1.3; }
  .elementor .bp2-s-cathead .bp2-cathead-p p{ font-size:16px; line-height:1.7; }
  .elementor .bp2-s-cathead .bp2-cathead-trust p{
    display:inline-flex; align-items:center; gap:8px; margin:6px 0 0; padding:8px 14px; border-radius:999px;
    background:var(--bp2-green-bg); font-size:13.5px; line-height:1.4;
  }
  .elementor .bp2-s-cathead .bp2-cathead-trust p::before{
    content:""; flex:0 0 16px; width:16px; height:16px;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D7A4C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 3h15v13H1zM16 8h4l3 3v5h-7'/%3E%3Ccircle cx='5.5' cy='18.5' r='2.5'/%3E%3Ccircle cx='18.5' cy='18.5' r='2.5'/%3E%3C/svg%3E") center/16px no-repeat;
  }

  /* order form sized for the narrower column */
  .bp2-s-order .bp-of-title{ font-size:15px; }
  .bp2-s-order .bp-of-sub{ font-size:14.5px; margin-top:8px; }
  .bp2-s-order .bp-of-card{ margin-top:16px; padding:24px 24px 26px; border-radius:22px; }
  .bp2-s-order .bp-of-sizes{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bp2-s-order .bp-of-fields{ flex-direction:column; flex-wrap:nowrap; }
  .bp2-s-order .bp-of-fields > *{ flex:0 0 auto !important; }
  .bp2-s-order .bp-of-submit, .bp2-s-order .bp-of-wa{ max-width:none; }
}
/* order form: the theme was drawing a second box inside the quantity field, and the address box came out one line tall */
.bp-of .bp-of-qtybox .bp-of-input{
  height:auto !important; min-height:0 !important; margin:0 !important; padding:0 !important;
  border:0 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important;
  font-family:'Archivo','Hind Siliguri',sans-serif !important; font-size:20px !important; font-weight:700 !important; color:var(--bp2-ink) !important;
}
.bp-of .bp-of-fields .bp-of-area{ height:96px; padding-top:14px; padding-bottom:12px; resize:vertical; }
/* spacing of the order section comes from the section itself, not doubled inside it */
.elementor .bp2-s-order > .e-con-inner{ padding:0 !important; }
@media (max-width:767px){ .elementor .bp2-s-order{ padding-top:18px !important; } }
@media (min-width:768px) and (max-width:1024px){ .elementor .bp2-s-order{ padding:30px 24px 40px !important; } }
