
/* =========================================================
   JAGO — PREMIUM BEIGE THEME (NON-HERO ONLY) — UPDATED MASTER
   - Kee your existing design
   - Fixes: Single product text overlap (short description), safer resets
   - Keeps: shop grid + checkout/cart/single product styles
   - HERO SAFE (does not touch .hero-wrap or inside it)
   ========================================================= */


/* =========================
   0) ROOT TOKEN
========================= */
:root{
  --jago-beige:#EDE8D0;
  --jago-matte:#E1CFB9;

  --jago-ink:#0B0F14;
  --jago-ink-2:#26313A;
  --jago-muted:#6B7A86;

  --jago-line:rgba(11,15,20,.10);

  --jago-card:rgba(255,255,255,.74);
  --jago-card-strong:rgba(255,255,255,.92);

  --jago-shadow:0 14px 34px rgba(11,15,20,.08);
  --jago-shadow-strong:0 22px 56px rgba(11,15,20,.14);

  --jago-glow:rgba(170,255,240,.10);
}

/* -------- 0) Site background (safe global) -------- */
body{
  background:var(--jago-beige) !important;
  color:var(--jago-ink);
}


/* =========================================================
   1) GLOBAL NON-HERO BASE (After hero-wrap only)
   ========================================================= */

/* Section spacing (non-hero) */
.hero-wrap ~ .elementor-section{
  padding-top:clamp(46px, 5vw, 78px);
  padding-bottom:clamp(46px, 5vw, 78px);
}

/* Container width (non-hero) */
.hero-wrap ~ .elementor-section .elementor-container{
  max-width:1200px;
}

/* Typography (non-hero) */
.hero-wrap ~ .elementor-section p,
.hero-wrap ~ .elementor-section .elementor-widget-text-editor{
  color:var(--jago-ink-2);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.75;
}

.hero-wrap ~ .elementor-section :is(h1,h2,h3,h4,h5,h6),
.hero-wrap ~ .elementor-section .elementor-heading-title{
  color:var(--jago-ink) !important;
  letter-spacing:-0.02em;
}

/* Links (non-hero) */
.hero-wrap ~ .elementor-section a{ color:var(--jago-ink); }
.hero-wrap ~ .elementor-section a:hover{ opacity:.88; }

/* Buttons unify (non-hero only) */
.hero-wrap ~ .elementor-section :is(.elementor-button,button,input[type="submit"]){
  border-radius:999px !important;
  transition:transform .20s ease, box-shadow .20s ease, background .20s ease, border-color .20s ease, color .20s ease;
}
.hero-wrap ~ .elementor-section :is(.elementor-button,button,input[type="submit"]):hover{
  transform:translateY(-1px);
}


/* =========================================================
   5) ASTRA SHOP GRID — INNER GAP (Shop/Category pages)
   (Not single product, but you kept it, so kept same)
   ========================================================= */
body.woocommerce-shop .woocommerce ul.products li.ast-grid-common-col,
body.tax-product_cat .woocommerce ul.products li.ast-grid-common-col,
body.woocommerce-page .woocommerce ul.products li.ast-grid-common-col{
  padding:12px !important;
  padding-bottom:10px !important;
}

body.woocommerce-shop .woocommerce ul.products li.ast-grid-common-col .astra-shop-thumbnail-wrap,
body.tax-product_cat .woocommerce ul.products li.ast-grid-common-col .astra-shop-thumbnail-wrap,
body.woocommerce-page .woocommerce ul.products li.ast-grid-common-col .astra-shop-thumbnail-wrap{
  margin:0 0 8px !important;
}

body.woocommerce-shop .woocommerce ul.products li.ast-grid-common-col .astra-shop-summary-wrap,
body.tax-product_cat .woocommerce ul.products li.ast-grid-common-col .astra-shop-summary-wrap,
body.woocommerce-page .woocommerce ul.products li.ast-grid-common-col .astra-shop-summary-wrap{
  padding:0 !important;
  margin:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
}

body.woocommerce-shop .woocommerce ul.products li.ast-grid-common-col .astra-shop-summary-wrap *,
body.tax-product_cat .woocommerce ul.products li.ast-grid-common-col .astra-shop-summary-wrap *,
body.woocommerce-page .woocommerce ul.products li.ast-grid-common-col .astra-shop-summary-wrap *{
  margin-top:0 !important;
  margin-bottom:0 !important;
}

body.woocommerce-shop .woocommerce ul.products li.ast-grid-common-col .price,
body.tax-product_cat .woocommerce ul.products li.ast-grid-common-col .price,
body.woocommerce-page .woocommerce ul.products li.ast-grid-common-col .price{
  margin:0 0 4px !important;
  line-height:1.2 !important;
}

body.woocommerce-shop .woocommerce ul.products li.ast-grid-common-col a.button,
body.tax-product_cat .woocommerce ul.products li.ast-grid-common-col a.button,
body.woocommerce-page .woocommerce ul.products li.ast-grid-common-col a.button{
  margin-top:6px !important;
  margin-bottom:0 !important;
  padding-top:10px !important;
  padding-bottom:10px !important;
}

@media (max-width:767px){
  body.woocommerce-shop .woocommerce ul.products li.ast-grid-common-col,
  body.tax-product_cat .woocommerce ul.products li.ast-grid-common-col,
  body.woocommerce-page .woocommerce ul.products li.ast-grid-common-col{
    padding:10px !important;
  }

  body.woocommerce-shop .woocommerce ul.products li.ast-grid-common-col .astra-shop-thumbnail-wrap,
  body.tax-product_cat .woocommerce ul.products li.ast-grid-common-col .astra-shop-thumbnail-wrap,
  body.woocommerce-page .woocommerce ul.products li.ast-grid-common-col .astra-shop-thumbnail-wrap{
    margin-bottom:6px !important;
  }

  body.woocommerce-shop .woocommerce ul.products li.ast-grid-common-col .astra-shop-summary-wrap,
  body.tax-product_cat .woocommerce ul.products li.ast-grid-common-col .astra-shop-summary-wrap,
  body.woocommerce-page .woocommerce ul.products li.ast-grid-common-col .astra-shop-summary-wrap{
    gap:5px !important;
  }
}


/* =========================================================
   2) REUSABLE SECTION THEME (future sections)
   Use class on SECTION: jago-section
   ========================================================= */
.hero-wrap ~ .elementor-section.jago-section{
  background:
    radial-gradient(900px 420px at 12% 10%, rgba(255,255,255,.55), transparent 60%),
    radial-gradient(900px 420px at 88% 30%, var(--jago-glow), transparent 55%),
    linear-gradient(180deg, rgba(237,232,208,.92) 0%, rgba(225,207,185,.32) 50%, rgba(237,232,208,.92) 100%) !important;
  border-top:1px solid rgba(11,15,20,.05);
  border-bottom:1px solid rgba(11,15,20,.05);
}

/* Boxed utility */
.hero-wrap ~ .elementor-section .jago-boxed{
  background:linear-gradient(180deg, var(--jago-card) 0%, var(--jago-card-strong) 100%) !important;
  border:1px solid var(--jago-line) !important;
  box-shadow:var(--jago-shadow) !important;
  border-radius:22px !important;
  padding:clamp(18px, 2.2vw, 34px) !important;
}



/* =========================================================
   4) MOBILE POLISH (Non-hero)
   ========================================================= */
@media (max-width:767px){
  .hero-wrap ~ .elementor-section{
    padding-top:40px;
    padding-bottom:44px;
  }
  .hero-wrap ~ .why-jago .elementor-container{
    padding:18px !important;
    border-radius:20px !important;
  }
}


/* =========================================================
   5) SHOP NOW (Shop + Category) — PREMIUM WHITE MIX + GAP FIX
   ========================================================= */

/* Premium white mix background (reduce beige only here) */
body.woocommerce-shop,
body.tax-product_cat{
  background:
    radial-gradient(1100px 420px at 15% 10%, rgba(255,255,255,.85), transparent 60%),
    radial-gradient(900px 360px at 88% 22%, rgba(225,207,185,.22), transparent 58%),
    linear-gradient(180deg, #ffffff 0%, rgba(255,255,255,.92) 55%, #ffffff 100%) !important;
}

/* wrappers transparent so background shows */
body.woocommerce-shop #page,
body.woocommerce-shop #content,
body.woocommerce-shop .site,
body.woocommerce-shop .site-content,
body.tax-product_cat #page,
body.tax-product_cat #content,
body.tax-product_cat .site,
body.tax-product_cat .site-content{
  background:transparent !important;
}


/* =========================================================
6) JAGO — SHOP GRID MASTER
========================================================= */

/* ---------- GRID (Woo loop) ---------- */
body.woocommerce-shop .woocommerce ul.products,
body.tax-product_cat .woocommerce ul.products,
body.woocommerce-page .woocommerce ul.products{
display:grid !important;
grid-template-columns:repeat(4, minmax(0,1fr)) !important;
column-gap:18px !important;
row-gap:22px !important;
margin:0 !important;
padding:0 !important;
list-style:none !important;
align-items:stretch !important;
}

/* ---------- GRID (Blocks loop) ---------- */
body.woocommerce-shop :is(.wc-block-grid__products,.wc-block-product-template),
body.tax-product_cat :is(.wc-block-grid__products,.wc-block-product-template),
body.woocommerce-page :is(.wc-block-grid__products,.wc-block-product-template){
display:grid !important;
grid-template-columns:repeat(4, minmax(0,1fr)) !important;
column-gap:18px !important;
row-gap:22px !important;
margin:0 !important;
padding:0 !important;
list-style:none !important;
align-items:stretch !important;
}

/* ---------- Tablet ---------- */
@media (max-width:1024px){
body.woocommerce-shop .woocommerce ul.products,
body.tax-product_cat .woocommerce ul.products,
body.woocommerce-page .woocommerce ul.products,
body.woocommerce-shop :is(.wc-block-grid__products,.wc-block-product-template),
body.tax-product_cat :is(.wc-block-grid__products,.wc-block-product-template),
body.woocommerce-page :is(.wc-block-grid__products,.wc-block-product-template){
grid-template-columns:repeat(3, minmax(0,1fr)) !important;
column-gap:16px !important;
row-gap:18px !important;
}
}

/* ---------- Mobile ---------- */
@media (max-width:767px){
body.woocommerce-shop .woocommerce ul.products,
body.tax-product_cat .woocommerce ul.products,
body.woocommerce-page .woocommerce ul.products,
body.woocommerce-shop :is(.wc-block-grid__products,.wc-block-product-template),
body.tax-product_cat :is(.wc-block-grid__products,.wc-block-product-template),
body.woocommerce-page :is(.wc-block-grid__products,.wc-block-product-template){
grid-template-columns:repeat(2, minmax(0,1fr)) !important;
column-gap:12px !important;
row-gap:16px !important;
}
}

/* ---------- CARD ---------- */
body.woocommerce-shop :is(.woocommerce ul.products li.product,.wc-block-grid__product),
body.tax-product_cat :is(.woocommerce ul.products li.product,.wc-block-grid__product),
body.woocommerce-page :is(.woocommerce ul.products li.product,.wc-block-grid__product){
background:rgba(255,255,255,.86) !important;
border:1px solid rgba(11,15,20,.08) !important;
border-radius:18px !important;
box-shadow:0 10px 24px rgba(11,15,20,.08) !important;

height:100% !important;
display:flex !important;
flex-direction:column !important;

padding:14px !important;
padding-bottom:10px !important;
gap:8px !important;
}

/* ---------- FIX: INNER PRODUCT LINK FULL HEIGHT ---------- */
body.woocommerce-shop .woocommerce ul.products li.product > a,
body.tax-product_cat .woocommerce ul.products li.product > a,
body.woocommerce-page .woocommerce ul.products li.product > a{
display:flex !important;
flex-direction:column !important;
flex:1 1 auto !important;
}

/* ---------- IMAGE ---------- */
body.woocommerce-shop .woocommerce ul.products li.product a img,
body.tax-product_cat .woocommerce ul.products li.product a img,
body.woocommerce-page .woocommerce ul.products li.product a img,
body.woocommerce-shop .wc-block-grid__product-image img,
body.tax-product_cat .wc-block-grid__product-image img,
body.woocommerce-page .wc-block-grid__product-image img{
aspect-ratio:1 / 1 !important;
object-fit:contain !important;
background:rgba(11,15,20,.03) !important;
border-radius:14px !important;
padding:8px !important;
}

/* ---------- TITLE ---------- */
body.woocommerce-shop :is(.woocommerce-loop-product__title,.wc-block-grid__product-title),
body.tax-product_cat :is(.woocommerce-loop-product__title,.wc-block-grid__product-title),
body.woocommerce-page :is(.woocommerce-loop-product__title,.wc-block-grid__product-title){
font-size:clamp(13px, 2.8vw, 15px) !important;
font-weight:700 !important;
line-height:1.25 !important;
min-height:2.6em !important;
display:-webkit-box !important;
-webkit-line-clamp:2 !important;
-webkit-box-orient:vertical !important;
overflow:hidden !important;
}

/* ---------- PRICE ---------- */
body.woocommerce-shop .price,
body.tax-product_cat .price,
body.woocommerce-page .price,
body.woocommerce-shop .wc-block-grid__product-price{
font-size:14px !important;
font-weight:800 !important;
margin-bottom:6px !important;
min-height:1.3em !important;
}

/* ---------- ADD TO CART (BOTTOM + ONE LINE) ---------- */
body.woocommerce-shop a.button,
body.tax-product_cat a.button,
body.woocommerce-page a.button,
body.woocommerce-shop .wc-block-grid__product-add-to-cart a{
margin-top:auto !important;
margin-bottom:0 !important;
width:100% !important;
min-height:44px !important;
border-radius:999px !important;

display:flex !important;
align-items:center !important;
justify-content:center !important;

font-weight:800 !important;
line-height:1 !important;
white-space:nowrap !important;
}

/* ---------- Mobile Button ---------- */
@media (max-width:767px){
body.woocommerce-shop a.button,
body.tax-product_cat a.button,
body.woocommerce-page a.button,
body.woocommerce-shop .wc-block-grid__product-add-to-cart a{
min-height:38px !important;
padding:8px 10px !important;
font-size:11px !important;
white-space:nowrap !important;
}
}

/* Extra theme spacing below product items sometimes appears */
body.woocommerce-shop .woocommerce ul.products li.product::after,
body.tax-product_cat .woocommerce ul.products li.product::after{
display:none !important;
content:none !important;
}

/* =========================================================
   JAGO — SHOP GRID PATCH (Only) — UPDATED
   Fix:
   1) Remove gap under Add to cart (desktop+mobile)
   2) Mobile: center everything in card
   3) Add to cart text perfectly centered (desktop+mobile)
   Keep everything else unchanged
   ========================================================= */

/* 1) KILL bottom gap: card + inner wrappers */
body.woocommerce-shop :is(.woocommerce ul.products li.product,.wc-block-grid__product),
body.tax-product_cat :is(.woocommerce ul.products li.product,.wc-block-grid__product),
body.woocommerce-page :is(.woocommerce ul.products li.product,.wc-block-grid__product){
  padding-bottom:12px !important;
  min-height:0 !important;
  height:auto !important;
}

/* common inner wrappers that often add extra bottom space */
body.woocommerce-shop :is(.woocommerce ul.products li.product > a,.wc-block-grid__product-link),
body.tax-product_cat :is(.woocommerce ul.products li.product > a,.wc-block-grid__product-link),
body.woocommerce-page :is(.woocommerce ul.products li.product > a,.wc-block-grid__product-link){
  padding-bottom:0 !important;
  margin-bottom:0 !important;
}

/* sometimes button sits inside a wrapper with extra margin/padding */
body.woocommerce-shop :is(.add_to_cart_button, .product_type_simple, .product_type_variable),
body.tax-product_cat :is(.add_to_cart_button, .product_type_simple, .product_type_variable),
body.woocommerce-page :is(.add_to_cart_button, .product_type_simple, .product_type_variable),
body.woocommerce-shop .wc-block-grid__product-add-to-cart,
body.tax-product_cat .wc-block-grid__product-add-to-cart,
body.woocommerce-page .wc-block-grid__product-add-to-cart{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}

/* 3) PERFECT CENTER: Add to cart text in button (desktop+mobile) */
body.woocommerce-shop :is(.woocommerce ul.products li.product a.button,.wc-block-grid__product-add-to-cart a),
body.tax-product_cat :is(.woocommerce ul.products li.product a.button,.wc-block-grid__product-add-to-cart a),
body.woocommerce-page :is(.woocommerce ul.products li.product a.button,.wc-block-grid__product-add-to-cart a){
  /* keep your existing sizing */
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  /* remove baseline/line-height weirdness */
  line-height:1 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;

  /* make vertical centering deterministic */
  min-height:44px !important;  /* desktop default */
  height:auto !important;

  /* kill any theme offsets */
  vertical-align:middle !important;
  text-indent:0 !important;
}

/* kill pseudo-elements that sometimes push text */
body.woocommerce-shop :is(.woocommerce ul.products li.product a.button,.wc-block-grid__product-add-to-cart a)::before,
body.woocommerce-shop :is(.woocommerce ul.products li.product a.button,.wc-block-grid__product-add-to-cart a)::after,
body.tax-product_cat :is(.woocommerce ul.products li.product a.button,.wc-block-grid__product-add-to-cart a)::before,
body.tax-product_cat :is(.woocommerce ul.products li.product a.button,.wc-block-grid__product-add-to-cart a)::after,
body.woocommerce-page :is(.woocommerce ul.products li.product a.button,.wc-block-grid__product-add-to-cart a)::before,
body.woocommerce-page :is(.woocommerce ul.products li.product a.button,.wc-block-grid__product-add-to-cart a)::after{
  content:none !important;
  display:none !important;
}

/* ensure the button itself never creates bottom gap */
body.woocommerce-shop :is(.woocommerce ul.products li.product a.button,.wc-block-grid__product-add-to-cart a),
body.tax-product_cat :is(.woocommerce ul.products li.product a.button,.wc-block-grid__product-add-to-cart a),
body.woocommerce-page :is(.woocommerce ul.products li.product a.button,.wc-block-grid__product-add-to-cart a){
  margin-bottom:0 !important;
  align-self:stretch !important;
}

/* 2) Mobile: center everything in card (only mobile) */
@media (max-width:767px){

  body.woocommerce-shop :is(.woocommerce ul.products li.product,.wc-block-grid__product),
  body.tax-product_cat :is(.woocommerce ul.products li.product,.wc-block-grid__product),
  body.woocommerce-page :is(.woocommerce ul.products li.product,.wc-block-grid__product){
    text-align:center !important;
    align-items:center !important;
  }

  body.woocommerce-shop :is(.woocommerce-loop-product__title,.wc-block-grid__product-title),
  body.tax-product_cat :is(.woocommerce-loop-product__title,.wc-block-grid__product-title),
  body.woocommerce-page :is(.woocommerce-loop-product__title,.wc-block-grid__product-title),
  body.woocommerce-shop :is(.price,.wc-block-grid__product-price),
  body.tax-product_cat :is(.price,.wc-block-grid__product-price),
  body.woocommerce-page :is(.price,.wc-block-grid__product-price){
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body.woocommerce-shop :is(.woocommerce ul.products li.product a img,.wc-block-grid__product-image img),
  body.tax-product_cat :is(.woocommerce ul.products li.product a img,.wc-block-grid__product-image img),
  body.woocommerce-page :is(.woocommerce ul.products li.product a img,.wc-block-grid__product-image img){
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* mobile button sizing + perfect center */
  body.woocommerce-shop :is(.woocommerce ul.products li.product a.button,.wc-block-grid__product-add-to-cart a),
  body.tax-product_cat :is(.woocommerce ul.products li.product a.button,.wc-block-grid__product-add-to-cart a),
  body.woocommerce-page :is(.woocommerce ul.products li.product a.button,.wc-block-grid__product-add-to-cart a){
    width:100% !important;
    max-width:320px !important;
    align-self:center !important;

    min-height:38px !important;     /* your mobile height */
    padding:0 10px !important;      /* only left/right padding */
    font-size:11px !important;
    line-height:1 !important;
  }
}

/* =========================================================
JAGO — MOBILE SHOP CARDS (FINAL ONE-PIECE)
Works on: shop archive + category + shortcode + Elementor products
Goal: Equal card height + button same baseline + no extra gap
========================================================= */

@media (max-width:767px){

  /* 0) Any Woo product grid should stretch items */
  .woocommerce :is(ul.products, .products){
    align-items:stretch !important;
  }

  /* 1) Card = strict flex column (this is the base) */
  .woocommerce :is(ul.products li.product, .products li.product, .wc-block-grid__product){
    height:100% !important;
    min-height:0 !important;

    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;

    /* ✅ only ONE premium bottom space (don’t use button margin) */
    padding-bottom:14px !important;
  }

  /* 2) Make the “content area” stretch (different themes use different wrappers) */
  .woocommerce :is(ul.products li.product, .products li.product, .wc-block-grid__product)
  :is(
    a.woocommerce-LoopProduct-link,
    a.woocommerce-loop-product__link,
    .woocommerce-LoopProduct-link,
    .astra-shop-summary-wrap,
    .woo-entry-inner,
    .product-inner,
    .wc-block-grid__product-link
  ){
    display:flex !important;
    flex-direction:column !important;
    flex:1 1 auto !important;     /* ✅ key: equal height */
    min-height:0 !important;

    margin:0 !important;
    padding:0 !important;
  }

  /* 3) Kill random spacing inside card that breaks equality */
  .woocommerce :is(ul.products li.product, .products li.product, .wc-block-grid__product)
  :is(.astra-shop-summary-wrap,.woo-entry-inner,.product-inner,.wc-block-grid__product-link) *{
    margin-top:0 !important;
  }

  /* 4) Category (fixed line) */
  .woocommerce :is(ul.products li.product, .products li.product, .wc-block-grid__product)
  :is(.woocommerce-loop-product__category,.wc-block-grid__product-category){
    font-size:12px !important;
    line-height:1.2 !important;
    min-height:1.2em !important;
    margin:8px 0 6px !important;
    opacity:.75 !important;
  }

  /* 5) Title = 2 lines fixed block */
  .woocommerce :is(ul.products li.product, .products li.product, .wc-block-grid__product)
  :is(.woocommerce-loop-product__title,.wc-block-grid__product-title,h2.woocommerce-loop-product__title){
    font-size:14px !important;
    font-weight:700 !important;
    line-height:1.25 !important;

    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;

    min-height:calc(14px * 1.25 * 2) !important;
    margin:0 0 8px !important;
  }

  /* 6) Price = fixed block (sale del/ins safe) */
  .woocommerce :is(ul.products li.product, .products li.product, .wc-block-grid__product)
  :is(.price,.wc-block-grid__product-price){
    font-size:14px !important;
    font-weight:800 !important;
    line-height:1.2 !important;

    /* ✅ enough height for del+ins (sale) */
    min-height:calc(14px * 1.2 * 2) !important;
    margin:0 0 10px !important;

    display:flex !important;
    flex-wrap:wrap !important;
    gap:6px !important;
    align-items:baseline !important;
  }

  .woocommerce :is(.price del,.price ins){
    display:inline !important;
    line-height:1.2 !important;
  }

  /* 7) Button = always bottom + SAME baseline */
  .woocommerce :is(ul.products li.product, .products li.product, .wc-block-grid__product)
  :is(a.button, .wc-block-grid__product-add-to-cart a, .add_to_cart_button, .product_type_simple, .product_type_variable){
    margin-top:auto !important;    /* ✅ push to bottom */
    margin-bottom:0 !important;    /* ✅ no double gap */

    width:100% !important;
    height:38px !important;
    min-height:38px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    font-size:11px !important;
    font-weight:800 !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  /* 8) Remove pseudo clearfix gaps */
  .woocommerce :is(ul.products li.product, .products li.product)::after{
    content:none !important;
    display:none !important;
  }
}

/* =========================================================
7) CHECKOUT / CART / SINGLE PRODUCT (kept as-is)
========================================================= */

/* ---------------- CHECKOUT ---------------- */
body.woocommerce-checkout{
--jago-bg:#fff;
--jago-text:#0b0f19;
--jago-muted:rgba(11,15,25,.62);
--jago-border:rgba(11,15,25,.12);
--jago-soft:rgba(11,15,25,.035);
--jago-shadow:0 10px 26px rgba(11,15,25,.08);
--jago-radius:14px;
--jago-radius-sm:12px;
}

body.woocommerce-checkout,
body.woocommerce-checkout #page,
body.woocommerce-checkout #content,
body.woocommerce-checkout .site,
body.woocommerce-checkout .site-content{
background:var(--jago-bg) !important;
color:var(--jago-text);
}

body.woocommerce-checkout .woocommerce{
max-width:1120px;
margin:0 auto;
padding:20px 14px 34px;
}

body.woocommerce-checkout .woocommerce-checkout *{
transform:none !important;
}

body.woocommerce-checkout :is(.woocommerce-billing-fields,.woocommerce-checkout-review-order,#payment){
background:#fff !important;
border:1px solid var(--jago-border) !important;
border-radius:var(--jago-radius) !important;
box-shadow:var(--jago-shadow);
}
body.woocommerce-checkout .woocommerce-billing-fields{ padding:16px; }
body.woocommerce-checkout .woocommerce-checkout-review-order{ padding:14px; }
body.woocommerce-checkout #payment{ padding:14px !important; }

body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout #order_review_heading{
margin:0 0 12px !important;
font-size:18px;
line-height:1.25;
font-weight:800;
letter-spacing:.2px;
color:var(--jago-text);
}

body.woocommerce-checkout .woocommerce form .form-row{
margin:0 0 14px !important;
padding:0 !important;
position:relative !important;
clear:both !important;
}

body.woocommerce-checkout .woocommerce form .form-row label{
display:block !important;
position:static !important;
float:none !important;
margin:0 0 6px !important;
padding:0 !important;
font-size:13px;
line-height:1.25;
font-weight:700;
color:var(--jago-text);
}
body.woocommerce-checkout .woocommerce form .form-row label .optional{
color:var(--jago-muted);
font-weight:600;
}
body.woocommerce-checkout .woocommerce form .form-row .required{ color:#ef4444; }

body.woocommerce-checkout .woocommerce form .form-row :is(input.input-text,textarea,select){
width:100% !important;
min-height:46px;
border-radius:var(--jago-radius-sm);
border:1px solid rgba(11,15,25,.18);
background:#fff;
padding:10px 12px;
font-size:14px;
color:var(--jago-text);
box-shadow:none !important;
outline:none !important;
transition:border-color .18s ease, box-shadow .18s ease;
}
body.woocommerce-checkout .woocommerce form .form-row textarea{
min-height:110px;
resize:vertical;
}
body.woocommerce-checkout .woocommerce form .form-row :is(input.input-text,textarea,select):focus{
border-color:rgba(11,15,25,.55);
box-shadow:0 0 0 4px rgba(11,15,25,.08) !important;
}

body.woocommerce-checkout .woocommerce form .form-row-first,
body.woocommerce-checkout .woocommerce form .form-row-last{
float:left !important;
width:48% !important;
clear:none !important;
}
body.woocommerce-checkout .woocommerce form .form-row-last{ float:right !important; }
body.woocommerce-checkout .woocommerce form .form-row-wide{
clear:both !important;
width:100% !important;
}
@media (max-width:767px){
body.woocommerce-checkout .woocommerce form .form-row-first,
body.woocommerce-checkout .woocommerce form .form-row-last{
float:none !important;
width:100% !important;
}
}

body.woocommerce-checkout .woocommerce-notices-wrapper{
margin:10px 0 16px !important;
}
body.woocommerce-checkout :is(.woocommerce-error,.woocommerce-message,.woocommerce-info){
position:relative !important;
padding:14px 14px 14px 44px !important;
margin:0 0 12px !important;
line-height:1.45 !important;
overflow:hidden !important;
word-break:break-word;
border-radius:14px !important;
}
body.woocommerce-checkout :is(.woocommerce-error,.woocommerce-message,.woocommerce-info)::before{
position:absolute !important;
left:14px !important;
top:14px !important;
}

body.woocommerce-checkout table.shop_table{
border:0 !important;
border-collapse:separate !important;
border-spacing:0 8px !important;
margin:10px 0 0 !important;
}
body.woocommerce-checkout table.shop_table th,
body.woocommerce-checkout table.shop_table td{
border:0 !important;
padding:10px 12px !important;
background:var(--jago-soft) !important;
}
body.woocommerce-checkout table.shop_table tr td:first-child,
body.woocommerce-checkout table.shop_table tr th:first-child{
border-top-left-radius:12px;
border-bottom-left-radius:12px;
}
body.woocommerce-checkout table.shop_table tr td:last-child,
body.woocommerce-checkout table.shop_table tr th:last-child{
border-top-right-radius:12px;
border-bottom-right-radius:12px;
}
body.woocommerce-checkout .shop_table .order-total :is(th,td){ font-weight:800; }

body.woocommerce-checkout #payment ul.payment_methods{
margin:0 !important;
padding:0 !important;
}
body.woocommerce-checkout #payment .payment_box{
background:var(--jago-soft) !important;
border:1px solid var(--jago-border) !important;
border-radius:12px !important;
padding:12px !important;
}

body.woocommerce-checkout #place_order,
body.woocommerce-checkout .woocommerce #payment #place_order{
width:100% !important;
min-height:52px;
border-radius:14px;
background:#0b0f19 !important;
color:#fff !important;
border:1px solid rgba(11,15,25,.22) !important;
font-size:15px;
font-weight:800;
letter-spacing:.2px;
box-shadow:0 12px 28px rgba(11,15,25,.18);
}
body.woocommerce-checkout #place_order:hover{ filter:brightness(0.98); }

/* ---------------- CART ---------------- */
body.woocommerce-cart,
body.woocommerce-cart #page,
body.woocommerce-cart #content,
body.woocommerce-cart .site,
body.woocommerce-cart .site-content{
background:#fff !important;
}

body.woocommerce-cart .woocommerce{
max-width:1120px;
margin:0 auto;
padding:20px 14px 34px;
}

body.woocommerce-cart :is(.woocommerce-cart-form,.cart_totals){
background:#fff !important;
border:1px solid rgba(11,15,25,.12) !important;
border-radius:14px !important;
box-shadow:0 10px 26px rgba(11,15,25,.08);
padding:14px !important;
}

body.woocommerce-cart table.shop_table{
border:0 !important;
border-collapse:separate !important;
border-spacing:0 8px !important;
}

body.woocommerce-cart table.shop_table th,
body.woocommerce-cart table.shop_table td{
border:0 !important;
padding:10px 12px !important;
background:rgba(11,15,25,.035) !important;
}

body.woocommerce-cart .product-name a{
font-weight:800;
color:#0b0f19 !important;
text-decoration:none;
}
body.woocommerce-cart .product-name a:hover{ text-decoration:underline; }

body.woocommerce-cart .quantity .qty{
min-height:44px;
border-radius:12px;
border:1px solid rgba(11,15,25,.18);
}

@media (max-width:767px){
body.woocommerce-cart .cart_totals{ padding:12px !important; }
body.woocommerce-cart a.checkout-button{ width:100% !important; }
}

/* =========================================================
   JAGO — CHECKOUT TEXT OVERLAP FIX (Order review + Address + Payment Terms)
   Paste AFTER your current checkout/cart CSS
   ========================================================= */

/* ---------- 1) ORDER REVIEW TABLE: stop text stacking ---------- */
body.woocommerce-checkout #order_review,
body.woocommerce-checkout #order_review *{
  box-sizing:border-box !important;
}

body.woocommerce-checkout table.shop_table th,
body.woocommerce-checkout table.shop_table td{
  line-height:1.35 !important;
  vertical-align:top !important;
}

/* Product name cell: allow normal wrapping */
body.woocommerce-checkout table.shop_table td.product-name{
  white-space:normal !important;
  word-break:break-word;
}

/* Quantity inline + spacing */
body.woocommerce-checkout table.shop_table td.product-name .product-quantity{
  display:inline-block !important;
  margin-left:6px !important;
}

/* Variation block is the usual culprit (dt/dd floats causing overlap) */
body.woocommerce-checkout table.shop_table td.product-name dl.variation{
  margin:6px 0 0 !important;
  padding:0 !important;
}

/* Hard reset: no float/absolute/transform in variation area */
body.woocommerce-checkout table.shop_table td.product-name dl.variation,
body.woocommerce-checkout table.shop_table td.product-name dl.variation *{
  float:none !important;
  position:static !important;
  transform:none !important;
  clear:both !important;
}

/* Make dt/dd stack nicely */
body.woocommerce-checkout table.shop_table td.product-name dl.variation dt{
  display:block !important;
  margin:0 0 2px !important;
  font-weight:700 !important;
}
body.woocommerce-checkout table.shop_table td.product-name dl.variation dd{
  display:block !important;
  margin:0 0 6px !important;
  padding:0 !important;
}

/* ---------- 2) PAYMENT AREA: TERMS/PRIVACY TEXT OVERLAP FIX (your screenshot) ---------- */
/* Scope tight: only checkout payment box */
body.woocommerce-checkout #payment,
body.woocommerce-checkout #payment *{
  transform:none !important;
}

body.woocommerce-checkout #payment .form-row,
body.woocommerce-checkout #payment .form-row *{
  position:static !important;
  float:none !important;
  clear:both !important;
}

body.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper,
body.woocommerce-checkout #payment .woocommerce-privacy-policy-text,
body.woocommerce-checkout #payment .woocommerce-terms-and-conditions{
  display:block !important;
  width:100% !important;
  margin:10px 0 0 !important;
  padding:0 !important;
  line-height:1.45 !important;
  white-space:normal !important;
  overflow:visible !important;
  word-break:break-word !important;
}

/* Checkbox row: keep checkbox left, text wraps nicely */
body.woocommerce-checkout #payment .form-row.woocommerce-terms-and-conditions-checkbox{
  display:flex !important;
  align-items:flex-start !important;
  gap:10px !important;
  margin:12px 0 0 !important;
}

body.woocommerce-checkout #payment .form-row.woocommerce-terms-and-conditions-checkbox input[type="checkbox"]{
  margin-top:4px !important;
  flex:0 0 auto !important;
}

body.woocommerce-checkout #payment .form-row.woocommerce-terms-and-conditions-checkbox label{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  font-size:13px !important;
  line-height:1.45 !important;
  font-weight:600 !important;
  color:rgba(11,15,25,.72) !important;
}

/* WooCommerce sometimes renders this span for terms text */
body.woocommerce-checkout #payment .woocommerce-terms-and-conditions-checkbox-text,
body.woocommerce-checkout #payment .woocommerce-privacy-policy-text p{
  display:block !important;
  margin:0 0 8px !important;
  line-height:1.45 !important;
  position:static !important;
}

/* Remove any pseudo elements that can overlay text (rare theme bug) */
body.woocommerce-checkout #payment .woocommerce-privacy-policy-text::before,
body.woocommerce-checkout #payment .woocommerce-privacy-policy-text::after,
body.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper::before,
body.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper::after{
  content:none !important;
}

/* ---------- 3) ORDER RECEIVED: Billing/Shipping address overlap fix ---------- */
body.woocommerce-order-received .woocommerce-customer-details,
body.woocommerce-order-received .woocommerce-customer-details *{
  transform:none !important;
}

body.woocommerce-order-received .woocommerce-customer-details address{
  line-height:1.45 !important;
  font-style:normal !important;
  position:relative !important;
  overflow:visible !important;
}

body.woocommerce-order-received .woocommerce-customer-details address p,
body.woocommerce-order-received .woocommerce-customer-details address .woocommerce-customer-details--phone,
body.woocommerce-order-received .woocommerce-customer-details address .woocommerce-customer-details--email{
  display:block !important;
  margin:0 0 6px !important;
  position:static !important;
}


/* =========================================================
JAGO — SINGLE PRODUCT (Premium Polish) — FINAL PATCH (SAFE)
Keeps your design, fixes:
1) Broken comment (CSS was breaking)
2) Text overlap (summary/short-desc conflicts)
3) Layout:
   Row-1: Your Choice (left) + Quantity (right)
   Row-2: Add to cart (left) + WhatsApp (right) [same size]
4) Mobile: same structure, premium sizing
========================================================= */

/* =========================================================
A) ANTI-OVERLAP SAFETY (Single product only)
========================================================= */
body.single-product .summary,
body.single-product .summary *{
  transform:none !important;
}

body.single-product .summary,
body.single-product .price,
body.single-product .woocommerce-product-details__short-description,
body.single-product form.cart,
body.single-product .woocommerce-tabs{
  position:relative !important;
  z-index:2 !important;
}

body.single-product .woocommerce-product-details__short-description,
body.single-product .woocommerce-product-details__short-description *{
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}

/* keep spacing clean */
body.single-product .woocommerce-product-details__short-description{
  margin-bottom:14px !important;
}

/* =========================================================
B) TABS (FIXED — your comment was broken)
========================================================= */
body.single-product .woocommerce-tabs{
  margin-top:28px !important;
  padding-top:4px !important;
}

body.single-product .woocommerce-tabs ul.tabs{
  margin-top:6px !important;
}

/* =========================================================
C) PREMIUM ACTION BOX (Your Choice + Qty + Buttons)
========================================================= */

/* --- main cart box --- */
body.single-product .summary form.cart{
  display:grid !important;
  grid-template-columns: 1fr auto !important; /* left=dropdown, right=qty */
  grid-auto-rows:auto !important;
  gap:12px !important;
  align-items:end !important;

  padding:14px !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.86) !important;
  border:1px solid rgba(11,15,20,.10) !important;
  box-shadow:0 14px 34px rgba(11,15,20,.08) !important;
}

/* =========================================================
C1) ROW-1 LEFT — VARIATIONS (Your Choice)
========================================================= */
body.single-product .summary form.cart .variations{
  grid-column:1 / 2 !important;
  grid-row:1 !important;

  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}

/* variations table safety */
body.single-product .summary form.cart .variations tr,
body.single-product .summary form.cart .variations td{
  display:block !important;
  width:100% !important;
  padding:0 !important;
  margin:0 !important;
}

body.single-product .summary form.cart .variations label{
  display:block !important;
  margin:0 0 8px !important;
  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:.2px !important;
  color:#0B0F14 !important;
}

/* premium select + arrow */
body.single-product .summary form.cart .variations td.value{
  position:relative !important;
}

body.single-product .summary form.cart .variations select{
  width:100% !important;
  min-height:44px !important;
  border-radius:14px !important;

  background:rgba(255,255,255,.96) !important;
  border:1px solid rgba(11,15,20,.16) !important;

  padding:11px 44px 11px 14px !important;
  font-size:13px !important;
  font-weight:800 !important;
  color:#0B0F14 !important;

  outline:none !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    0 10px 22px rgba(11,15,20,.06) !important;

  appearance:none !important;
  -webkit-appearance:none !important;
}

body.single-product .summary form.cart .variations select:focus{
  border-color:rgba(11,15,20,.40) !important;
  box-shadow:
    0 0 0 4px rgba(11,15,20,.08),
    0 12px 26px rgba(11,15,20,.08) !important;
}

body.single-product .summary form.cart .variations td.value:after{
  content:"" !important;
  position:absolute !important;
  right:14px !important;
  top:50% !important;
  width:10px !important;
  height:10px !important;
  border-right:2px solid rgba(11,15,20,.55) !important;
  border-bottom:2px solid rgba(11,15,20,.55) !important;
  transform:translateY(-50%) rotate(45deg) !important;
  pointer-events:none !important;
  opacity:.9 !important;
}

/* keep reset link calm (if present) */
body.single-product .summary form.cart .reset_variations{
  display:inline-block !important;
  margin:8px 0 0 !important;
  font-size:12px !important;
  font-weight:800 !important;
  color:rgba(11,15,20,.62) !important;
  text-decoration:none !important;
}
body.single-product .summary form.cart .reset_variations:hover{
  text-decoration:underline !important;
}

/* =========================================================
C2) ROW-1 RIGHT — QUANTITY (your MU plugin: .jago-qty-wrap)
========================================================= */
body.single-product .summary form.cart .jago-qty-wrap{
  grid-column:2 / 3 !important;
  grid-row:1 !important;
  justify-self:end !important;

  display:flex !important;
  align-items:center !important;
  gap:8px !important;

  padding:6px 10px !important;
  border-radius:999px !important;

  background:rgba(255,255,255,.92) !important;
  border:1px solid rgba(11,15,20,.14) !important;

  box-shadow:
    0 12px 26px rgba(11,15,20,.08),
    inset 0 1px 0 rgba(255,255,255,.92) !important;
}

body.single-product .summary form.cart .jago-qty-wrap input.qty,
body.single-product .summary form.cart .jago-qty-wrap .qty{
  width:58px !important;
  height:38px !important;
  border-radius:999px !important;

  background:#fff !important;
  border:1px solid rgba(11,15,20,.14) !important;

  font-weight:900 !important;
  font-size:14px !important;
  color:#0b0f14 !important;
  text-align:center !important;

  box-shadow:inset 0 1px 0 rgba(255,255,255,.92) !important;
}

body.single-product .summary form.cart .jago-qty-wrap .jago-qty-btn{
  width:34px !important;
  height:34px !important;
  border-radius:999px !important;

  background:#0b0f14 !important;
  color:#fff !important;

  border:1px solid rgba(11,15,20,.18) !important;
  box-shadow:0 10px 22px rgba(11,15,20,.14) !important;

  font-weight:900 !important;
  line-height:1 !important;
  transition:transform .14s ease, filter .14s ease, box-shadow .14s ease !important;
}

body.single-product .summary form.cart .jago-qty-wrap .jago-qty-btn:hover{
  filter:brightness(1.05) !important;
  box-shadow:0 12px 26px rgba(11,15,20,.18) !important;
}

body.single-product .summary form.cart .jago-qty-wrap .jago-qty-btn:active{
  transform:scale(.96) !important;
  box-shadow:0 8px 18px rgba(11,15,20,.14) !important;
}

/* remove spinners */
body.single-product input.qty::-webkit-outer-spin-button,
body.single-product input.qty::-webkit-inner-spin-button{
  -webkit-appearance:none !important;
  margin:0 !important;
}
body.single-product input.qty{
  -moz-appearance:textfield !important;
}

/* fallback qty (if jago-qty-wrap not exists) */
body.single-product .summary form.cart .quantity{
  grid-column:2 / 3 !important;
  grid-row:1 !important;
  justify-self:end !important;
  margin:0 !important;
}
body.single-product .summary form.cart .quantity .qty{
  width:96px !important;
  height:38px !important;
  border-radius:999px !important;
  border:1px solid rgba(11,15,20,.14) !important;
  font-weight:900 !important;
  text-align:center !important;
}

/* =========================================================
C3) ROW-2 BUTTONS — same row + same size
========================================================= */
body.single-product .summary form.cart .single_add_to_cart_button{
  grid-column:1 / 2 !important;
  grid-row:2 !important;
  width:100% !important;

  min-height:44px !important;
  padding:12px 14px !important;
  border-radius:999px !important;

  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:.2px !important;
  white-space:nowrap !important;

  background:linear-gradient(180deg, #0B0F14 0%, #141B22 100%) !important;
  color:#fff !important;
  border:1px solid rgba(11,15,20,.18) !important;
  box-shadow:0 14px 30px rgba(11,15,20,.16) !important;
}

body.single-product .summary form.cart .jago-wa-wrap{
  grid-column:2 / 3 !important;
  grid-row:2 !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

/* keep your WA design but enforce equal sizing */
body.single-product .summary form.cart .jago-wa-order-btn{
  width:100% !important;

  min-height:44px !important;
  padding:12px 14px !important;
  border-radius:999px !important;

  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:.15px !important;
  white-space:nowrap !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;

  /* keep your premium green */
  background:linear-gradient(180deg, rgba(34,197,94,1) 0%, rgba(16,185,129,1) 100%) !important;
  color:#fff !important;

  border:1px solid rgba(11,15,20,.14) !important;
  box-shadow:0 14px 30px rgba(11,15,20,.14) !important;

  transition:transform .14s ease, filter .14s ease, box-shadow .14s ease !important;
}

body.single-product .summary form.cart .jago-wa-order-btn:hover{
  filter:brightness(0.98) !important;
  box-shadow:0 16px 34px rgba(11,15,20,.18) !important;
}

body.single-product .summary form.cart .jago-wa-order-btn:active{
  transform:scale(.985) !important;
}

/* =========================================================
D) MOBILE (<=767px) — same layout, premium smaller sizes
========================================================= */
@media (max-width:767px){

  body.single-product .summary form.cart{
    padding:12px !important;
    border-radius:16px !important;
    gap:10px !important;
    grid-template-columns: 1fr max-content !important; /* dropdown wide, qty compact */
  }

  body.single-product .summary form.cart .variations label{
    font-size:12px !important;
  }

  body.single-product .summary form.cart .variations select{
    min-height:42px !important;
    font-size:13px !important;
  }

  body.single-product .summary form.cart .single_add_to_cart_button,
  body.single-product .summary form.cart .jago-wa-order-btn{
    min-height:42px !important;
    font-size:13px !important;
  }
}

/* =========================================================
E) OPTIONAL: tighter space above action area (keeps feel)
========================================================= */
body.single-product .jago-free-scent-field{
  margin-bottom:12px !important;
}

/* =========================================================
JAGO — SINGLE PRODUCT ACTION LAYOUT (UPDATED v3)
Fixes:
- Buttons always same row + same height/width
- Stops messy wrapping/stacking
- Premium "Your Choice" dropdown
- Keeps your existing design
========================================================= */

/* 1) Overlap hard-fix (single product only) */
body.single-product .entry-summary,
body.single-product .entry-summary *{
  transform:none !important;
}

body.single-product .price,
body.single-product .woocommerce-product-details__short-description,
body.single-product .entry-summary form.cart{
  position:relative !important;
  z-index:2 !important;
}

body.single-product .woocommerce-product-details__short-description,
body.single-product .woocommerce-product-details__short-description *{
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}

/* 2) Premium action box */
body.single-product .entry-summary form.cart{
  display:grid !important;

  /* IMPORTANT: both columns same strength so row-2 buttons stay same size */
  grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;

  grid-auto-rows:auto !important;
  gap:12px !important;
  align-items:end !important;

  padding:14px !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.86) !important;
  border:1px solid rgba(11,15,20,.10) !important;
  box-shadow:0 14px 34px rgba(11,15,20,.08) !important;
}

/* 3) Row-1 Left: Your Choice field */
body.single-product .entry-summary form.cart > .jago-free-scent-field{
  grid-column:1 / 2 !important;
  grid-row:1 !important;
  margin:0 !important;
  min-width:0 !important;
}

/* 4) Row-1 Right: Quantity */
body.single-product .entry-summary form.cart > .quantity{
  grid-column:2 / 3 !important;
  grid-row:1 !important;
  justify-self:end !important;
  align-self:end !important;
  margin:0 !important;
  min-width:0 !important;
}

/* qty wrapper (keep your look but compact) */
body.single-product .entry-summary form.cart .jago-qty-wrap{
  padding:6px 10px !important;
  gap:8px !important;
  border-radius:999px !important;
}

body.single-product .entry-summary form.cart .jago-qty-wrap .jago-qty-btn{
  width:34px !important;
  height:34px !important;
}

body.single-product .entry-summary form.cart .jago-qty-wrap input.qty{
  width:58px !important;
  height:38px !important;
  font-size:14px !important;
}

/* =========================================================
5) Row-2 Buttons: FORCE same row + same size
========================================================= */
body.single-product .entry-summary form.cart > .single_add_to_cart_button{
  grid-column:1 / 2 !important;
  grid-row:2 !important;

  width:100% !important;
  min-height:44px !important;
  height:44px !important;            /* force same height */
  padding:0 14px !important;         /* consistent padding */
  border-radius:999px !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  white-space:nowrap !important;
  margin:0 !important;
}

body.single-product .entry-summary form.cart > .jago-wa-wrap{
  grid-column:2 / 3 !important;
  grid-row:2 !important;

  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  min-width:0 !important;
}

body.single-product .entry-summary form.cart .jago-wa-order-btn{
  width:100% !important;
  min-height:44px !important;
  height:44px !important;            /* force same height */
  padding:0 14px !important;         /* consistent padding */
  border-radius:999px !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  white-space:nowrap !important;
  margin:0 !important;
}

/* =========================================================
6) PREMIUM "Your Choice" dropdown look
Works for: normal <select> + select2
========================================================= */

/* label look */
body.single-product .entry-summary form.cart .jago-free-scent-field label,
body.single-product .entry-summary form.cart .jago-free-scent-field .jago-field-label{
  display:block !important;
  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:.2px !important;
  margin:0 0 8px !important;
  color:#0B0F14 !important;
}

/* normal select */
body.single-product .entry-summary form.cart .jago-free-scent-field select{
  width:100% !important;
  min-height:44px !important;
  border-radius:14px !important;
  border:1px solid rgba(11,15,20,.16) !important;
  background:rgba(255,255,255,.96) !important;

  padding:11px 44px 11px 14px !important;
  font-size:13px !important;
  font-weight:800 !important;
  color:#0B0F14 !important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    0 10px 22px rgba(11,15,20,.06) !important;

  appearance:none !important;
  -webkit-appearance:none !important;
}

/* select arrow */
body.single-product .entry-summary form.cart .jago-free-scent-field{
  position:relative !important;
}

body.single-product .entry-summary form.cart .jago-free-scent-field:after{
  content:"" !important;
  position:absolute !important;
  right:14px !important;
  top:44px !important;               /* aligns with input */
  width:10px !important;
  height:10px !important;
  border-right:2px solid rgba(11,15,20,.55) !important;
  border-bottom:2px solid rgba(11,15,20,.55) !important;
  transform:rotate(45deg) !important;
  pointer-events:none !important;
  opacity:.9 !important;
}

/* select2 support (if used) */
body.single-product .entry-summary form.cart .jago-free-scent-field .select2-container{
  width:100% !important;
}
body.single-product .entry-summary form.cart .jago-free-scent-field .select2-selection{
  min-height:44px !important;
  border-radius:14px !important;
  border:1px solid rgba(11,15,20,.16) !important;
  background:rgba(255,255,255,.96) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    0 10px 22px rgba(11,15,20,.06) !important;
}
body.single-product .entry-summary form.cart .jago-free-scent-field .select2-selection__rendered{
  line-height:44px !important;
  padding-left:14px !important;
  padding-right:44px !important;
  font-size:13px !important;
  font-weight:800 !important;
  color:#0B0F14 !important;
}
body.single-product .entry-summary form.cart .jago-free-scent-field .select2-selection__arrow{
  height:44px !important;
  right:10px !important;
}

/* focus */
body.single-product .entry-summary form.cart .jago-free-scent-field select:focus,
body.single-product .entry-summary form.cart .jago-free-scent-field .select2-selection:focus{
  outline:none !important;
  border-color:rgba(11,15,20,.40) !important;
  box-shadow:
    0 0 0 4px rgba(11,15,20,.08),
    0 12px 26px rgba(11,15,20,.08) !important;
}

/* =========================================================
7) Mobile tuning
========================================================= */
@media (max-width:767px){

  body.single-product .entry-summary form.cart{
    padding:12px !important;
    border-radius:16px !important;
    gap:10px !important;
  }

  /* keep two columns even on mobile to avoid messy stack */
  body.single-product .entry-summary form.cart{
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
  }

  body.single-product .entry-summary form.cart > .single_add_to_cart_button,
  body.single-product .entry-summary form.cart .jago-wa-order-btn{
    height:42px !important;
    min-height:42px !important;
    font-size:13px !important;
  }

  body.single-product .entry-summary form.cart .jago-free-scent-field select{
    min-height:42px !important;
  }

  /* arrow alignment on mobile */
  body.single-product .entry-summary form.cart .jago-free-scent-field:after{
    top:42px !important;
  }
}

/* =========================================================
JAGO — SINGLE PRODUCT OVERLAP + TABS FIX (UPDATED v2)
Fixes:
1) Short description bullet text overlap
2) Tabs: only active panel shows (no "all open" view)
3) Woo notice "View cart" safe layout
========================================================= */

/* ---------- 0) Global single-product anti-overlap safety ---------- */
body.single-product .woocommerce,
body.single-product .woocommerce *{
  transform:none !important;
}

body.single-product .summary,
body.single-product .entry-summary,
body.single-product .woocommerce-tabs{
  position:relative !important;
  z-index:2 !important;
}

/* =========================================================
1) FIX: Short description (the overlapped bullet text)
Your DOM shows: .woocommerce-product-details__short-description > p + <br> lines
We normalize it to clean stacked lines.
========================================================= */

body.single-product .woocommerce-product-details__short-description{
  position:relative !important;
  z-index:3 !important;
  margin:10px 0 14px !important;
}

/* make the container behave normally */
body.single-product .woocommerce-product-details__short-description,
body.single-product .woocommerce-product-details__short-description *{
  float:none !important;
  clear:both !important;
  position:static !important;
  line-height:1.65 !important;
  letter-spacing:0 !important;
  overflow:visible !important;
  word-break:break-word !important;
  overflow-wrap:anywhere !important;
}

/* your <p> becomes a clean "list-like" stack */
body.single-product .woocommerce-product-details__short-description p{
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  font-size:14px !important;
  font-weight:600 !important;
  color:rgba(11,15,20,.78) !important;
}

/* Turn the <br> separated lines into proper spacing */
body.single-product .woocommerce-product-details__short-description br{
  display:block !important;
  content:"" !important;
  margin:8px 0 !important;
}

/* OPTIONAL: if some theme sets negative letter spacing that causes overlap */
body.single-product .woocommerce-product-details__short-description,
body.single-product .woocommerce-product-details__short-description p{
  letter-spacing:0 !important;
}

/* =========================================================
2) FIX: WooCommerce notice "View cart" overlap
========================================================= */
body.single-product .woocommerce-notices-wrapper{
  position:relative !important;
  z-index:999 !important;
  margin:14px 0 18px !important;
}

body.single-product .woocommerce-notices-wrapper :is(.woocommerce-message,.woocommerce-info,.woocommerce-error){
  display:flex !important;
  align-items:center !important;
  gap:12px !important;

  padding:14px 14px !important;
  border-radius:14px !important;

  line-height:1.4 !important;
  overflow:hidden !important;
  clear:both !important;
}

body.single-product .woocommerce-notices-wrapper :is(.woocommerce-message,.woocommerce-info,.woocommerce-error) a.button,
body.single-product .woocommerce-notices-wrapper :is(.woocommerce-message,.woocommerce-info,.woocommerce-error) a.wc-forward{
  margin-left:auto !important;
  float:none !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  min-height:42px !important;
  padding:10px 16px !important;
  border-radius:999px !important;

  white-space:nowrap !important;
  line-height:1 !important;
}

@media (max-width:767px){
  body.single-product .woocommerce-notices-wrapper :is(.woocommerce-message,.woocommerce-info,.woocommerce-error){
    flex-direction:column !important;
    align-items:flex-start !important;
  }
  body.single-product .woocommerce-notices-wrapper :is(.woocommerce-message,.woocommerce-info,.woocommerce-error) a.button,
  body.single-product .woocommerce-notices-wrapper :is(.woocommerce-message,.woocommerce-info,.woocommerce-error) a.wc-forward{
    width:100% !important;
    margin-left:0 !important;
  }
}

/* =========================================================
3) FIX: Tabs — show ONLY active panel
Your issue: all panels visible (theme override).
We force Woo default:
- all panels hidden
- only .active / .wc-tab-active visible
========================================================= */

body.single-product .woocommerce-tabs{
  margin-top:28px !important;
  padding-top:6px !important;
  clear:both !important;
}

/* tabs bar */
body.single-product .woocommerce-tabs ul.tabs{
  position:relative !important;
  z-index:5 !important;
  margin:0 0 14px !important;
  padding:0 !important;
  overflow:visible !important;
}

/* HIDE all panels by default */
body.single-product .woocommerce-tabs .panel,
body.single-product .woocommerce-tabs .wc-tab{
  display:none !important;
  visibility:hidden !important;
  height:auto !important;
  opacity:0 !important;
}

/* SHOW only active panel */
body.single-product .woocommerce-tabs .panel.active,
body.single-product .woocommerce-tabs .wc-tab.active,
body.single-product .woocommerce-tabs .wc-tab.wc-tab-active{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;

  margin:0 !important;
  padding:18px 0 0 !important;

  position:relative !important;
  z-index:4 !important;

  line-height:1.75 !important;
}

/* prevent any floats from breaking panels */
body.single-product .woocommerce-tabs .panel::after,
body.single-product .woocommerce-tabs .wc-tab::after{
  content:"" !important;
  display:block !important;
  clear:both !important;
}

/* =========================================================
4) Extra clear fixes
========================================================= */
body.single-product .entry-summary::after,
body.single-product form.cart::after,
body.single-product .woocommerce-tabs::after{
  content:"" !important;
  display:block !important;
  clear:both !important;
}




/* =========================================================
   JAGO — SINGLE PRODUCT: Related card bottom gap REMOVED (Desktop+Mobile)
   + Mobile center + View cart overlap fix
   Replace your previous piece with this
   ========================================================= */

/* -------------------------------------------
   1) RELATED PRODUCTS CARD: remove bottom gap under Add to cart
-------------------------------------------- */
body.single-product .related ul.products li.product,
body.single-product .related .products li.product{
  /* Make each card naturally sized + control spacing */
  display:flex !important;
  flex-direction:column !important;
  height:auto !important;
  min-height:0 !important;                /* ✅ kills equal-height min-height */
  padding-bottom:12px !important;         /* ✅ smaller bottom padding */
}

/* Some themes wrap inner content; reset those too */
body.single-product .related ul.products li.product .astra-shop-summary-wrap,
body.single-product .related .products li.product .astra-shop-summary-wrap,
body.single-product .related ul.products li.product .woo-entry-inner,
body.single-product .related .products li.product .woo-entry-inner,
body.single-product .related ul.products li.product .product-inner,
body.single-product .related .products li.product .product-inner{
  display:flex !important;
  flex-direction:column !important;
  height:auto !important;
  min-height:0 !important;
  padding-bottom:0 !important;
  margin-bottom:0 !important;
}

/* Link area normal */
body.single-product .related ul.products li.product .woocommerce-loop-product__link,
body.single-product .related .products li.product .woocommerce-loop-product__link{
  display:block !important;
  margin-bottom:0 !important;
}

/* Title/price spacing tighten */
body.single-product .related ul.products li.product .woocommerce-loop-product__title,
body.single-product .related .products li.product .woocommerce-loop-product__title{
  margin:8px 0 8px !important;
  line-height:1.25 !important;
}

body.single-product .related ul.products li.product .price,
body.single-product .related .products li.product .price{
  margin:0 0 10px !important;
  line-height:1.2 !important;
}

/* ✅ KEY: push button to bottom, remove extra margin below */
body.single-product .related ul.products li.product .button,
body.single-product .related .products li.product .button{
  margin-top:auto !important;             /* ✅ button goes to bottom */
  margin-bottom:0 !important;             /* ✅ no gap below button */
  align-self:stretch !important;
}

/* If theme adds extra bottom space under button via clearfix/after */
body.single-product .related ul.products li.product::after,
body.single-product .related .products li.product::after{
  content:none !important;
}

/* -------------------------------------------
   2) MOBILE ONLY: related card সব কিছু center
-------------------------------------------- */
@media (max-width: 767px){

  body.single-product .related{
    text-align:center !important;
  }

  body.single-product .related ul.products li.product,
  body.single-product .related .products li.product{
    align-items:center !important;
    text-align:center !important;
  }

  body.single-product .related ul.products li.product img,
  body.single-product .related .products li.product img{
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body.single-product .related ul.products li.product .button,
  body.single-product .related .products li.product .button{
    width:100% !important;
    max-width:320px !important;
    align-self:center !important;
  }
}

/* -------------------------------------------
   3) “Added to cart” notice: View cart overlap fix
-------------------------------------------- */
body.single-product .woocommerce-message,
body.single-product .woocommerce-info,
body.single-product .woocommerce-error{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  flex-wrap:wrap !important;
  line-height:1.45 !important;
}

body.single-product .woocommerce-message a.button,
body.single-product .woocommerce-info a.button,
body.single-product .woocommerce-error a.button{
  float:none !important;
  margin:0 !important;
  order:2 !important;
}

body.single-product .woocommerce-message::before,
body.single-product .woocommerce-info::before,
body.single-product .woocommerce-error::before{
  position:static !important;
  margin-right:8px !important;
  order:0 !important;
}

body.single-product .woocommerce-message{
  padding-right:14px !important;
}

body.single-product .woocommerce-message > :not(a.button),
body.single-product .woocommerce-info > :not(a.button),
body.single-product .woocommerce-error > :not(a.button){
  order:1 !important;
  flex:1 1 260px !important;
  min-width:0 !important;
}

@media (max-width: 767px){
  body.single-product .woocommerce-message a.button,
  body.single-product .woocommerce-info a.button,
  body.single-product .woocommerce-error a.button{
    width:100% !important;
  }
}

/* =========================================================
JAGO — SINGLE PRODUCT FIX PACK (MOBILE + DESKTOP SAFE) — UPDATED v3
Fixes:
1) Qty smaller on mobile + +/- perfectly centered (mobile+desktop)
2) Mobile related cards: equal height + premium gap under button
3) Tabs: ONLY active panel shows (Description/Additional/Reviews) + text overlap fixed
4) Mobile: meta/categories overlap fix (one line over another)
========================================================= */


/* =========================================================
1) QTY: +/- CENTER (Desktop + Mobile)
========================================================= */
body.single-product :is(.summary,.entry-summary) form.cart .jago-qty-wrap .jago-qty-btn{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  padding:0 !important;
}

body.single-product :is(.summary,.entry-summary) form.cart .jago-qty-wrap input.qty,
body.single-product :is(.summary,.entry-summary) form.cart .jago-qty-wrap .qty{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
}

/* Mobile: quantity wrap ছোট + select/qty পাশাপাশি সুন্দর */
@media (max-width:767px){

  body.single-product :is(.summary,.entry-summary) form.cart .jago-qty-wrap{
    gap:6px !important;
    padding:5px 8px !important;
  }

  body.single-product :is(.summary,.entry-summary) form.cart .jago-qty-wrap .jago-qty-btn{
    width:30px !important;
    height:30px !important;
  }

  body.single-product :is(.summary,.entry-summary) form.cart .jago-qty-wrap input.qty,
  body.single-product :is(.summary,.entry-summary) form.cart .jago-qty-wrap .qty{
    width:50px !important;
    height:34px !important;
    font-size:13px !important;
  }

  /* Your Choice + Qty row ভাঙবে না */
  body.single-product :is(.summary,.entry-summary) form.cart{
    grid-template-columns: minmax(0,1fr) max-content !important;
    grid-template-rows: auto auto !important;
  }

  body.single-product :is(.summary,.entry-summary) form.cart .variations,
  body.single-product :is(.summary,.entry-summary) form.cart .variations select{
    min-width:0 !important;
  }
}


/* =========================================================
2) RELATED PRODUCTS (MOBILE)
- all cards same size
- ✅ premium gap under button
========================================================= */
@media (max-width:767px){

  body.single-product .related ul.products,
  body.single-product .related .products{
    display:grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap:14px !important;
    align-items:stretch !important;
  }

  body.single-product .related ul.products li.product,
  body.single-product .related .products li.product{
    height:100% !important;
    min-height:0 !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;

    /* premium breathable bottom space */
    padding-bottom:14px !important;
    margin-bottom:0 !important;
  }

  body.single-product .related ul.products li.product :is(.astra-shop-summary-wrap,.woo-entry-inner,.product-inner),
  body.single-product .related .products li.product :is(.astra-shop-summary-wrap,.woo-entry-inner,.product-inner){
    display:flex !important;
    flex-direction:column !important;
    min-height:0 !important;
    height:auto !important;
    padding-bottom:0 !important;
    margin-bottom:0 !important;
  }

  body.single-product .related ul.products li.product .woocommerce-loop-product__title,
  body.single-product .related .products li.product .woocommerce-loop-product__title{
    font-size:14px !important;
    line-height:1.25 !important;
    margin:10px 0 8px !important;

    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;

    min-height:calc(14px * 1.25 * 2) !important;
  }

  body.single-product .related ul.products li.product .price,
  body.single-product .related .products li.product .price{
    font-size:14px !important;
    line-height:1.2 !important;
    margin:0 0 10px !important;
    min-height:calc(14px * 1.2) !important;
  }

  body.single-product .related ul.products li.product .button,
  body.single-product .related .products li.product .button{
    margin-top:auto !important;

    height:44px !important;
    min-height:44px !important;
    line-height:44px !important;
    padding:0 14px !important;
    border-radius:999px !important;

    width:100% !important;
    align-self:stretch !important;

    /* premium gap below button (inside card) */
    margin-bottom:10px !important;
  }

  body.single-product .related ul.products li.product::after,
  body.single-product .related .products li.product::after{
    content:none !important;
  }
}


/* =========================================================
3) TABS: ONLY ACTIVE PANEL SHOW + TEXT OVERLAP FIX (Desktop + Mobile)
Fix:
- Description/Additional/Reviews একসাথে ওপেন থাকবে না
- যেটায় ক্লিক হবে, শুধুই সেটা দেখাবে
- Tab content এর ভেতরে যে লেখা overlap হচ্ছিল সেটা normal flow করা
========================================================= */

/* --- Tabs bar: readable + wrap (design same, just spacing safe) --- */
body.single-product .woocommerce-tabs ul.tabs{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:14px !important;
  align-items:flex-end !important;

  padding:0 !important;
  margin:0 0 14px !important;

  overflow:visible !important;
  white-space:normal !important;
}

body.single-product .woocommerce-tabs ul.tabs li{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  float:none !important;
}

body.single-product .woocommerce-tabs ul.tabs li a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  font-size:16px !important;
  line-height:1.2 !important;
  font-weight:800 !important;

  color:#0B0F14 !important;
  text-decoration:none !important;

  opacity:1 !important;
  visibility:visible !important;

  padding:8px 0 !important;
}

/* ---------------------------
   ✅ Active-only behavior
--------------------------- */

/* Hide all panels by default */
body.single-product .woocommerce-tabs :is(.panel,.wc-tab){
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
}

/* Show only active panel (Woo default uses these states) */
body.single-product .woocommerce-tabs :is(.panel,.wc-tab).active,
body.single-product .woocommerce-tabs :is(.panel,.wc-tab).wc-tab-active{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;

  margin:0 !important;
  padding:14px 0 0 !important;

  position:relative !important;
  z-index:2 !important;
}

/* ---------------------------
   ✅ Overlap fix INSIDE tab content
   (আপনার স্ক্রিনশটে paragraph/line গুলো একটার উপর আরেকটা উঠছিল)
--------------------------- */
body.single-product .woocommerce-tabs :is(.panel,.wc-tab){
  clear:both !important;
}

body.single-product .woocommerce-tabs :is(.panel,.wc-tab) *{
  transform:none !important;
  letter-spacing:0 !important;
}

body.single-product .woocommerce-tabs :is(.panel,.wc-tab) :is(p,li,span,small,strong,em,div){
  position:static !important;   /* stop absolute overlays */
  float:none !important;        /* stop weird float stacking */
  clear:none !important;
  line-height:1.7 !important;
  overflow:visible !important;
}

/* Tables (Additional information) stay table-like */
body.single-product .woocommerce-tabs :is(.panel,.wc-tab) table,
body.single-product .woocommerce-tabs :is(.panel,.wc-tab) tbody,
body.single-product .woocommerce-tabs :is(.panel,.wc-tab) tr,
body.single-product .woocommerce-tabs :is(.panel,.wc-tab) td,
body.single-product .woocommerce-tabs :is(.panel,.wc-tab) th{
  position:static !important;
  float:none !important;
  line-height:1.4 !important;
}

/* Mobile: slightly smaller tab text so wrap clean */
@media (max-width:767px){
  body.single-product .woocommerce-tabs ul.tabs{
    gap:12px !important;
  }
  body.single-product .woocommerce-tabs ul.tabs li a{
    font-size:15px !important;
  }
}


/* =========================================================
4) MOBILE: meta/categories overlap FIX (one line over another)
========================================================= */
@media (max-width:767px){

  body.single-product .product .product_title,
  body.single-product .product h1.product_title{
    font-size:32px !important;
    line-height:1.08 !important;
    letter-spacing:0 !important;
    margin:14px 0 10px !important;
  }

  body.single-product .product_meta,
  body.single-product .product_meta *{
    float:none !important;
    position:static !important;
    transform:none !important;
  }

  body.single-product .product_meta{
    display:block !important;
    clear:both !important;

    margin:10px 0 0 !important;
    line-height:1.6 !important;

    overflow-wrap:anywhere !important;
    word-break:break-word !important;
  }

  body.single-product .product_meta :is(.posted_in,.tagged_as,.sku_wrapper){
    display:block !important;
    margin:6px 0 0 !important;
  }

  body.single-product .product_meta a{
    display:inline !important;
    white-space:normal !important;
  }
}

/* =========================================================
JAGO — SINGLE PRODUCT TABS TEXT + ACTIVE PANEL FIX (SAFE PATCH)
Fix:
1) Tab labels visible again (Description / Additional / Reviews)
2) Only active tab panel shows (Woo default behavior)
Scope: single product only
Paste this at the VERY END of your custom CSS
========================================================= */

body.single-product .woocommerce-tabs{
  position:relative !important;
  z-index:5 !important;
}

/* ---------- 1) TAB LABELS: FORCE TEXT VISIBLE ---------- */
body.single-product .woocommerce-tabs ul.tabs{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:14px !important;
  align-items:flex-end !important;

  margin:0 0 14px !important;
  padding:0 !important;

  list-style:none !important;
}

body.single-product .woocommerce-tabs ul.tabs li{
  margin:0 !important;
  padding:0 !important;
  float:none !important;
}

body.single-product .woocommerce-tabs ul.tabs li a{
  /* force text back */
  font-size:16px !important;
  line-height:1.2 !important;
  font-weight:800 !important;

  color:#0B0F14 !important;
  opacity:1 !important;
  visibility:visible !important;

  /* undo common “hide text” tricks */
  text-indent:0 !important;
  letter-spacing:0 !important;
  white-space:normal !important;
  overflow:visible !important;
  clip:auto !important;
  clip-path:none !important;
  -webkit-text-fill-color:currentColor !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  padding:8px 0 !important;
  background:none !important;
}

/* if some pseudo-element was covering text */
body.single-product .woocommerce-tabs ul.tabs li a::before,
body.single-product .woocommerce-tabs ul.tabs li a::after{
  content:none !important;
}

/* optional: active tab a bit stronger (no redesign, just clarity) */
body.single-product .woocommerce-tabs ul.tabs li.active a{
  font-weight:900 !important;
}

/* ---------- 2) PANELS: ONLY ACTIVE SHOW ---------- */
/* Woo panels are usually .woocommerce-Tabs-panel */
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
}

/* Show active by class (some themes add .active) */
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel.active{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}

/* Show active by inline style (your screenshot shows style="display:block") */
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel[style*="display: block"]{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}

/* content flow safety (prevents weird overlap inside tab content) */
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel *{
  transform:none !important;
  position:static !important;
  float:none !important;
  clear:none !important;
  letter-spacing:0 !important;
  line-height:1.7 !important;
  overflow:visible !important;
}

/* tables keep table behavior */
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel table,
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel tbody,
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel tr,
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel td,
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel th{
  position:static !important;
  float:none !important;
  line-height:1.4 !important;
}

/* ---------- Mobile tuning ---------- */
@media (max-width:767px){
  body.single-product .woocommerce-tabs ul.tabs{
    gap:12px !important;
  }
  body.single-product .woocommerce-tabs ul.tabs li a{
    font-size:15px !important;
  }
}

/* =========================================================
JAGO — SINGLE PRODUCT: REMOVE WA + 3-IN-ONE ROW (DESKTOP)
+ Mobile: Add to cart bottom (premium)
Scope: Only single product form.cart
Paste at END of your CSS
========================================================= */

/* 0) Remove WhatsApp button everywhere (single product) */
body.single-product .summary form.cart .jago-wa-wrap,
body.single-product .summary form.cart .jago-wa-order-btn,
body.single-product .entry-summary form.cart .jago-wa-wrap,
body.single-product .entry-summary form.cart .jago-wa-order-btn{
  display:none !important;
}

/* 1) Slightly smaller label + dropdown + qty (all devices) */
body.single-product :is(.summary,.entry-summary) form.cart .variations label,
body.single-product :is(.summary,.entry-summary) form.cart .jago-free-scent-field label{
  font-size:12px !important;
  margin:0 0 6px !important;
  letter-spacing:.1px !important;
}

/* dropdown smaller */
body.single-product :is(.summary,.entry-summary) form.cart .variations select,
body.single-product :is(.summary,.entry-summary) form.cart .jago-free-scent-field select{
  min-height:40px !important;
  border-radius:12px !important;
  padding:9px 40px 9px 12px !important;
  font-size:12.5px !important;
}

/* arrow alignment (if you use :after arrow on td.value / field) */
body.single-product :is(.summary,.entry-summary) form.cart .variations td.value:after{
  right:12px !important;
  width:9px !important;
  height:9px !important;
}

/* qty smaller */
body.single-product :is(.summary,.entry-summary) form.cart .jago-qty-wrap{
  padding:5px 8px !important;
  gap:6px !important;
}
body.single-product :is(.summary,.entry-summary) form.cart .jago-qty-wrap .jago-qty-btn{
  width:30px !important;
  height:30px !important;
}
body.single-product :is(.summary,.entry-summary) form.cart .jago-qty-wrap input.qty,
body.single-product :is(.summary,.entry-summary) form.cart .jago-qty-wrap .qty{
  width:48px !important;
  height:32px !important;
  font-size:13px !important;
}

/* fallback qty (if jago-qty-wrap not present) */
body.single-product :is(.summary,.entry-summary) form.cart .quantity .qty{
  width:76px !important;
  height:32px !important;
  font-size:13px !important;
}

/* =========================================================
2) DESKTOP/TABLET (>=768px):
Dropdown + Qty + Add to cart = one row (3 columns)
========================================================= */
@media (min-width:768px){

  body.single-product :is(.summary,.entry-summary) form.cart{
    display:grid !important;
    grid-template-columns: 1fr max-content max-content !important; /* dropdown | qty | cart */
    grid-auto-rows:auto !important;
    align-items:end !important;
    gap:12px !important;
  }

  /* Dropdown (left) */
  body.single-product :is(.summary,.entry-summary) form.cart .variations,
  body.single-product :is(.summary,.entry-summary) form.cart > .jago-free-scent-field{
    grid-column:1 / 2 !important;
    grid-row:1 !important;
    margin:0 !important;
    min-width:0 !important;
  }

  /* Qty (middle) */
  body.single-product :is(.summary,.entry-summary) form.cart .jago-qty-wrap,
  body.single-product :is(.summary,.entry-summary) form.cart > .quantity{
    grid-column:2 / 3 !important;
    grid-row:1 !important;
    justify-self:end !important;
    margin:0 !important;
  }

  /* Add to cart (right) */
  body.single-product :is(.summary,.entry-summary) form.cart .single_add_to_cart_button{
    grid-column:3 / 4 !important;
    grid-row:1 !important;

    width:auto !important;
    min-width:180px !important;
    height:40px !important;
    min-height:40px !important;
    padding:0 18px !important;

    border-radius:999px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    white-space:nowrap !important;
    margin:0 !important;
  }

}

/* =========================================================
3) MOBILE (<=767px):
Row-1: Dropdown + Qty
Row-2: Add to cart full width (bottom premium)
========================================================= */
@media (max-width:767px){

  body.single-product :is(.summary,.entry-summary) form.cart{
    display:grid !important;
    grid-template-columns: 1fr max-content !important; /* dropdown | qty */
    grid-auto-rows:auto !important;
    gap:10px !important;
    align-items:end !important;
  }

  body.single-product :is(.summary,.entry-summary) form.cart .variations,
  body.single-product :is(.summary,.entry-summary) form.cart > .jago-free-scent-field{
    grid-column:1 / 2 !important;
    grid-row:1 !important;
  }

  body.single-product :is(.summary,.entry-summary) form.cart .jago-qty-wrap,
  body.single-product :is(.summary,.entry-summary) form.cart > .quantity{
    grid-column:2 / 3 !important;
    grid-row:1 !important;
    justify-self:end !important;
  }

  /* Add to cart bottom full width */
  body.single-product :is(.summary,.entry-summary) form.cart .single_add_to_cart_button{
    grid-column:1 / -1 !important;
    grid-row:2 !important;

    width:100% !important;
    height:42px !important;
    min-height:42px !important;
    padding:0 16px !important;

    border-radius:999px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    margin:2px 0 0 !important;
  }
}

/* =========================================================
   JAGO — MOBILE ONLY PATCH (Related price center + meta overlap fix)
   Scope: single product page only (mobile <=767px)
   Safe: does not touch desktop/tablet or other pages
========================================================= */
@media (max-width:767px){

  /* =====================================================
     1) RELATED PRODUCTS: PRICE CENTER (mobile only)
     - Keeps button full width etc.
  ===================================================== */
  body.single-product .related :is(.woocommerce-Price-amount, .price){
    text-align:center !important;
    justify-content:center !important; /* in case price is flex */
  }

  body.single-product .related .price{
    display:block !important;         /* ensure text-align works */
    width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* If theme wraps amount spans */
  body.single-product .related .price *{
    float:none !important;
  }

  /* =====================================================
     2) OVERLAP FIX: breadcrumb/meta line (the line that stacked)
     - Usually .woocommerce-breadcrumb and product meta (.sku/.posted_in)
  ===================================================== */

  /* breadcrumb: force normal flow */
  body.single-product .woocommerce-breadcrumb{
    position:static !important;
    float:none !important;
    clear:both !important;

    display:block !important;
    width:100% !important;

    line-height:1.5 !important;
    margin:10px 0 12px !important;

    overflow-wrap:anywhere !important;
    word-break:break-word !important;
    white-space:normal !important;
  }

  body.single-product .woocommerce-breadcrumb *{
    position:static !important;
    float:none !important;
    transform:none !important;
    letter-spacing:0 !important;
  }

  /* product meta block: prevent lines climbing over each other */
  body.single-product .product_meta{
    position:static !important;
    float:none !important;
    clear:both !important;

    display:block !important;
    width:100% !important;

    line-height:1.6 !important;
    margin-top:10px !important;

    overflow-wrap:anywhere !important;
    word-break:break-word !important;
  }

  body.single-product .product_meta *{
    position:static !important;
    float:none !important;
    transform:none !important;
  }

  /* each meta row on its own line */
  body.single-product .product_meta :is(.sku_wrapper,.posted_in,.tagged_as){
    display:block !important;
    margin:6px 0 0 !important;
    white-space:normal !important;
  }

  body.single-product .product_meta a{
    display:inline !important;
    white-space:normal !important;
  }
}

/* =========================================================
JAGO — FIX: "Select max 1" gap (your actual DOM: .jago-free-scent-hint)
Scope: single product only
Paste at VERY END of your CSS
========================================================= */

body.single-product :is(.summary,.entry-summary) form.cart .jago-free-scent-hint{
  display:block !important;
  margin-top:6px !important;     /* select এর নিচে একটু space */
  margin-bottom:10px !important; /* ✅ hint আর button/next row এর মাঝে gap */
  line-height:1.2 !important;
}

body.single-product :is(.summary,.entry-summary) form.cart .variations td.value small{
  display:block !important;
  margin-bottom:10px !important;
}

/* =========================================================
   JAGO — CHECKOUT FINAL PATCH (UPDATED v2)
   Fix:
   1) Inline error never goes inside input box (YOUR REAL CLASS)
   2) First/Last name stays side-by-side (fix clear:both issue)
   3) Select2 dropdown option spacing (premium gap)
   Safe: Checkout only | Paste at VERY END of your CSS file
   ========================================================= */

body.woocommerce-checkout{

  /* =========================================
     A) INLINE FIELD ERROR (YOUR EXACT MARKUP)
     DOM: p.checkout-inline-error-message#*_description
     ========================================= */

  /* Make each row stable (IMPORTANT: do NOT force clear:both here) */
  .woocommerce form .form-row{
    position:relative !important;
    overflow:visible !important;
    margin:0 0 18px !important;
    padding:0 !important;
    clear:inherit !important;   /* ✅ stop breaking first/last columns */
  }

  /* Ensure first/last keep Woo layout (side-by-side) */
  .woocommerce form .form-row-first{
    float:left !important;
    width:48% !important;
    clear:none !important;
  }
  .woocommerce form .form-row-last{
    float:right !important;
    width:48% !important;
    clear:none !important;
  }
  .woocommerce form .form-row-wide{
    width:100% !important;
    clear:both !important;
  }

  /* Mobile: stack only on small screens (default Woo behavior) */
  @media (max-width:767px){
    .woocommerce form .form-row-first,
    .woocommerce form .form-row-last{
      float:none !important;
      width:100% !important;
    }
  }

  /* Input wrapper should never clip/overlay */
  .woocommerce form .form-row .woocommerce-input-wrapper{
    display:block !important;
    position:relative !important;
    overflow:visible !important;
  }

  /* Keep inputs ABOVE anything */
  .woocommerce form .form-row :is(input.input-text, textarea, select),
  .woocommerce form .form-row .select2-container{
    position:relative !important;
    z-index:2 !important;
    margin:0 !important;
  }

  /* ✅ THE REAL ERROR SELECTOR (your site uses this class) */
  .woocommerce form .form-row p.checkout-inline-error-message,
  .woocommerce form .form-row p.checkout-inline-error-message[id$="_description"],
  .woocommerce form .form-row p[id$="_description"].checkout-inline-error-message{
    display:block !important;

    position:static !important;
    float:none !important;
    clear:both !important;   /* only the error line clears within its own row */
    transform:none !important;

    margin:10px 0 0 !important;
    padding:7px 10px !important;

    line-height:1.35 !important;
    font-size:12px !important;
    font-weight:600 !important;

    border-radius:10px !important;
    background:rgba(239,68,68,.10) !important;
    color:#b91c1c !important;

    white-space:normal !important;
    word-break:break-word !important;
    overflow:visible !important;
    z-index:1 !important;
  }

  /* ✅ Special case: First/Last name — keep side-by-side, prevent height jump weirdness
     Put error in reserved space WITHOUT affecting the row flow */
  .woocommerce form .form-row#billing_first_name_field,
  .woocommerce form .form-row#billing_last_name_field{
    padding-bottom:44px !important; /* reserve for pill */
  }

  .woocommerce form .form-row#billing_first_name_field p.checkout-inline-error-message,
  .woocommerce form .form-row#billing_last_name_field p.checkout-inline-error-message{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;     /* ✅ stable regardless label/input height */
    margin:0 !important;
    z-index:3 !important;
  }


  /* =========================================
     B) SELECT2 DROPDOWN — PREMIUM GAP (No layout change)
     ========================================= */

  .woocommerce form .form-row .select2-container .select2-selection--single{
    min-height:46px !important;
    border-radius:var(--jago-radius-sm) !important;
    border:1px solid rgba(11,15,25,.18) !important;
  }
  .woocommerce form .form-row .select2-container .select2-selection--single .select2-selection__rendered{
    padding:10px 12px !important;
    line-height:24px !important;
    color:var(--jago-text) !important;
  }
  .woocommerce form .form-row .select2-container .select2-selection--single .select2-selection__arrow{
    height:46px !important;
    right:10px !important;
  }

  .select2-container--open .select2-dropdown{
    border-radius:14px !important;
    overflow:hidden !important;
    border:1px solid rgba(11,15,25,.14) !important;
    box-shadow:0 16px 40px rgba(11,15,25,.14) !important;
  }

  .select2-container--open .select2-search--dropdown{
    padding:10px 10px 8px !important;
    border-bottom:1px solid rgba(11,15,25,.08) !important;
  }
  .select2-container--open .select2-search--dropdown .select2-search__field{
    min-height:40px !important;
    border-radius:12px !important;
    border:1px solid rgba(11,15,25,.14) !important;
    padding:8px 10px !important;
    outline:none !important;
  }

  .select2-results__options{
    padding:10px !important;
  }
  .select2-results__option{
    margin:6px 0 !important;
    padding:12px 12px !important;
    border-radius:12px !important;
    line-height:1.15 !important;
  }

  .select2-results__option--highlighted[aria-selected]{
    background:rgba(11,15,25,.08) !important;
    color:var(--jago-text) !important;
  }
  .select2-results__option[aria-selected="true"]{
    background:rgba(11,15,25,.12) !important;
    color:var(--jago-text) !important;
  }
}


/* =====================================================
   JAGO — PRICE FINAL v4 (HOME FIX + STRIKE FIX + NO CARD SIZE JUMP)
   Fix:
   1) Remove KWD in ALL product cards (home/shop/category/related/widgets)
   2) Add KD on right (regular + sale new + sale old) — bold like price
   3) Price CENTER in card (guaranteed)
   4) Sale: NEW top, OLD below + STRIKETHROUGH always
   5) No card height jump for sale items (reserved price height)
   Paste at VERY END
===================================================== */


/* =====================================================
   0) TARGET: PRICE IN ANY PRODUCT CARD (Astra/Woo/Elementor/Blocks wrappers)
   - Astra uses: .astra-shop-summary-wrap > span.price
   - Woo uses:  span.price
   - Blocks may use: .wc-block-grid__product-price (kept safe)
===================================================== */

/* --- Woo/Astra/Elementor cards (span.price) --- */
:where(.woocommerce, .elementor, .site, #page)
:where(ul.products li.product, .products li.product, .wc-block-grid__product, .astra-shop-summary-wrap)
:where(span.price.price, span.price){
  width:100% !important;
  text-align:center !important;

  /* ✅ grid = reorder without flex side-effects */
  display:grid !important;
  grid-auto-flow:row !important;
  justify-items:center !important;
  align-content:start !important;
  row-gap:4px !important;

  /* ✅ reserve height so SALE কার্ড ছোট/বড় হবে না */
  min-height:2.6em !important;  /* ~2 lines space (safe across widgets) */

  line-height:1.2 !important;
  margin:0 0 10px !important;

  font-variant-numeric: lining-nums;
}

/* --- WC Blocks price container (optional support, won’t break) --- */
:where(.woocommerce, .elementor, .site, #page)
.wc-block-grid__product-price{
  width:100% !important;
  text-align:center !important;
}


/* =====================================================
   1) REMOVE "KWD" currency symbol (cards only)
   DOM shows: <span class="woocommerce-Price-currencySymbol">KWD</span>
===================================================== */
:where(.woocommerce, .elementor, .site, #page)
:where(ul.products li.product, .products li.product, .wc-block-grid__product, .astra-shop-summary-wrap)
:where(span.price.price, span.price)
.woocommerce-Price-currencySymbol{
  display:none !important;
  opacity:0 !important;
  width:0 !important;
  margin:0 !important;
  padding:0 !important;
}


/* =====================================================
   2) SALE ORDER (NEW TOP, OLD BELOW) + STRIKE ALWAYS
   Woo markup = del then ins, so we force grid rows.
===================================================== */

/* NEW price top */
:where(.woocommerce, .elementor, .site, #page)
:where(ul.products li.product, .products li.product, .wc-block-grid__product, .astra-shop-summary-wrap)
:where(span.price.price, span.price) ins{
  grid-row:1 !important;
  text-decoration:none !important;
  font-weight:800 !important;
  display:block !important;
}

/* OLD price below + STRIKETHROUGH forced (theme-proof) */
:where(.woocommerce, .elementor, .site, #page)
:where(ul.products li.product, .products li.product, .wc-block-grid__product, .astra-shop-summary-wrap)
:where(span.price.price, span.price) del{
  grid-row:2 !important;
  display:block !important;

  /* ✅ force strike even if theme disables it */
  text-decoration:line-through !important;
  text-decoration-thickness:1px !important;
  text-decoration-color:currentColor !important;

  opacity:.55 !important;
  font-size:.92em !important;
  margin:0 !important;
}

/* extra hard-force strike on children (Astra sometimes overrides) */
:where(.woocommerce, .elementor, .site, #page)
:where(ul.products li.product, .products li.product, .wc-block-grid__product, .astra-shop-summary-wrap)
:where(span.price.price, span.price) del *{
  text-decoration:inherit !important;
}

/* REGULAR (no sale) amount stays on first row */
:where(.woocommerce, .elementor, .site, #page)
:where(ul.products li.product, .products li.product, .wc-block-grid__product, .astra-shop-summary-wrap)
:where(span.price.price, span.price) > .woocommerce-Price-amount{
  grid-row:1 !important;
}

/* Keep amount inline centered nicely */
:where(.woocommerce, .elementor, .site, #page)
:where(ul.products li.product, .products li.product, .wc-block-grid__product, .astra-shop-summary-wrap)
:where(span.price.price, span.price) .woocommerce-Price-amount{
  display:inline-flex !important;
  align-items:baseline !important;
  justify-content:center !important;
}


/* =====================================================
   3) ADD "KD" — BOLD LIKE PRICE (regular + sale new + sale old)
===================================================== */

/* Regular */
:where(.woocommerce, .elementor, .site, #page)
:where(ul.products li.product, .products li.product, .wc-block-grid__product, .astra-shop-summary-wrap)
:where(span.price.price, span.price) > .woocommerce-Price-amount::after{
  content:" KD";
  margin-left:4px;
  font-size:1em;
  font-weight:800;
  opacity:1;
}

/* Sale NEW */
:where(.woocommerce, .elementor, .site, #page)
:where(ul.products li.product, .products li.product, .wc-block-grid__product, .astra-shop-summary-wrap)
:where(span.price.price, span.price) ins .woocommerce-Price-amount::after{
  content:" KD";
  margin-left:4px;
  font-size:1em;
  font-weight:800;
  opacity:1;
}

/* Sale OLD */
:where(.woocommerce, .elementor, .site, #page)
:where(ul.products li.product, .products li.product, .wc-block-grid__product, .astra-shop-summary-wrap)
:where(span.price.price, span.price) del .woocommerce-Price-amount::after{
  content:" KD";
  margin-left:4px;
  font-size:1em;
  font-weight:800;
  opacity:.75;
}


/* =====================================================
   4) SAFETY: price area-only margin reset (no card size break)
===================================================== */
:where(.woocommerce, .elementor, .site, #page)
:where(ul.products li.product, .products li.product, .wc-block-grid__product, .astra-shop-summary-wrap)
:where(span.price.price, span.price) *{
  margin:0 !important;
}

/* =========================================================
   JAGO — SINGLE PRODUCT: BREADCRUMB + META OVERLAP FIX (SAFE)
   Fix:
   1) Breadcrumb text overlap (mobile/desktop)
   2) SKU/Categories overlap + line touching
   3) Adds safe breathing gap only (no redesign)
   Paste at VERY END of your CSS
========================================================= */

/* ---------- 0) Hard safety: stop transform/float causing overlap ---------- */
body.single-product .summary,
body.single-product .entry-summary,
body.single-product .summary *,
body.single-product .entry-summary *{
  transform:none !important;
}

/* ---------- 1) Breadcrumb: force normal document flow ---------- */
body.single-product nav.woocommerce-breadcrumb{
  position:static !important;
  float:none !important;
  clear:both !important;

  display:block !important;
  width:100% !important;

  margin: 0 0 10px !important;     /* ✅ clean gap under breadcrumb */
  padding: 0 !important;

  line-height:1.45 !important;     /* ✅ prevents text stacking */
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;

  z-index:3 !important;
}

body.single-product nav.woocommerce-breadcrumb *{
  position:static !important;
  float:none !important;
  transform:none !important;
  letter-spacing:0 !important;
  line-height:inherit !important;
  white-space:inherit !important;
}

/* ---------- 2) Title: ensure it never climbs into breadcrumb ---------- */
body.single-product .product .product_title,
body.single-product .product h1.product_title{
  clear:both !important;
  position:relative !important;
  z-index:3 !important;
  margin-top: 0 !important;
}

/* ---------- 3) Action area: ensure meta doesn’t touch the box/line ---------- */
body.single-product .summary form.cart,
body.single-product .entry-summary form.cart{
  margin-bottom: 12px !important; /* ✅ small safe breathing */
}

/* ---------- 4) Product meta (SKU / Categories): force stacked, no overlap ---------- */
body.single-product .product_meta{
  position:relative !important;
  float:none !important;
  clear:both !important;

  display:block !important;
  width:100% !important;

  margin: 10px 0 0 !important;     /* ✅ separates from above line/box */
  padding: 0 !important;

  line-height:1.6 !important;      /* ✅ prevents text stacking */
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;

  z-index:3 !important;
}

/* Each meta item on its own line (prevents SKU + Categories collision) */
body.single-product .product_meta > span,
body.single-product .product_meta :is(.sku_wrapper,.posted_in,.tagged_as){
  display:block !important;
  margin: 6px 0 0 !important;
  padding:0 !important;

  position:static !important;
  float:none !important;
  transform:none !important;
  clear:both !important;

  line-height:1.6 !important;
}

/* Ensure links wrap nicely (Categories long list) */
body.single-product .product_meta a{
  display:inline !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}

/* Remove any pseudo elements that can visually “cut” or overlap text */
body.single-product .product_meta::before,
body.single-product .product_meta::after,
body.single-product nav.woocommerce-breadcrumb::before,
body.single-product nav.woocommerce-breadcrumb::after{
  content:none !important;
}

/* ---------- 5) Mobile extra safety (small screens have this issue most) ---------- */
@media (max-width: 767px){

  body.single-product nav.woocommerce-breadcrumb{
    margin-bottom:12px !important;
    font-size:13px !important;
  }

  body.single-product .product_meta{
    margin-top:12px !important;
    font-size:13px !important;
  }
}

/* =========================================================
   JAGO — SHOP NOW (MOBILE ONLY) — IMAGE FULL (NO WHITE GAP) + TITLE/PRICE GAP
   Image: 1200×900 => 4:3
   Paste AFTER your current mobile shop CSS
========================================================= */
@media (max-width: 767px){

  /* ===============================
     1) PRODUCT CARD BASE (keep)
  =============================== */
  body.woocommerce-shop ul.products li.product,
  body.tax-product_cat ul.products li.product{
    padding:10px !important;
    display:flex !important;
    flex-direction:column !important;
  }

  /* ===============================
     2) IMAGE WRAP — FIX WHITE GAP (FULL COVER)
  =============================== */
  body.woocommerce-shop ul.products li.product .astra-shop-thumbnail-wrap,
  body.tax-product_cat ul.products li.product .astra-shop-thumbnail-wrap{
    margin:0 0 10px !important;
  }

  /* Astra wrapper link also needs to behave like a frame */
  body.woocommerce-shop ul.products li.product .astra-shop-thumbnail-wrap a,
  body.tax-product_cat ul.products li.product .astra-shop-thumbnail-wrap a{
    display:block !important;
    width:100% !important;

    /* ✅ 1200×900 ratio */
    aspect-ratio: 4 / 3 !important;

    border-radius:14px !important;
    overflow:hidden !important;       /* ✅ crop করে full fill */
    background:transparent !important;/* ✅ remove grey/white frame */
  }

  body.woocommerce-shop ul.products li.product .astra-shop-thumbnail-wrap img,
  body.tax-product_cat ul.products li.product .astra-shop-thumbnail-wrap img{
    width:100% !important;
    height:100% !important;           /* ✅ frame পুরোটা ভরবে */
    object-fit:cover !important;      /* ✅ no top/bottom gap */
    object-position:center !important;

    padding:0 !important;             /* ✅ remove inner white space */
    margin:0 !important;
    background:transparent !important;
    border-radius:0 !important;       /* wrapper radius already */
    display:block !important;
  }

  /* ===============================
     3) SUMMARY STACK (TITLE + PRICE)
  =============================== */
  body.woocommerce-shop ul.products li.product .astra-shop-summary-wrap,
  body.tax-product_cat ul.products li.product .astra-shop-summary-wrap{
    display:flex !important;
    flex-direction:column !important;
    gap:0 !important;                 /* gap আমরা margin দিয়ে কন্ট্রোল করবো */
    margin:0 !important;
    padding:0 !important;
  }

  /* ===============================
     4) TITLE — CENTER + GAP WITH PRICE
  =============================== */
  body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
  body.tax-product_cat ul.products li.product .woocommerce-loop-product__title{
    text-align:center !important;
    margin:6px 0 8px !important;      /* ✅ title ↔ price gap */
  }

  /* ===============================
     5) PRICE — CENTER
  =============================== */
  body.woocommerce-shop ul.products li.product .price,
  body.tax-product_cat ul.products li.product .price{
    text-align:center !important;
    width:100% !important;
    display:block !important;

    margin:0 0 6px !important;
    line-height:1.2 !important;
  }

  /* ===============================
     6) BUTTON — NO EXTRA GAP
  =============================== */
  body.woocommerce-shop ul.products li.product a.button,
  body.tax-product_cat ul.products li.product a.button{
    margin-top:auto !important;
    margin-bottom:0 !important;
  }
}


/* =========================================================
   JAGO — SHOP NOW + SINGLE RELATED
   FIXED CARD LAYOUT (TEXT / DISCOUNT SAFE)
   Goal:
   - Card height ALWAYS same
   - Title / price / discount variation won't break alignment
   - Button baseline fixed
   Scope: Shop + Category + Single related
========================================================= */

/* ===============================
   1) CARD BASE
=============================== */
body.woocommerce-shop .woocommerce ul.products li.ast-grid-common-col,
body.tax-product_cat .woocommerce ul.products li.ast-grid-common-col,
body.single-product .related ul.products li.product{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
  min-height:0 !important;
}

/* ===============================
   2) SUMMARY = CONTROLLED FLEX
=============================== */
body.woocommerce-shop .astra-shop-summary-wrap,
body.tax-product_cat .astra-shop-summary-wrap,
body.single-product .related .astra-shop-summary-wrap{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;       /* ✅ controlled stretch */
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
}

/* ===============================
   3) TITLE — FIXED HEIGHT (2 lines)
=============================== */
body.woocommerce-shop .woocommerce-loop-product__title,
body.tax-product_cat .woocommerce-loop-product__title,
body.single-product .related .woocommerce-loop-product__title{
  font-size:14px !important;
  line-height:1.25 !important;

  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  overflow:hidden !important;

  min-height:calc(14px * 1.25 * 2) !important; /* ✅ fixed block */
  margin:0 0 8px !important;
}

/* ===============================
   4) PRICE — RESERVED HEIGHT (SALE SAFE)
=============================== */
body.woocommerce-shop .price,
body.tax-product_cat .price,
body.single-product .related .price{
  display:grid !important;
  grid-auto-flow:row !important;
  justify-items:center !important;
  align-content:start !important;
  row-gap:4px !important;

  min-height:2.6em !important;   /* ✅ space for del+ins */
  margin:0 0 10px !important;
  line-height:1.2 !important;
}

/* Sale order safety */
.price ins{ order:1 !important; }
.price del{ order:2 !important; opacity:.6; }

/* ===============================
   5) BUTTON — ALWAYS SAME BASELINE
=============================== */
body.woocommerce-shop a.button,
body.tax-product_cat a.button,
body.single-product .related a.button{
  margin-top:auto !important;     /* ✅ push to bottom */
  margin-bottom:0 !important;

  min-height:44px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

/* ===============================
   6) REMOVE RANDOM ASTRA GAPS
=============================== */
body.woocommerce-shop li.ast-grid-common-col::after,
body.tax-product_cat li.ast-grid-common-col::after,
body.single-product .related li.product::after{
  content:none !important;
  display:none !important;
}

/* =========================================================
   JAGO — SINGLE PRODUCT (Astra)
   RELATED / UPSELL / CROSS-SELL
   FIXED CARD HEIGHT + PRICE GAP LOCK
========================================================= */

/* ===============================
   1) Card = flex column (real container)
=============================== */
body.single-product
:is(.related, .up-sells, .cross-sells)
ul.products li.product{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
  min-height:0 !important;
}

/* ===============================
   2) Astra summary = controlled flex
   (এখানেই আসল gap তৈরি হচ্ছিল)
=============================== */
body.single-product
:is(.related, .up-sells, .cross-sells)
ul.products li.product .astra-shop-summary-wrap{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  min-height:0 !important;

  padding-bottom:0 !important;
  margin-bottom:0 !important;
}

/* ===============================
   3) Title = fixed 2-line box
=============================== */
body.single-product
:is(.related, .up-sells, .cross-sells)
.woocommerce-loop-product__title{
  font-size:14px !important;
  line-height:1.25 !important;

  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  overflow:hidden !important;

  min-height:calc(14px * 1.25 * 2) !important;
  margin:0 0 6px !important;
}

/* ===============================
   4) PRICE — RESERVED HEIGHT (SALE SAFE)
   👉 এখানেই আপনার gap ছিল
=============================== */
body.single-product
:is(.related, .up-sells, .cross-sells)
ul.products li.product .price{
  display:grid !important;
  grid-auto-flow:row !important;
  justify-items:center !important;
  align-content:start !important;

  row-gap:2px !important;
  min-height:2.2em !important;   /* del+ins safe */
  margin:0 0 6px !important;
  line-height:1.2 !important;
}

/* sale order lock */
body.single-product
:is(.related, .up-sells, .cross-sells)
.price ins{ order:1 !important; }

body.single-product
:is(.related, .up-sells, .cross-sells)
.price del{
  order:2 !important;
  opacity:.6 !important;
}

/* ===============================
   5) Button = always bottom
=============================== */
body.single-product
:is(.related, .up-sells, .cross-sells)
ul.products li.product a.button{
  margin-top:auto !important;
  margin-bottom:0 !important;

  min-height:44px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

/* ===============================
   6) Astra clearfix / pseudo gap kill
=============================== */
body.single-product
:is(.related, .up-sells, .cross-sells)
ul.products li.product::after{
  content:none !important;
  display:none !important;
}

/* =========================================================
   JAGO — SINGLE PRODUCT (Astra)
   RELATED / UPSELL / CROSS-SELL
   FIXED CARD HEIGHT + PRICE GAP LOCK
========================================================= */

/* ===============================
   1) Card = flex column (real container)
=============================== */
body.single-product
:is(.related, .up-sells, .cross-sells)
ul.products li.product{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
  min-height:0 !important;
}

/* ===============================
   2) Astra summary = controlled flex
   (এখানেই আসল gap তৈরি হচ্ছিল)
=============================== */
body.single-product
:is(.related, .up-sells, .cross-sells)
ul.products li.product .astra-shop-summary-wrap{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  min-height:0 !important;

  padding-bottom:0 !important;
  margin-bottom:0 !important;
}

/* ===============================
   3) Title = fixed 2-line box
=============================== */
body.single-product
:is(.related, .up-sells, .cross-sells)
.woocommerce-loop-product__title{
  font-size:14px !important;
  line-height:1.25 !important;

  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  overflow:hidden !important;

  min-height:calc(14px * 1.25 * 2) !important;
  margin:0 0 6px !important;
}

/* ===============================
   4) PRICE — RESERVED HEIGHT (SALE SAFE)
   👉 এখানেই আপনার gap ছিল
=============================== */
body.single-product
:is(.related, .up-sells, .cross-sells)
ul.products li.product .price{
  display:grid !important;
  grid-auto-flow:row !important;
  justify-items:center !important;
  align-content:start !important;

  row-gap:2px !important;
  min-height:2.2em !important;   /* del+ins safe */
  margin:0 0 6px !important;
  line-height:1.2 !important;
}

/* sale order lock */
body.single-product
:is(.related, .up-sells, .cross-sells)
.price ins{ order:1 !important; }

body.single-product
:is(.related, .up-sells, .cross-sells)
.price del{
  order:2 !important;
  opacity:.6 !important;
}

/* ===============================
   5) Button = always bottom
=============================== */
body.single-product
:is(.related, .up-sells, .cross-sells)
ul.products li.product a.button{
  margin-top:auto !important;
  margin-bottom:0 !important;

  min-height:44px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

/* ===============================
   6) Astra clearfix / pseudo gap kill
=============================== */
body.single-product
:is(.related, .up-sells, .cross-sells)
ul.products li.product::after{
  content:none !important;
  display:none !important;
}

/* =========================================================
   JAGO — MOBILE ONLY: SALE + OUT OF STOCK BADGE FIX
   Scope: Shop/Category/Product archives only (mobile <=767px)
   Desktop unchanged
========================================================= */
@media (max-width:767px){

  /* Ensure thumbnail wrap can host absolute badges */
  body.woocommerce-shop .woocommerce ul.products li.product .astra-shop-thumbnail-wrap,
  body.tax-product_cat .woocommerce ul.products li.product .astra-shop-thumbnail-wrap,
  body.woocommerce-page .woocommerce ul.products li.product .astra-shop-thumbnail-wrap{
    position:relative !important;
  }

  /* ---------------------------
     1) OUT OF STOCK — small, clean, no hizibizi
  ---------------------------- */
  body.woocommerce-shop .woocommerce ul.products li.product .outofstock,
  body.tax-product_cat .woocommerce ul.products li.product .outofstock,
  body.woocommerce-page .woocommerce ul.products li.product .outofstock,
  body.woocommerce-shop .woocommerce ul.products li.product .ast-shop-product-out-of-stock,
  body.tax-product_cat .woocommerce ul.products li.product .ast-shop-product-out-of-stock,
  body.woocommerce-page .woocommerce ul.products li.product .ast-shop-product-out-of-stock{
    position:absolute !important;
    left:10px !important;
    top:10px !important;
    z-index:6 !important;

    font-size:11px !important;
    line-height:1 !important;
    font-weight:800 !important;

    padding:6px 8px !important;
    border-radius:999px !important;

    white-space:nowrap !important;
    letter-spacing:0 !important;

    max-width:calc(100% - 20px) !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  /* If out-of-stock is an <a> or inside an anchor */
  body.woocommerce-shop .woocommerce ul.products li.product .ast-shop-product-out-of-stock a,
  body.tax-product_cat .woocommerce ul.products li.product .ast-shop-product-out-of-stock a,
  body.woocommerce-page .woocommerce ul.products li.product .ast-shop-product-out-of-stock a,
  body.woocommerce-shop .woocommerce ul.products li.product .outofstock a,
  body.tax-product_cat .woocommerce ul.products li.product .outofstock a,
  body.woocommerce-page .woocommerce ul.products li.product .outofstock a{
    font-size:inherit !important;
    line-height:inherit !important;
    font-weight:inherit !important;
    white-space:nowrap !important;
  }

  /* ---------------------------
     2) SALE! — smaller + corner (won’t cover image)
  ---------------------------- */
  body.woocommerce-shop .woocommerce ul.products li.product .onsale,
  body.tax-product_cat .woocommerce ul.products li.product .onsale,
  body.woocommerce-page .woocommerce ul.products li.product .onsale{
    position:absolute !important;
    left:10px !important;
    top:10px !important;
    right:auto !important;
    z-index:7 !important;

    font-size:11px !important;
    line-height:1 !important;
    font-weight:800 !important;

    padding:6px 8px !important;
    border-radius:999px !important;

    width:auto !important;
    height:auto !important;
    min-width:0 !important;
    min-height:0 !important;
  }

}
/* =========================================================
   JAGO — SHOP NOW MOBILE (UPDATED v2)
   - Remove extra reserved gaps (title/price min-height)
   - Title/Price gap tighter
   - Image bigger (taller frame) without breaking layout
   Mobile only (<=767px)
========================================================= */
@media (max-width: 767px){

  /* ---------- CARD PADDING ---------- */
  body.woocommerce-shop ul.products li.product,
  body.tax-product_cat ul.products li.product{
    padding:10px !important;
  }

  /* ---------- IMAGE WRAP: bigger frame ---------- */
  body.woocommerce-shop ul.products li.product .astra-shop-thumbnail-wrap,
  body.tax-product_cat ul.products li.product .astra-shop-thumbnail-wrap{
    margin:0 0 6px !important; /* ✅ less gap under image */
  }

  body.woocommerce-shop ul.products li.product .astra-shop-thumbnail-wrap a,
  body.tax-product_cat ul.products li.product .astra-shop-thumbnail-wrap a{
    display:block !important;
    width:100% !important;

    /* ✅ taller than square => image looks bigger */
    aspect-ratio: 5 / 6 !important;

    border-radius:14px !important;
    overflow:hidden !important;
    background:transparent !important;
    padding:0 !important;
  }

  body.woocommerce-shop ul.products li.product .astra-shop-thumbnail-wrap img,
  body.tax-product_cat ul.products li.product .astra-shop-thumbnail-wrap img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center !important;

    padding:0 !important;
    margin:0 !important;
    display:block !important;
    background:transparent !important;
    border-radius:0 !important;
  }

  /* ---------- SUMMARY WRAP: kill extra spacing ---------- */
  body.woocommerce-shop ul.products li.product .astra-shop-summary-wrap,
  body.tax-product_cat ul.products li.product .astra-shop-summary-wrap{
    gap:0 !important;
    padding:0 !important;
    margin:0 !important;
  }

  /* ---------- TITLE: smaller + remove reserved height ---------- */
  body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
  body.tax-product_cat ul.products li.product .woocommerce-loop-product__title{
    font-size:11px !important;
    line-height:1.2 !important;

    /* ✅ remove “blank space” caused by old min-height rules */
    min-height:unset !important;

    margin:6px 0 2px !important; /* ✅ tighter to price */
  }

  /* ---------- PRICE: tighter + remove reserved height ---------- */
  body.woocommerce-shop ul.products li.product .price,
  body.tax-product_cat ul.products li.product .price{
    font-size:11px !important;
    line-height:1.2 !important;

    /* ✅ remove “blank space” caused by old min-height rules */
    min-height:unset !important;

    margin:0 0 2px !important; /* ✅ reduce gap under price */
  }

  /* ---------- BUTTON: no extra gaps ---------- */
  body.woocommerce-shop ul.products li.product a.button,
  body.tax-product_cat ul.products li.product a.button{
    margin-top:auto !important;
    margin-bottom:0 !important;
  }
}


