: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.2rem;line-height:1.1;color:var(--tfl-btn);margin:10px 0 6px;}
.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:1.7rem;}
  .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.4rem;margin:6px 0;}
  .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;}
}
