:root{
  --tfl-bg:#FFFFFF;
  --tfl-card:#FFFFFF;
  --tfl-line:#E8D9C3;
  --tfl-text:#3B2A1E;
  --tfl-muted:#8A7460;
  --tfl-gold:#C9A227;
  --tfl-dark:#6B3A1E;
  --tfl-btn:#6B3A1E;
  --tfl-accent:#2d1306;
  --tfl-accent-soft:#5c4530;
}
body.tfl-product-page,
body.tfl-product-page .site,
body.tfl-product-page .site-content,
body.tfl-product-page .content-area,
body.tfl-product-page .site-main,
body.tfl-product-page #page,
body.tfl-product-page #content,
body.tfl-product-page #primary,
body.tfl-product-page main{background:var(--tfl-bg)!important;overflow:visible!important;}
body.tfl-product-page .site-main{padding:0!important;max-width:none!important;}
.tfl-page{background:var(--tfl-bg);color:var(--tfl-text);padding:28px 0 60px;overflow:visible;}
.tfl-container{max-width:1280px;margin:0 auto;padding:0 24px;overflow:visible;}

/* ══ 2-COLUMN LAYOUT: Left sticky | Right scrollable ══
   The left column (product image) stays in place while the right
   column (title, price, description, reviews...) scrolls past it.
   position:sticky silently stops working if ANY ancestor between
   this element and the page has overflow other than "visible" —
   so we force overflow:visible the whole way up, since a theme
   wrapper often sets overflow-x:hidden for its mobile menu. ══ */
html:has(body.tfl-product-page){overflow:visible!important;}
.tfl-product-layout{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start;overflow:visible;}
.tfl-left-col{position:sticky;top:90px;align-self:start;}
.tfl-right-col{min-width:0;overflow:visible;}
.tfl-right-col .tfltabs-wrap{margin-top:32px;}

.tfl-gallery{display:grid;grid-template-columns:86px 1fr;gap:18px;align-items:start;}
.tfl-thumbs{display:flex;flex-direction:column;gap:14px;max-height:494px;overflow-y:auto;}
.tfl-thumb{background:#fff;border:2px solid var(--tfl-line);padding:0;border-radius:4px;overflow:hidden;cursor:pointer;height:74px;display:flex;align-items:center;justify-content:center;}
.tfl-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.tfl-thumb.is-active{border-color:var(--tfl-gold);box-shadow:0 0 0 1px var(--tfl-gold) inset;}
.tfl-main-image-card{background:var(--tfl-card);border:1px solid var(--tfl-line);padding:12px;position:relative;border-radius:10px;min-height:520px;}
.tfl-badges{position:absolute;left:20px;top:20px;display:flex;flex-direction:column;gap:6px;z-index:2;}
.tfl-badges span{display:inline-block;background:var(--tfl-dark);color:#fff;padding:6px 12px;border-radius:4px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;}
.tfl-badges span:last-child{background:var(--tfl-gold);}
.tfl-main-image-card .tfl-vegnonveg-badge{position:absolute;right:20px;top:20px;z-index:2;width:30px;height:30px;}
.tfl-main-image-wrap{background:#FFFDF9;min-height:494px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:6px;}
.tfl-main-image-wrap img{width:100%;height:494px;object-fit:cover;display:block;background:#FFFDF9;border-radius:6px;}

/* Pincode delivery check (now sits in the right column, near price / cake message) */
.tfl-pincode-check{margin:18px 0;padding:14px 16px;background:#FBF7EF;border:1px solid var(--tfl-line);border-radius:8px;}
.tfl-pincode-row{display:flex;gap:8px;margin-top:8px;}
.tfl-pincode-row input{flex:1;padding:9px 12px;border:1px solid var(--tfl-line);border-radius:6px;background:#fff;}
.tfl-pincode-row button{padding:9px 18px;background:var(--tfl-accent);color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;}
#tfl-pincode-result{margin-top:8px;font-size:14px;font-weight:600;}
#tfl-pincode-result.is-yes{color:#3f6b2e;}
#tfl-pincode-result.is-no{color:#a3401c;}

/* Weight / size variation pills (500g, 1kg, 2kg, 3kg ...) — price updates on selection */
.tfl-variation-row{margin-bottom:16px;}
.tfl-var-pill{background:var(--tfl-card);}
.tfl-var-pill:hover{background:var(--tfl-card);}
.tfl-var-pill.is-active,.tfl-var-pill.is-active:hover{border-color:var(--tfl-gold);background:var(--tfl-gold);color:#fff;font-weight:600;}
.tfl-hidden-select{display:none!important;}
.tfl-cart-wrap button.single_add_to_cart_button[disabled],
.tfl-buy-now-btn[disabled]{opacity:.5;cursor:not-allowed;}
.tfl-variation-hint{font-size:12px;color:var(--tfl-muted);margin:-8px 0 16px;}

.tfl-summary{padding:10px 12px;position:sticky;top:90px;align-self:start;background:var(--tfl-bg);z-index:3;}
.tfl-breadcrumb-mini{font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--tfl-muted);margin-bottom:10px;}
.tfl-title{font-family:Georgia,"Times New Roman",serif!important;font-size:2.2rem!important;line-height:1.2!important;font-weight:500!important;color:var(--tfl-text)!important;margin:0 0 12px!important;text-transform:none!important;}
.tfl-rating-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--tfl-muted);font-size:14px;padding-bottom:20px;border-bottom:1px solid var(--tfl-line);margin-bottom:20px;}
.tfl-stars .star-rating{margin:0!important;float:none!important;}
.tfl-rating-value{font-weight:700;color:var(--tfl-text);}
.tfl-dot{opacity:.6;}
.tfl-price-wrap{font-family:Georgia,"Times New Roman",serif;font-size:2.25rem!important;line-height:1.12!important;color:var(--tfl-btn)!important;margin:12px 0 10px!important;font-weight:600!important;}.tfl-price-wrap .amount,.tfl-price-wrap .woocommerce-Price-amount,.tfl-price-wrap bdi{font-size:inherit!important;line-height:inherit!important;color:inherit!important;font-weight:inherit!important;}
.tfl-price-wrap del{color:#a6937a!important;font-size:.72em;opacity:1!important;margin-right:8px;}
.tfl-price-wrap ins{text-decoration:none!important;color:var(--tfl-btn)!important;background:none!important;}
.tfl-save-box{background:#F3ECD9;border:1px solid var(--tfl-line);color:#6b5c3f;padding:9px 14px;border-radius:6px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;display:inline-block;margin-bottom:18px;}
.tfl-save-box.out{background:#f8e7df;border-color:#d1a48a;color:#8b4d2a;}
.tfl-short-desc{font-size:15px;line-height:1.9;color:var(--tfl-muted);margin-bottom:20px;border-left:2px solid var(--tfl-gold);padding-left:16px;}
.tfl-short-desc-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.tfl-short-desc.is-expanded .tfl-short-desc-text{-webkit-line-clamp:unset;overflow:visible;}
.tfl-read-more-btn{background:none;border:none;padding:6px 0 0;margin:0;color:var(--tfl-btn);font-weight:600;font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:2px;}

.tfl-meta-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:14px 0 18px;padding:12px 14px;background:#FBF7EF;border:1px solid var(--tfl-line);border-radius:8px;font-size:13px;}
.tfl-sku{color:var(--tfl-muted);}
.tfl-whatsapp-help{color:#2f7d3a;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:4px;}
.tfl-whatsapp-help span{text-decoration:underline;text-underline-offset:2px;}
.tfl-whatsapp-help:hover{color:#1f5c28;}
.tfl-attribute-blocks{margin:16px 0 20px;}
.tfl-attr-row-static{margin-bottom:14px;}
.tfl-attr-label{font-size:12px;letter-spacing:.25em;text-transform:uppercase;color:var(--tfl-muted);margin-bottom:8px;}
.tfl-attr-values{display:flex;gap:10px;flex-wrap:wrap;}
.tfl-pill{display:inline-flex;align-items:center;justify-content:center;min-width:52px;padding:11px 18px;border:1px solid var(--tfl-line);border-radius:6px;background:var(--tfl-card);color:var(--tfl-text);font-size:14px;cursor:pointer;}

.tfl-message-row{margin:18px 0;}
.tfl-message-label-row{display:flex;align-items:center;justify-content:space-between;max-width:420px;margin-bottom:8px;}
.tfl-message-row label{font-size:13px;color:var(--tfl-text);margin:0;}
.tfl-message-count{font-size:12px;color:var(--tfl-muted);}
.tfl-message-count.is-max{color:var(--tfl-dark);font-weight:600;}
.tfl-message-row input{width:100%;max-width:420px;padding:10px 14px;border:1px solid var(--tfl-line);border-radius:6px;background:#fff;font-size:14px;box-sizing:border-box;}

.tfl-cart-wrap{margin-top:8px;}
.tfl-cart-wrap form.cart{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:14px!important;margin:0!important;}
.tfl-cart-wrap .quantity{position:relative!important;display:inline-flex!important;align-items:stretch!important;border:1px solid var(--tfl-line)!important;border-radius:6px!important;background:var(--tfl-card)!important;height:50px!important;min-width:122px!important;overflow:hidden!important;}
.tfl-cart-wrap .quantity .qty{border:none!important;background:transparent!important;width:46px!important;height:48px!important;min-height:48px!important;margin:0!important;padding:0!important;box-shadow:none!important;font-size:17px!important;color:var(--tfl-text)!important;text-align:center!important;-moz-appearance:textfield!important;}
.tfl-cart-wrap .quantity .qty::-webkit-outer-spin-button,.tfl-cart-wrap .quantity .qty::-webkit-inner-spin-button{-webkit-appearance:none!important;margin:0!important;}
.tfl-qty-btn{width:38px!important;height:48px!important;border:none!important;background:#F1E6D3!important;color:var(--tfl-text)!important;font-size:20px!important;line-height:1!important;cursor:pointer!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0!important;}
.tfl-qty-btn:hover{background:#e8dabf!important;color:var(--tfl-text)!important;}
.tfl-cart-wrap button.single_add_to_cart_button,.tfl-cart-wrap button.single_add_to_cart_button:hover,.tfl-buy-now-btn,.tfl-buy-now-btn:hover{height:50px!important;padding:0 28px!important;border:none!important;font-size:14px!important;letter-spacing:.08em!important;text-transform:uppercase!important;border-radius:6px!important;box-shadow:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:180px!important;cursor:pointer;}
.tfl-cart-wrap button.single_add_to_cart_button,.tfl-cart-wrap button.single_add_to_cart_button:hover{background:var(--tfl-accent)!important;color:#fff!important;}
.tfl-buy-now-btn,.tfl-buy-now-btn:hover{background:var(--tfl-accent-soft)!important;color:#fff!important;text-decoration:none!important;}

.tfltabs-wrap{margin-top:42px;}
.tfl-plain-section{padding-top:32px;margin-top:32px;border-top:1px solid var(--tfl-line);}
.tfl-plain-section:first-child{padding-top:0;margin-top:0;border-top:none;}
.tfl-tab-content-box{font-size:15px;line-height:1.9;color:var(--tfl-muted);width:100%;}
.tfl-spec-table{border-top:1px solid var(--tfl-line);}
.tfl-spec-row{display:grid;grid-template-columns:200px 1fr;border-bottom:1px solid var(--tfl-line);padding:14px 0;color:#5d503f;}
.tfl-shipping-box{background:var(--tfl-card);border:1px solid var(--tfl-line);border-radius:10px;padding:24px;}
.tfl-ship-item{display:grid;grid-template-columns:56px 1fr;gap:16px;align-items:start;padding:18px 0;border-bottom:1px solid var(--tfl-line);}
.tfl-ship-item:last-of-type{border-bottom:none;}
.tfl-ship-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:#F1E6D3;border:1px solid var(--tfl-line);border-radius:50%;font-size:22px;}
.tfl-ship-text strong{display:block;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--tfl-text);margin-bottom:8px;}
.tfl-ship-text p{margin:0;color:var(--tfl-muted);line-height:1.8;font-size:15px;}

/* ── Section Heading ─────────────────────────────────────────── */
.tfl-section-heading{font-family:Georgia,"Times New Roman",serif;font-size:1.5rem;color:var(--tfl-text);font-weight:500;margin:0 0 22px;padding-bottom:12px;border-bottom:1px solid var(--tfl-line);}

/* ── Star Ratings Section ────────────────────────────────────── */
.tfl-ratings-section{margin-top:52px;padding-top:32px;border-top:2px solid var(--tfl-line);}
.tfl-ratings-wrap{display:grid;grid-template-columns:160px 1fr;gap:32px;align-items:center;margin-bottom:32px;}
.tfl-ratings-left{text-align:center;}
.tfl-big-score{font-family:Georgia,"Times New Roman",serif;font-size:3.4rem;line-height:1;color:var(--tfl-text);font-weight:500;}
.tfl-big-stars{display:flex;justify-content:center;gap:4px;margin:8px 0;}
.tfl-star{font-size:20px;color:#d6c9b0;}
.tfl-star.filled{color:var(--tfl-gold);}
.tfl-big-count{font-size:13px;color:var(--tfl-muted);margin-top:6px;}
.tfl-ratings-bars{display:flex;flex-direction:column;gap:10px;}
.tfl-bar-row{display:grid;grid-template-columns:36px 1fr 40px;gap:10px;align-items:center;font-size:13px;color:var(--tfl-muted);}
.tfl-bar-track{background:#e8dece;border-radius:2px;height:8px;overflow:hidden;}
.tfl-bar-fill{height:100%;background:linear-gradient(90deg,var(--tfl-gold),#e0b04a);border-radius:2px;transition:width .4s;}
.tfl-bar-pct{text-align:right;font-size:12px;color:var(--tfl-muted);}

/* ── Products Scroll Sections ────────────────────────────────── */
.tfl-products-section{margin-top:52px;padding-top:32px;border-top:2px solid var(--tfl-line);}
.tfl-products-scroll{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:18px;}
.tfl-prod-card{display:block;text-decoration:none;background:var(--tfl-card);border:1px solid var(--tfl-line);border-radius:10px;overflow:hidden;position:relative;}
.tfl-prod-img-wrap{width:100%;aspect-ratio:1;overflow:hidden;background:#FFFDF9;}
.tfl-prod-img-wrap img{width:100%;height:100%;object-fit:cover;display:block;}
.tfl-prod-info{padding:12px 14px 16px;}
.tfl-prod-name{font-size:13px;color:var(--tfl-text);line-height:1.5;margin-bottom:6px;font-weight:500;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.tfl-prod-price{font-family:Georgia,"Times New Roman",serif;font-size:15px;color:var(--tfl-btn);}
.tfl-prod-price del{color:#a6937a;font-size:.85em;margin-right:4px;}
.tfl-prod-price ins{text-decoration:none;}
.tfl-prod-badge{position:absolute;top:10px;left:10px;background:var(--tfl-dark);color:#fff;font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:4px 9px;border-radius:4px;z-index:2;}

/* ── Sticky mobile buy bar (Bakingo-style) ──────────────────────
   Hidden by default (desktop); shown as a fixed bottom bar only on
   small screens, where the in-flow Add to Cart form can scroll out
   of view. Real form buttons stay the source of truth — this bar
   just proxies clicks into them (see product-detail.js). ── */
.tfl-mobile-buybar{display:none;}

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width: 991px){
  .tfl-product-layout{grid-template-columns:1fr;gap:24px;}
  .tfl-left-col{position:static;}
  .tfl-summary{position:static;padding:0 4px;}
  .tfl-gallery{grid-template-columns:1fr;gap:12px;}
  .tfl-thumbs{flex-direction:row;overflow-x:auto;max-height:none;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .tfl-thumbs::-webkit-scrollbar{display:none;}
  .tfl-thumb{min-width:64px;height:64px;flex:0 0 auto;}
  .tfl-main-image-card{min-height:auto;padding:8px;}
  .tfl-title{font-size:1.7rem!important;}
  .tfl-price-wrap{font-size:2rem!important;}
  .tfl-badges{left:12px;top:12px;}
  .tfl-badges span{font-size:9px;padding:5px 9px;}
  .tfl-main-image-card .tfl-vegnonveg-badge{right:12px;top:12px;width:24px;height:24px;}
}
@media (max-width: 640px){
  .tfl-container{padding:0 14px;}
  .tfl-page{padding:16px 0 100px;} /* extra bottom room for sticky buy bar */
  .tfl-main-image-wrap,.tfl-main-image-wrap img{height:300px;min-height:auto;}
  .tfl-breadcrumb-mini{font-size:10px;}
  .tfl-title{font-size:1.4rem!important;margin-bottom:8px!important;}
  .tfl-price-wrap{font-size:1.55rem!important;margin:7px 0!important;}
  .tfl-save-box{font-size:11px;padding:7px 12px;}
  .tfl-short-desc{font-size:13.5px;padding-left:12px;}
  .tfl-attr-values{gap:8px;}
  .tfl-pill{min-width:44px;padding:9px 14px;font-size:13px;}
  .tfl-meta-row{flex-direction:column;align-items:flex-start;font-size:12px;padding:10px 12px;}
  .tfl-pincode-check{padding:12px;}
  .tfl-pincode-row{flex-direction:column;}
  .tfl-pincode-row button{width:100%;}

  /* In-flow add-to-cart form: still usable, but the sticky bar below
     is the primary tap target once the user has scrolled past it. */
  .tfl-cart-wrap form.cart{display:grid!important;grid-template-columns:1fr!important;}
  .tfl-cart-wrap .quantity,.tfl-cart-wrap button.single_add_to_cart_button,.tfl-buy-now-btn{width:100%!important;min-width:100%!important;max-width:100%!important;}

  .tfl-section-heading{font-size:1.25rem;margin-bottom:16px;}
  .tfl-ship-item{grid-template-columns:1fr;gap:12px;}
  .tfl-ship-icon{width:48px;height:48px;font-size:20px;}
  .tfl-ratings-wrap{grid-template-columns:1fr;gap:20px;}
  .tfl-ratings-left{display:flex;align-items:center;gap:16px;text-align:left;}
  .tfl-big-stars{margin:0;}
  .tfl-products-section{margin-top:36px;padding-top:24px;}
  .tfl-products-scroll{grid-template-columns:repeat(2,1fr);gap:10px;}
  .tfl-prod-name{font-size:12px;}
  .tfl-prod-price{font-size:13px;}

  /* ── Sticky mobile buy bar ── */
  .tfl-mobile-buybar{
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    position:fixed;left:0;right:0;bottom:0;z-index:999;
    background:var(--tfl-card);border-top:1px solid var(--tfl-line);
    padding:10px 14px;padding-bottom:calc(10px + env(safe-area-inset-bottom));
    box-shadow:0 -4px 16px rgba(0,0,0,.08);
  }
  .tfl-mb-price{font-family:Georgia,"Times New Roman",serif;font-size:1.15rem;color:var(--tfl-btn);white-space:nowrap;flex-shrink:0;}
  .tfl-mb-price del{color:#a6937a;font-size:.7em;margin-right:4px;}
  .tfl-mb-price ins{text-decoration:none;}
  .tfl-mb-actions{display:flex;gap:8px;flex:1;min-width:0;}
  .tfl-mb-add,.tfl-mb-buy{flex:1;min-width:0;height:44px;border:none;border-radius:6px;font-size:12.5px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;cursor:pointer;padding:0 8px;}
  .tfl-mb-add,.tfl-mb-add:hover,.tfl-mb-add:focus{background:var(--tfl-accent)!important;color:#fff!important;}
  .tfl-mb-buy,.tfl-mb-buy:hover,.tfl-mb-buy:focus{background:var(--tfl-accent-soft)!important;color:#fff!important;}
  .tfl-mb-add[disabled],.tfl-mb-buy[disabled]{opacity:.5;cursor:not-allowed;}
}
@media (max-width: 380px){
  .tfl-mb-price{font-size:1rem;}
  .tfl-mb-add,.tfl-mb-buy{font-size:11px;}
}
/* Remove all hover animation from Add to Cart & Buy Now */
.tfl-buy-now-btn,
.tfl-cart-wrap button.single_add_to_cart_button,
.tfl-buy-now-btn:hover,
.tfl-cart-wrap button.single_add_to_cart_button:hover{
    transform: none !important;
    translate: none !important;
    animation: none !important;
    transition: background-color .2s ease, color .2s ease !important;
}

.tfl-buy-now-btn::before,
.tfl-buy-now-btn::after,
.tfl-cart-wrap button.single_add_to_cart_button::before,
.tfl-cart-wrap button.single_add_to_cart_button::after{
    display: none !important;
    content: none !important;
}



#tfl-pincode-btn,
#tfl-pincode-btn:hover,
#tfl-pincode-btn:focus,
#tfl-pincode-btn:active{
background:#2D1306!important;
border:1px solid #2D1306!important;
color:#fff!important;
box-shadow:none!important;
}



/* Remove all hover effects */

.tfl-buy-now-btn,
.tfl-buy-now-btn:hover,
.tfl-cart-wrap .single_add_to_cart_button,
.tfl-cart-wrap .single_add_to_cart_button:hover,
#tfl-pincode-btn,
#tfl-pincode-btn:hover{
    background:#2D1306 !important;
    border:1px solid #2D1306 !important;
    color:#fff !important;
    box-shadow:none !important;
    transform:none !important;
    transition:none !important;
}

.tfl-buy-now-btn::before,
.tfl-buy-now-btn::after,
.tfl-cart-wrap .single_add_to_cart_button::before,
.tfl-cart-wrap .single_add_to_cart_button::after,
#tfl-pincode-btn::before,
#tfl-pincode-btn::after{
    display:none !important;
    content:none !important;
}
/* ── TFL delivery rule card + hard horizontal-overflow fix ───── */
html:has(body.tfl-product-page),
body.tfl-product-page{max-width:100%!important;overflow-x:clip!important;}
body.tfl-product-page .site,
body.tfl-product-page .site-content,
body.tfl-product-page .content-area,
body.tfl-product-page .site-main,
body.tfl-product-page #page,
body.tfl-product-page #content,
body.tfl-product-page #primary,
body.tfl-product-page main,
.tfl-page,.tfl-container,.tfl-product-layout,.tfl-left-col,.tfl-right-col,.tfl-gallery,.tfl-main-image-card{max-width:100%!important;min-width:0!important;box-sizing:border-box!important;}
.tfl-container{width:100%!important;}
.tfl-delivery-rule-card{margin:18px 0;padding:16px;background:#fffaf3;border:1px solid var(--tfl-line);border-radius:10px;max-width:100%;box-sizing:border-box;}
.tfl-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.tfl-rule-grid>div{padding:10px 12px;background:#fff;border:1px solid #eee1cf;border-radius:8px;min-width:0;}
.tfl-rule-grid span{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--tfl-muted);margin-bottom:4px;}
.tfl-rule-grid strong{display:block;color:var(--tfl-text);font-size:13px;overflow-wrap:anywhere;}
.tfl-rule-notice{margin-top:12px;padding:10px 12px;border-radius:8px;background:#f8efe2;color:#5b3826;font-size:13px;font-weight:600;}
.tfl-rule-notice.is-flash{animation:tflSoftPulse 1.6s ease-in-out infinite;}
.tfl-rule-checkout-note{margin-top:10px;font-size:12px;line-height:1.55;color:var(--tfl-muted);}
@keyframes tflSoftPulse{0%,100%{box-shadow:0 0 0 0 rgba(107,58,30,0)}50%{box-shadow:0 0 0 4px rgba(107,58,30,.08)}}
@media(max-width:640px){
  .tfl-rule-grid{grid-template-columns:1fr;}
  .tfl-delivery-rule-card{padding:12px;}
  .tfl-thumbs{max-width:100%;}
}


/* =============================================================
   v1.2.1 interaction + overflow fixes
   - Keep product fields/pills clickable even if the theme adds overlays
   - Prevent accidental horizontal page scrolling
   ============================================================= */
body.tfl-product-page{overflow-x:clip!important;}
body.tfl-product-page .tfl-page,
body.tfl-product-page .tfl-container,
body.tfl-product-page .tfl-product-layout,
body.tfl-product-page .tfl-left-col,
body.tfl-product-page .tfl-right-col,
body.tfl-product-page .tfl-summary{max-width:100%!important;box-sizing:border-box!important;}

.tfl-summary,
.tfl-message-row,
.tfl-attribute-blocks,
.tfl-variation-row,
.tfl-cart-wrap{position:relative!important;z-index:20!important;pointer-events:auto!important;}

.tfl-message-row input,
.tfl-var-pill,
.tfl-pill,
.tfl-cart-wrap input,
.tfl-cart-wrap button,
.tfl-qty-btn{pointer-events:auto!important;touch-action:manipulation!important;user-select:auto!important;position:relative!important;z-index:21!important;}

#tfl-cake-message{cursor:text!important;-webkit-user-select:text!important;user-select:text!important;}
.tfl-var-pill,.tfl-pill{cursor:pointer!important;-webkit-user-select:none!important;user-select:none!important;}

/* Pincode checker intentionally removed in v1.2.1. */
.tfl-pincode-check{display:none!important;}

@media (max-width:767px){
  body.tfl-product-page{overflow-x:hidden!important;}
  .tfl-container{padding-left:14px!important;padding-right:14px!important;}
  .tfl-product-layout{width:100%!important;min-width:0!important;}
  .tfl-left-col,.tfl-right-col,.tfl-summary{min-width:0!important;width:100%!important;}
}


/* v1.2.5 — customer editable required-date calendar on product page */
.tfl-product-date-box{
  margin-top:12px;
  padding:14px;
  border:1px solid #ead7c2;
  border-radius:10px;
  background:#fff;
}
.tfl-product-date-box label{display:block;margin-bottom:9px;color:var(--tfl-text);}
.tfl-product-date-kicker{
  display:block;
  margin-bottom:3px;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--tfl-muted);
}
.tfl-product-date-box label strong{font-size:15px;font-weight:700;}
#tfl-product-required-date{
  display:block;
  width:100%;
  min-height:46px;
  padding:10px 12px;
  border:1px solid #d9c0aa;
  border-radius:8px;
  background:#fff;
  color:var(--tfl-text);
  font:inherit;
  cursor:pointer;
  box-sizing:border-box;
}
#tfl-product-required-date:focus{
  outline:2px solid rgba(45,19,6,.18);
  border-color:#2D1306;
}
.tfl-product-date-help{
  margin-top:7px;
  font-size:12px;
  line-height:1.5;
  color:var(--tfl-muted);
}
.tfl-product-date-selected{
  margin-top:7px;
  font-size:12px;
  font-weight:600;
  color:#2D1306;
}


/* v1.2.6 fixes */

/* Remove old cake-message UI completely. */
.tfl-cake-message,
.tfl-cake-message-wrap,
.tfl-message-on-cake,
.tfl-cake-msg,
#tfl-cake-message,
#tfl-cake-message-wrap,
#tfl-cake-message-counter,
input[name="cake_message"]:not([type="hidden"]),
label[for="tfl-cake-message"]{
  display:none !important;
}

/* Keep the right product heading/info higher and aligned with product image. */
.tfl-product-info,
.tfl-v126-info{
  align-self:start !important;
  padding-top:0 !important;
  margin-top:0 !important;
  transform:translateY(-6px);
}
.tfl-product-info .tfl-category,
.tfl-product-info .product_title,
.tfl-product-info h1{
  margin-top:0 !important;
}
.tfl-product-main,
.tfl-product-layout,
.tfl-product-grid{
  align-items:start !important;
}

/* Avoid extra blank space from hidden/empty short-description containers. */
.tfl-short-description:empty,
.woocommerce-product-details__short-description:empty{
  display:none !important;
  margin:0 !important;
  padding:0 !important;
}

/* Variation buttons should feel clearly selectable. */
.tfl-variation-pill,
.tfl-variation-btn,
.tfl-size-option{
  cursor:pointer !important;
}

/* Buy Now enabled state */
.tfl-buy-now:not([disabled]),
button[name="tfl_buy_now"]:not([disabled]){
  opacity:1 !important;
  cursor:pointer !important;
}


/* v1.2.7 — align product heading with the top of the product image */
@media (min-width: 769px){
  body.tfl-product-page .tfl-right-col{
    padding-top:0 !important;
    margin-top:-92px !important;
  }
  body.tfl-product-page .tfl-summary{
    margin-top:0 !important;
    padding-top:0 !important;
  }
}
@media (max-width: 768px){
  body.tfl-product-page .tfl-right-col{
    margin-top:0 !important;
    padding-top:0 !important;
  }
}

/* Hide any legacy validation-description wrapper left by old product imports. */
body.tfl-product-page .tfl-short-desc:has(.tfl-short-desc-text:empty){
  display:none !important;
}
\n\n/* v1.2.8 Pickup / Delivery selector */\n.tfl-fulfilment-choice{margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid #f0dfcf}.tfl-fulfilment-options{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.tfl-fulfilment-option{position:relative;display:inline-flex!important;align-items:center;cursor:pointer;margin:0!important}.tfl-fulfilment-option input{position:absolute;opacity:0;pointer-events:none}.tfl-fulfilment-option span{display:inline-flex;align-items:center;justify-content:center;min-width:110px;min-height:42px;padding:9px 16px;border:1px solid #d7bfa8;border-radius:8px;background:#fff;color:#2D1306;font-weight:600;box-sizing:border-box}.tfl-fulfilment-option input:checked+span{border-color:#2D1306;background:#2D1306;color:#fff}.tfl-fulfilment-selected{margin-top:7px;min-height:18px;font-size:12px;font-weight:600;color:#2D1306}@media(max-width:480px){.tfl-fulfilment-options{display:grid;grid-template-columns:1fr 1fr}.tfl-fulfilment-option span{min-width:0;width:100%}}\n

/* v1.3.0 professional order flow */
.tfl-time-choice{margin:0 0 16px;}
#tfl-product-time-slot{
  width:100%;
  min-height:46px;
  padding:10px 12px;
  border:1px solid #d9c0aa;
  border-radius:8px;
  background:#fff;
  color:#2D1306;
  font:inherit;
  box-sizing:border-box;
}
#tfl-product-time-slot:focus{outline:2px solid rgba(45,19,6,.14);border-color:#2D1306;}
.tfl-selection-summary{
  margin:14px 0 0;
  padding:13px 14px;
  border:1px solid #ead7c2;
  border-radius:10px;
  background:#fff8f1;
}
.tfl-summary-label{
  display:block;
  margin-bottom:4px;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#8a6d58;
}
#tfl-selection-summary-text{font-size:13px;line-height:1.5;color:#2D1306;}
#tfl-add-to-cart-btn,#tfl-buy-now-btn{transition:.2s ease;}
#tfl-add-to-cart-btn:disabled,#tfl-buy-now-btn:disabled{opacity:.45!important;cursor:not-allowed!important;}
#tfl-add-to-cart-btn.tfl-ready-to-buy,#tfl-buy-now-btn.tfl-ready-to-buy{opacity:1!important;cursor:pointer!important;}
.tfl-fulfilment-option input:checked + span::before{content:"✓ ";font-weight:700;}
.tfl-rule-grid > div{position:relative;overflow:hidden;}
.tfl-rule-grid > div strong{display:block;margin-top:3px;}
.tfl-checkout-booking select{min-height:44px;border-radius:8px;}
@media(max-width:768px){
  .tfl-selection-summary{padding:11px 12px;}
}

/* v1.3.1 compact professional availability */
.tfl-rule-grid{display:none!important;}
.tfl-availability-strip{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:12px 14px;border:1px solid #ead7c2;border-radius:12px;background:#fffaf5;color:#2D1306}
.tfl-availability-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:#f5eadf;font-size:18px}
.tfl-availability-copy{min-width:0;flex:1}
.tfl-availability-copy strong{display:block;font-size:14px;line-height:1.3}
.tfl-availability-copy small{display:block;margin-top:2px;font-size:12px;line-height:1.4;color:#7d6656}
.tfl-availability-type{display:inline-flex;align-items:center;padding:7px 9px;border:1px solid #e7d3c0;border-radius:999px;background:#fff;font-size:11px;font-weight:700;white-space:nowrap}
.tfl-availability-strip.is-today .tfl-availability-icon{background:#eef8ef}
.tfl-availability-strip.is-next-day .tfl-availability-icon{background:#f1f5fb}
.tfl-availability-strip.is-advance .tfl-availability-icon{background:#fff3e4}
@media(max-width:600px){.tfl-availability-strip{align-items:flex-start;flex-wrap:wrap}.tfl-availability-type{width:100%;justify-content:center}}


/* v1.3.2 — remove spacing left by old duplicate rule description */
body.tfl-product-page .woocommerce-product-details__short-description:empty,
body.tfl-product-page .tfl-short-desc:empty,
body.tfl-product-page .tfl-short-desc-text:empty{
  display:none!important;
  margin:0!important;
  padding:0!important;
  min-height:0!important;
}


/* v1.3.4 — compact checkout selected-date UI */
.tfl-checkout-date-summary{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  min-height:48px;
  padding:10px 12px;
  margin:5px 0 8px;
  border:1px solid #ead7c2;
  border-radius:10px;
  background:#fffaf5;
  box-sizing:border-box;
}
.tfl-checkout-date-icon{font-size:18px;line-height:1;}
.tfl-checkout-date-value{
  flex:1;
  color:#2D1306;
  font-size:14px;
  font-weight:700;
}
.tfl-checkout-date-change{
  border:0!important;
  background:transparent!important;
  color:#2D1306!important;
  padding:4px 6px!important;
  min-height:auto!important;
  font-size:12px!important;
  font-weight:700!important;
  text-decoration:underline;
  cursor:pointer;
  box-shadow:none!important;
}
.tfl-date-editing #tfl_delivery_date{
  display:block!important;
  width:100%;
  min-height:46px;
  margin-top:7px;
  border:1px solid #d9c0aa;
  border-radius:8px;
  padding:9px 11px;
  box-sizing:border-box;
}


/* v1.3.5 — product page shows estimated delivery only */
.tfl-product-date-box,
.tfl-selection-summary,
.tfl-rule-notice,
.tfl-rule-checkout-note,
.tfl-availability-strip,
.tfl-fulfilment-choice,
.tfl-time-choice{
  display:none !important;
}

.tfl-estimated-delivery-card{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:10px;
  margin:12px 0 6px;
}
.tfl-estimated-main,
.tfl-estimated-method{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:76px;
  padding:14px;
  border:1px solid #ead7c2;
  border-radius:12px;
  background:#fffaf5;
  box-sizing:border-box;
}
.tfl-estimated-icon,
.tfl-method-icon{
  width:38px;
  height:38px;
  flex:0 0 38px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f5eadf;
  font-size:18px;
}
.tfl-estimated-kicker,
.tfl-estimated-method span:not(.tfl-method-icon){
  display:block;
  margin-bottom:3px;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#8b6d58;
}
.tfl-estimated-main strong,
.tfl-estimated-method strong{
  display:block;
  color:#2D1306;
  font-size:15px;
  line-height:1.35;
}
.tfl-estimated-main small{
  display:block;
  margin-top:2px;
  font-size:12px;
  color:#7a6557;
}
.tfl-estimated-note{
  margin:7px 2px 14px !important;
  font-size:12px;
  color:#7a6557;
}
@media(max-width:600px){
  .tfl-estimated-delivery-card{
    grid-template-columns:1fr;
  }
}


/* v1.3.7 — clear Pickup / Delivery checkout choices */
.tfl-order-type-professional .woocommerce-input-wrapper{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:8px;
}
.tfl-order-type-professional label.radio{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-width:145px;
  min-height:48px;
  margin:0 !important;
  padding:10px 18px !important;
  border:1px solid #dcc4ae;
  border-radius:10px;
  background:#fff;
  color:#2D1306;
  font-weight:700;
  cursor:pointer;
  box-sizing:border-box;
  transition:.2s ease;
}
.tfl-order-type-professional input[type="radio"]{
  margin-right:9px !important;
  accent-color:#2D1306;
}
.tfl-order-type-professional label.radio:has(input[type="radio"]:checked){
  border-color:#2D1306;
  background:#fff6ed;
  box-shadow:0 0 0 2px rgba(45,19,6,.08);
}
.tfl-order-type-help{
  margin:-4px 0 15px !important;
  font-size:12px;
  line-height:1.5;
  color:#755f50;
}
@media(max-width:480px){
  .tfl-order-type-professional .woocommerce-input-wrapper{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .tfl-order-type-professional label.radio{
    min-width:0;
    width:100%;
  }
}


/* v1.4.0 — checkout delivery section: true 2-column rows */
@media (min-width: 769px){
  #tfl-checkout-booking .tfl-checkout-date-time-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:14px 18px !important;
    align-items:start !important;
    width:100% !important;
    margin-top:12px !important;
  }

  #tfl-checkout-booking .tfl-checkout-date-col,
  #tfl-checkout-booking .tfl-checkout-time-col{
    min-width:0 !important;
  }

  #tfl-checkout-booking .tfl-checkout-date-col .form-row,
  #tfl-checkout-booking .tfl-checkout-time-col .form-row{
    width:100% !important;
    float:none !important;
    margin:0 !important;
  }

  #tfl-checkout-booking .tfl-checkout-date-col input,
  #tfl-checkout-booking .tfl-checkout-time-col select{
    width:100% !important;
    max-width:100% !important;
    min-height:46px !important;
    box-sizing:border-box !important;
  }

  #tfl-checkout-booking .tfl-checkout-prep-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:14px 18px !important;
    align-items:stretch !important;
    width:100% !important;
    margin-top:14px !important;
  }

  #tfl-checkout-booking .tfl-prep-col,
  #tfl-checkout-booking .tfl-notice-col{
    min-width:0 !important;
  }

  #tfl-checkout-booking .tfl-cart-prep,
  #tfl-checkout-booking .tfl-checkout-rule-notice,
  #tfl-checkout-booking .woocommerce-info{
    margin:0 !important;
    min-height:100% !important;
    box-sizing:border-box !important;
  }
}

@media (max-width:768px){
  #tfl-checkout-booking .tfl-checkout-date-time-grid,
  #tfl-checkout-booking .tfl-checkout-prep-grid{
    display:block !important;
  }

  #tfl-checkout-booking .tfl-checkout-time-col,
  #tfl-checkout-booking .tfl-notice-col{
    margin-top:12px !important;
  }
}


/* v1.4.2 — Mixed delivery date notice */
.tfl-mixed-date-note{
  margin:0 0 10px;
  padding:13px 15px;
  border:1px solid #e8cfaa;
  border-radius:10px;
  background:#fff4df;
  color:#5a3517;
  font-size:14px;
  line-height:1.55;
}
.tfl-mixed-date-note strong{
  color:#7a3d0d;
}


/* v1.4.4 — restore clear checkout availability notes */
.tfl-checkout-availability-note,
.tfl-checkout-final-note{
  margin:10px 0 0;
  padding:11px 13px;
  border:1px solid #ead7c2;
  border-radius:9px;
  background:#fff7ec;
  color:#5b3826;
  font-size:13px;
  line-height:1.5;
}
.tfl-checkout-final-note{
  background:#f8efe2;
  font-weight:500;
}
.tfl-checkout-availability-note strong,
.tfl-checkout-final-note strong{
  color:#4b2a18;
}
\n\n/* v1.4.5 - quantity control cleanup */\n.tfl-cart-wrap .quantity.buttons_added{\n  display:inline-flex!important;align-items:center!important;justify-content:center!important;\n  width:122px!important;min-width:122px!important;height:50px!important;padding:0!important;margin:0!important;\n  border:1px solid #d8c5aa!important;border-radius:8px!important;background:#fff!important;overflow:hidden!important;box-shadow:none!important;\n}\n.tfl-cart-wrap .quantity.buttons_added .tfl-qty-btn,\n.tfl-cart-wrap .quantity.buttons_added .minus,\n.tfl-cart-wrap .quantity.buttons_added .plus{\n  flex:0 0 38px!important;width:38px!important;min-width:38px!important;max-width:38px!important;\n  height:48px!important;min-height:48px!important;margin:0!important;padding:0!important;\n  border:0!important;border-radius:0!important;box-shadow:none!important;\n  background:#2d1306!important;color:#fff!important;font-size:20px!important;font-weight:700!important;line-height:48px!important;\n  display:inline-flex!important;align-items:center!important;justify-content:center!important;\n}\n.tfl-cart-wrap .quantity.buttons_added input.qty{\n  flex:0 0 46px!important;width:46px!important;min-width:46px!important;max-width:46px!important;height:48px!important;\n  margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;\n  color:#2d1306!important;text-align:center!important;font-size:16px!important;line-height:48px!important;\n}\n\n\n/* v1.4.6 mobile cart cleanup: use only the normal in-flow action buttons. */\n@media (max-width:640px){\n  .tfl-page{padding-bottom:24px!important;}\n  .tfl-mobile-buybar{display:none!important;}\n  .tfl-cart-wrap .quantity,\n  .tfl-cart-wrap .quantity.buttons_added{\n    width:132px!important;min-width:132px!important;max-width:132px!important;\n    height:48px!important;border-radius:8px!important;overflow:hidden!important;\n    margin:0 0 12px!important;\n  }\n  .tfl-cart-wrap .quantity.buttons_added .tfl-qty-btn,\n  .tfl-cart-wrap .quantity.buttons_added .minus,\n  .tfl-cart-wrap .quantity.buttons_added .plus{\n    flex:0 0 42px!important;width:42px!important;min-width:42px!important;max-width:42px!important;\n    height:46px!important;min-height:46px!important;line-height:46px!important;\n    border-radius:0!important;\n  }\n  .tfl-cart-wrap .quantity.buttons_added input.qty{\n    flex:0 0 48px!important;width:48px!important;min-width:48px!important;max-width:48px!important;height:46px!important;line-height:46px!important;\n  }\n}\n

/* v1.4.10 - Keep variation-updated price the same large size */
.tfl-price-wrap,
.tfl-price-wrap > *,
.tfl-price-wrap .price,
.tfl-price-wrap .price *,
.tfl-price-wrap .amount,
.tfl-price-wrap .woocommerce-Price-amount,
.tfl-price-wrap bdi {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 2.25rem !important;
    line-height: 1.12 !important;
    font-weight: 600 !important;
    color: var(--tfl-btn) !important;
}

.tfl-price-wrap .price {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
}

@media (max-width: 1100px) and (min-width: 769px) {
    .tfl-price-wrap,
    .tfl-price-wrap > *,
    .tfl-price-wrap .price,
    .tfl-price-wrap .price *,
    .tfl-price-wrap .amount,
    .tfl-price-wrap .woocommerce-Price-amount,
    .tfl-price-wrap bdi {
        font-size: 2rem !important;
    }
}

@media (max-width: 768px) {
    .tfl-price-wrap,
    .tfl-price-wrap > *,
    .tfl-price-wrap .price,
    .tfl-price-wrap .price *,
    .tfl-price-wrap .amount,
    .tfl-price-wrap .woocommerce-Price-amount,
    .tfl-price-wrap bdi {
        font-size: 1.55rem !important;
    }
}


/* v1.4.11 — Mobile/iPhone heading + gallery consistency */
.tfl-mobile-product-heading{
  display:none;
}

@media (max-width:768px){

  /* Product name must appear ABOVE gallery on all real mobile browsers. */
  .tfl-mobile-product-heading{
    display:block!important;
    width:100%!important;
    margin:0 0 18px!important;
    padding:0 4px!important;
    box-sizing:border-box!important;
    text-align:left!important;
  }

  .tfl-mobile-product-heading .tfl-breadcrumb-mini{
    display:block!important;
    margin:0 0 8px!important;
    font-size:10px!important;
    line-height:1.45!important;
    letter-spacing:.16em!important;
  }

  .tfl-mobile-product-heading .tfl-title{
    display:block!important;
    margin:0!important;
    font-size:2rem!important;
    line-height:1.15!important;
    text-align:left!important;
  }

  /* Avoid duplicated heading again below the image. */
  .tfl-summary > .tfl-breadcrumb-mini,
  .tfl-summary > .tfl-title{
    display:none!important;
  }

  /* iPhone/Safari: never let the thumbnail button stretch full width. */
  .tfl-thumbs{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:10px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    margin:0 0 4px!important;
    padding:0!important;
  }

  .tfl-thumbs .tfl-thumb{
    flex:0 0 64px!important;
    width:64px!important;
    min-width:64px!important;
    max-width:64px!important;
    height:64px!important;
    min-height:64px!important;
    max-height:64px!important;
    padding:0!important;
    margin:0!important;
    border-radius:5px!important;
    overflow:hidden!important;
  }

  .tfl-thumbs .tfl-thumb img{
    display:block!important;
    width:64px!important;
    min-width:64px!important;
    max-width:64px!important;
    height:64px!important;
    min-height:64px!important;
    max-height:64px!important;
    object-fit:cover!important;
  }

  /* If product has only one image, thumbnail is redundant.
     Hide it so iPhone never shows the wide cropped strip. */
  .tfl-thumbs-count-1{
    display:none!important;
  }

  .tfl-main-image-card{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
  }

  .tfl-main-image-wrap,
  .tfl-main-image-wrap img{
    width:100%!important;
    max-width:100%!important;
  }
}

@media (max-width:480px){
  .tfl-mobile-product-heading .tfl-title{
    font-size:1.85rem!important;
  }
}

/* v1.4.12 - Mobile gallery/details gap fix */
@media (max-width:768px){
 body.tfl-product-page .tfl-product-layout{row-gap:0!important;gap:0!important;}
 body.tfl-product-page .tfl-gallery,
 body.tfl-product-page .tfl-gallery-sticky,
 body.tfl-product-page .tfl-left,
 body.tfl-product-page .tfl-main-image-card,
 body.tfl-product-page .tfl-main-image-wrap{
   margin-bottom:0!important;padding-bottom:0!important;
 }
 body.tfl-product-page .tfl-summary{
   margin-top:0!important;padding-top:8px!important;
 }
 body.tfl-product-page .tfl-summary > *:first-child{margin-top:0!important;}
 body.tfl-product-page .tfl-price-wrap{margin-top:4px!important;}
}


/* v1.4.13 — Strong mobile blank-space removal */
@media (max-width:768px){
  body.tfl-product-page .tfl-product-layout{
    display:block!important;
    height:auto!important;
    min-height:0!important;
    grid-template-columns:none!important;
    gap:0!important;
    row-gap:0!important;
  }

  body.tfl-product-page .tfl-left-col,
  body.tfl-product-page .tfl-right-col{
    display:block!important;
    position:static!important;
    top:auto!important;
    align-self:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
  }

  body.tfl-product-page .tfl-gallery{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    gap:0!important;
  }

  body.tfl-product-page .tfl-main-image-card{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
  }

  body.tfl-product-page .tfl-main-image-wrap{
    width:100%!important;
    height:300px!important;
    min-height:0!important;
    max-height:300px!important;
    margin:0!important;
    padding:0!important;
  }

  body.tfl-product-page .tfl-main-image-wrap img{
    display:block!important;
    width:100%!important;
    height:300px!important;
    min-height:0!important;
    max-height:300px!important;
    margin:0!important;
    object-fit:cover!important;
  }

  body.tfl-product-page .tfl-right-col{
    margin-top:0!important;
  }

  body.tfl-product-page .tfl-summary{
    position:static!important;
    top:auto!important;
    align-self:auto!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:8px 4px 0!important;
  }

  body.tfl-product-page .tfl-rating-row:empty,
  body.tfl-product-page .tfl-summary > .tfl-rating-row:has(.tfl-stars:empty){
    display:none!important;
    margin:0!important;
    padding:0!important;
    height:0!important;
    min-height:0!important;
  }
}


/* v1.4.14 — Mobile duplicate heading/actions cleanup */
@media (max-width:768px){

  /* Safety: no second fixed Add to Cart / Buy Now bar. */
  body.single-product .tfl-mobile-buybar,
  body.tfl-product-page .tfl-mobile-buybar{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    height:0!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
  }

  /* Remove the theme/Bakevo page-title hero that prints the product name
     above our custom product layout. Keep our .tfl-mobile-product-heading. */
  body.single-product .page-header:not(.tfl-mobile-product-heading),
  body.single-product .page-title-area,
  body.single-product .page-title-bar,
  body.single-product .bakevo-page-title,
  body.single-product .breadcrumb-area,
  body.single-product .breadcrumbs-area,
  body.single-product .site-breadcrumb,
  body.single-product .page-breadcrumb,
  body.single-product .woocommerce-breadcrumb-wrapper{
    display:none!important;
    margin:0!important;
    padding:0!important;
    height:0!important;
    min-height:0!important;
    overflow:hidden!important;
  }

  /* Our one heading remains just above the gallery. */
  body.tfl-product-page .tfl-mobile-product-heading{
    display:block!important;
  }

  /* Only one in-flow cart action set. */
  body.tfl-product-page .tfl-cart-wrap{
    display:block!important;
  }
}


/* v1.4.15 — Mobile product name: show ONLY once, below image */
@media (max-width:768px){

  /* Remove the extra heading added above the image. */
  body.tfl-product-page .tfl-mobile-product-heading{
    display:none!important;
    visibility:hidden!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }

  /* Restore the normal product category + title inside summary,
     so the name appears once directly below the product image. */
  body.tfl-product-page .tfl-summary > .tfl-breadcrumb-mini{
    display:block!important;
    visibility:visible!important;
    height:auto!important;
    margin:10px 0 7px!important;
    padding:0!important;
  }

  body.tfl-product-page .tfl-summary > .tfl-title{
    display:block!important;
    visibility:visible!important;
    height:auto!important;
    margin:0 0 12px!important;
    padding:0!important;
    font-size:1.75rem!important;
    line-height:1.15!important;
    text-align:left!important;
  }

  /* Keep image-to-name spacing neat. */
  body.tfl-product-page .tfl-summary{
    padding-top:8px!important;
  }
}


/* v1.4.16 — Mobile image → name → price spacing cleanup */
@media (max-width:768px){

  body.tfl-product-page .tfl-main-image-card{
    margin-bottom:14px!important;
  }

  body.tfl-product-page .tfl-summary{
    padding:0 10px 14px!important;
    margin:0!important;
  }

  body.tfl-product-page .tfl-summary > .tfl-breadcrumb-mini{
    margin:0 0 7px!important;
    padding:0!important;
    font-size:9px!important;
    line-height:1.4!important;
    letter-spacing:.16em!important;
  }

  body.tfl-product-page .tfl-summary > .tfl-title{
    margin:0 0 14px!important;
    padding:0!important;
    font-size:1.55rem!important;
    line-height:1.18!important;
    font-weight:500!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }

  body.tfl-product-page .tfl-price-wrap{
    display:block!important;
    margin:0 0 10px!important;
    padding-top:0!important;
    font-size:1.5rem!important;
    line-height:1.15!important;
  }

  body.tfl-product-page .tfl-stock-badge,
  body.tfl-product-page .tfl-stock-status{
    margin-top:4px!important;
  }
}

@media (max-width:480px){
  body.tfl-product-page .tfl-summary > .tfl-title{
    font-size:1.42rem!important;
    margin-bottom:12px!important;
  }

  body.tfl-product-page .tfl-price-wrap{
    font-size:1.42rem!important;
  }
}


/* v1.4.17 — Reduce mobile heading-to-image blank gap */
@media (max-width:768px){

  body.single-product .tfl-mobile-product-heading,
  body.tfl-product-page .tfl-mobile-product-heading{
    margin-bottom:4px!important;
    padding-bottom:0!important;
  }

  body.single-product .tfl-product-layout,
  body.tfl-product-page .tfl-product-layout{
    margin-top:0!important;
    padding-top:0!important;
  }

  body.single-product .tfl-left-col,
  body.tfl-product-page .tfl-left-col,
  body.single-product .tfl-gallery,
  body.tfl-product-page .tfl-gallery,
  body.single-product .tfl-main-image-card,
  body.tfl-product-page .tfl-main-image-card{
    margin-top:0!important;
    padding-top:0!important;
  }

  /* Remove inherited empty vertical sizing before gallery on mobile */
  body.tfl-product-page .tfl-left-col{
    min-height:0!important;
    height:auto!important;
  }
}


/* v1.4.18 — HARD FIX: collapse the real blank space above gallery on mobile */
@media (max-width:768px){

  body.tfl-product-page main,
  body.tfl-product-page #primary,
  body.tfl-product-page .site-main,
  body.tfl-product-page .tfl-product-page,
  body.tfl-product-page .tfl-container{
    margin-bottom:0!important;
  }

  body.tfl-product-page .tfl-container{
    padding-top:0!important;
  }

  body.tfl-product-page .tfl-product-layout{
    display:block!important;
    margin-top:0!important;
    padding-top:0!important;
    gap:0!important;
    row-gap:0!important;
  }

  body.tfl-product-page .tfl-left-col{
    display:block!important;
    position:static!important;
    top:auto!important;
    margin-top:0!important;
    padding-top:0!important;
    height:auto!important;
    min-height:0!important;
  }

  body.tfl-product-page .tfl-gallery{
    display:block!important;
    position:static!important;
    top:auto!important;
    margin-top:0!important;
    padding-top:0!important;
    height:auto!important;
    min-height:0!important;
  }

  body.tfl-product-page .tfl-main-image-card{
    margin-top:0!important;
    padding-top:0!important;
  }

  /* Any spacer generated before the gallery must not reserve height. */
  body.tfl-product-page .tfl-left-col > :first-child,
  body.tfl-product-page .tfl-gallery > :first-child{
    margin-top:0!important;
  }

  /* The extra plugin mobile heading is intentionally hidden in v1.4.15+. */
  body.tfl-product-page .tfl-mobile-product-heading{
    display:none!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    margin:0!important;
    padding:0!important;
    line-height:0!important;
    overflow:hidden!important;
  }
}
