/* ═══════════════════════════════════════════════════
   BAKERY PAGE — all styles
   ═══════════════════════════════════════════════════ */

/* ── Category tabs ── */
.cat-tabs{display:flex;gap:.45rem;flex-wrap:wrap;padding:0 5% 1.6rem}
.cat-tab{padding:.42rem 1rem;border-radius:50px;border:1.5px solid var(--b);background:none;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;font-size:.78rem;font-weight:600;color:var(--m);transition:all .2s}
.cat-tab.active,.cat-tab:hover{border-color:var(--g);color:var(--g);background:var(--gl)}

/* ── Items sections ── */
.items-section{padding:0 5% 1.2rem;display:none}
.items-section.visible{display:block}
.is-title{font-family:'Bebas Neue',sans-serif;font-size:1.5rem;letter-spacing:1.5px;color:var(--t);margin-bottom:1.1rem;padding-bottom:.5rem;border-bottom:2px solid var(--gl);display:flex;align-items:center;gap:.55rem}

/* ── Product grid ── */
.items-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}

/* ── Product card ── */
.item-card{background:var(--w);border:1px solid var(--b);border-radius:16px;overflow:hidden;transition:transform .3s,box-shadow .3s;cursor:pointer;display:flex;flex-direction:column}
.item-card:hover{transform:translateY(-5px);box-shadow:0 12px 32px rgba(46,123,52,.12)}

/* Image wrapper */
.item-img-wrap{position:relative;overflow:hidden;height:160px;background:#f0f0f0;flex-shrink:0}
.item-img-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.item-card:hover .item-img-wrap img{transform:scale(1.08)}

/* Category badge on image */
.item-cat-badge{
  position:absolute;top:8px;left:8px;
  background:rgba(46,123,52,.88);color:#fff;
  font-size:.58rem;font-weight:800;padding:.18rem .6rem;
  border-radius:50px;letter-spacing:.4px;text-transform:uppercase;
  backdrop-filter:blur(4px);
}

/* Body */
.item-body{padding:.9rem;display:flex;flex-direction:column;flex:1}
.item-body h3{font-size:.84rem;font-weight:700;margin-bottom:.25rem;line-height:1.35;color:var(--t)}
.item-macros{font-size:.66rem;color:var(--m);line-height:1.5;margin-bottom:.6rem}

/* Price + unit on ONE line */
.item-price-row{display:flex;align-items:baseline;gap:.3rem;margin-bottom:.6rem}
.item-price{font-family:'Bebas Neue',sans-serif;font-size:1.2rem;color:var(--g);line-height:1}
.item-unit{font-size:.66rem;color:var(--m);font-weight:600}

/* Add to Cart button on its OWN line, full width */
.atc-btn{
  display:block;width:100%;
  background:var(--g);color:#fff;border:none;border-radius:8px;
  padding:.42rem 0;font-size:.72rem;font-weight:700;text-align:center;
  cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;
  transition:all .2s;margin-top:auto;
}
.atc-btn:hover{background:var(--g2);transform:translateY(-1px)}
.atc-btn:active{transform:scale(.97)}

/* ── Product detail overlay / modal ── */
.prod-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:500;
  display:none;align-items:flex-start;justify-content:center;
  padding:2rem 1rem;overflow-y:auto;
}
.prod-overlay.open{display:flex}
.prod-modal-wrap{position:relative;width:100%;max-width:860px;margin:auto}
.prod-modal{
  background:var(--w);border-radius:24px;overflow:hidden;
  animation:fadeIn .3s ease;
}

/* Modal layout */
.prod-modal-grid{display:grid;grid-template-columns:1fr 1fr}

/* Image panel */
.prod-img-panel{position:relative;overflow:hidden;min-height:320px;background:#f0f0f0}
.prod-img-panel img{width:100%;height:100%;object-fit:cover;display:block}
.prod-img-overlay{
  position:absolute;bottom:0;left:0;right:0;
  background:linear-gradient(transparent,rgba(0,0,0,.55));
  padding:1.5rem 1.2rem .9rem;
}
.prod-img-tag{
  display:inline-block;background:var(--g);color:#fff;
  font-size:.63rem;font-weight:800;padding:.22rem .75rem;
  border-radius:50px;text-transform:uppercase;letter-spacing:.5px;
}

/* Info panel */
.prod-info-panel{padding:2rem;display:flex;flex-direction:column}
.prod-info-panel h2{
  font-family:'Bebas Neue',sans-serif;font-size:1.9rem;
  letter-spacing:1.5px;color:var(--t);line-height:1.05;margin-bottom:.5rem;
}
.prod-price-line{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.3rem}
.prod-price-big{font-family:'Bebas Neue',sans-serif;font-size:2.6rem;color:var(--g);line-height:1}
.prod-unit-lbl{font-size:.8rem;color:var(--m);font-weight:600}
.prod-macros{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem}
.macro-pill{background:var(--gl);border:1px solid rgba(46,123,52,.15);padding:.25rem .75rem;border-radius:50px;font-size:.69rem;font-weight:700;color:var(--g)}
.prod-desc{font-size:.87rem;color:var(--m);line-height:1.75;margin-bottom:1.4rem;flex:1}

/* Qty + add to cart */
.qty-row{display:flex;align-items:center;gap:.8rem}
.qty-ctrl{display:flex;align-items:center;gap:.5rem;background:var(--gp);border:1.5px solid var(--b);border-radius:50px;padding:.28rem .45rem}
.qty-ctrl button{background:none;border:none;cursor:pointer;font-size:1rem;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:800;color:var(--g);transition:background .2s}
.qty-ctrl button:hover{background:var(--gl)}
.qty-ctrl span{font-weight:700;font-size:.9rem;min-width:20px;text-align:center}
.prod-atc-btn{
  flex:1;padding:.82rem 1.2rem;background:var(--g);color:#fff;
  border:none;border-radius:50px;font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:700;font-size:.88rem;cursor:pointer;transition:all .2s;
  box-shadow:0 4px 16px rgba(46,123,52,.25);
}
.prod-atc-btn:hover{background:var(--g2);transform:translateY(-1px)}

/* Close button */
.prod-close{
  position:absolute;top:1rem;right:1rem;z-index:10;
  background:rgba(0,0,0,.45);color:#fff;border:none;border-radius:50%;
  width:34px;height:34px;cursor:pointer;font-size:1rem;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s;
}
.prod-close:hover{background:rgba(0,0,0,.7)}

/* Related strip */
.related-strip{padding:1.4rem 2rem 1.6rem;border-top:1px solid var(--b);background:var(--gp)}
.related-strip h4{font-family:'Bebas Neue',sans-serif;font-size:1.2rem;letter-spacing:1.5px;margin-bottom:.9rem;color:var(--t)}
.related-row{display:flex;gap:.7rem;overflow-x:auto;padding-bottom:.3rem;scroll-snap-type:x mandatory}
.related-row::-webkit-scrollbar{height:4px}
.related-row::-webkit-scrollbar-thumb{background:var(--b);border-radius:2px}
.rel-card{
  flex:0 0 140px;background:var(--w);border:1px solid var(--b);
  border-radius:12px;overflow:hidden;cursor:pointer;
  transition:transform .25s,box-shadow .25s;scroll-snap-align:start;
}
.rel-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(46,123,52,.1)}
.rel-img{height:80px;overflow:hidden}
.rel-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.rel-card:hover .rel-img img{transform:scale(1.06)}
.rel-body{padding:.5rem .6rem}
.rel-body p{font-size:.68rem;font-weight:700;line-height:1.3;margin-bottom:.2rem;color:var(--t)}
.rel-body span{font-family:'Bebas Neue',sans-serif;font-size:1rem;color:var(--g)}

/* Toast */
#kc-toast{
  position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);
  background:#1a2e1a;color:#fff;padding:.65rem 1.4rem;border-radius:50px;
  font-size:.82rem;font-weight:600;z-index:9999;
  opacity:0;transition:opacity .3s;pointer-events:none;white-space:nowrap;
}

/* Note box */
.note-box{
  background:var(--gl);border:1px solid rgba(46,123,52,.2);border-radius:12px;
  padding:1rem 1.3rem;margin:0 5% 1.8rem;font-size:.83rem;
  color:var(--g);font-weight:600;display:flex;align-items:flex-start;gap:.55rem;
}

/* Responsive */
@media(max-width:960px){
  .items-grid{grid-template-columns:repeat(3,1fr)}
  .prod-modal-grid{grid-template-columns:1fr}
  .prod-img-panel{min-height:240px}
}
@media(max-width:700px){.items-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:420px){.items-grid{grid-template-columns:1fr 1fr}.item-macros{display: none;}}