/* =========================================================
   Balyambolu v1.1.1
   Category recovery + cart/checkout production refinements
   ========================================================= */

/* ---------------- CATEGORY LANDING ---------------- */
.bal-category-seo-hero{
  padding:72px 0 64px;
  background:linear-gradient(135deg,#eef6eb 0%,#fbf7ef 52%,#f4eef8 100%);
  border-bottom:1px solid #e8e0d5;
}
.bal-category-seo-hero h1{
  max-width:720px;
  font-family:"Lora",serif;
  font-size:clamp(46px,5vw,72px);
  line-height:1.02;
  color:#24482c;
  margin:12px 0 20px;
}
.bal-category-intro{
  max-width:700px;
  font-size:17px;
  line-height:1.75;
  color:#556459;
}
.bal-category-intro p:last-child{margin-bottom:0}
.bal-category-seo-hero .col-lg-6:last-child img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:30px;
  box-shadow:0 24px 60px rgba(38,69,43,.15);
}

/* ---------------- CART ---------------- */
.bal-cart-page-v111{padding-top:54px}
.bal-cart-sheet-v111{overflow:hidden}
.bal-cart-sheet-v111 .bal-cart-sheet-body{padding:0 28px}
.bal-cart-item-v111{
  display:grid;
  grid-template-columns:128px minmax(0,1fr) 230px;
  gap:24px;
  align-items:center;
  padding:28px 0;
  border-bottom:1px solid #eee6dc;
}
.bal-cart-item-v111:last-child{border-bottom:0}
.bal-cart-image-v111{
  display:block;
  width:128px;
  height:128px;
  border-radius:20px;
  overflow:hidden;
  background:#f5f1e9;
  border:1px solid #ebe3d8;
}
.bal-cart-image-v111 img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.bal-cart-info-v111{min-width:0}
.bal-cart-info-v111 h2{
  margin:5px 0 12px;
  font-family:"Lora",serif;
  font-size:28px;
  line-height:1.18;
  color:#294c30;
}
.bal-cart-info-v111 h2 a{color:inherit}
.bal-cart-meta-v111{
  display:flex;
  gap:9px 16px;
  flex-wrap:wrap;
  color:#6b776d;
  font-size:13px;
}
.bal-cart-meta-v111 span{display:inline-flex;align-items:center;gap:6px}
.bal-cart-meta-v111 .is-stock{color:#34733b;font-weight:800}
.bal-cart-delivery{
  display:flex;
  align-items:center;
  gap:8px;
  margin:10px 0 0;
  font-size:13px;
  color:#68756a;
}
.bal-cart-purchase-v111{
  padding:18px;
  border:1px solid #e7dfd3;
  border-radius:20px;
  background:#fbfaf7;
}
.bal-cart-price-row-v111,
.bal-cart-total-row-v111{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.bal-cart-price-row-v111 span,
.bal-cart-total-row-v111 span,
.bal-cart-qty-row-v111>span{
  font-size:12px;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#879087;
  font-weight:800;
}
.bal-cart-price-row-v111 strong{font-size:19px;color:#315f38}
.bal-cart-qty-row-v111{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:12px;
  align-items:center;
  margin:16px 0;
  padding:16px 0;
  border-top:1px solid #e9e1d6;
  border-bottom:1px solid #e9e1d6;
}
.bal-cart-qty-row-v111 .bal-quantity-control{height:48px}
.bal-cart-total-row-v111 strong{font-size:24px;color:#315f38}
.bal-order-summary-v111>.bal-summary-highlight,
.bal-order-summary-v111>.bal-grand-total,
.bal-order-summary-v111>.bal-payment-logo-row{
  display:block!important;
}
.bal-order-summary-v111 .bal-grand-total{
  display:flex!important;
}
.bal-cart-recommendations{padding-top:72px}

/* ---------------- CHECKOUT ---------------- */
.bal-checkout-page{padding-top:54px}
.bal-checkout-page .row.align-items-start{--bs-gutter-x:28px}
.bal-checkout-card{
  padding:30px;
  border-radius:24px;
  border:1px solid #e7dfd4;
  box-shadow:0 14px 38px rgba(40,61,34,.06);
}
.bal-checkout-card h2{
  font-size:36px;
  line-height:1.08;
}
.bal-checkout-card .form-control{
  width:100%;
  font-size:15px;
  line-height:1.4;
}
.bal-payment-methods{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.bal-payment-methods:has(label:only-child){grid-template-columns:1fr}
.bal-payment-methods label{
  position:relative;
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:center!important;
  min-height:128px;
  padding:20px!important;
  margin:0!important;
  border:1px solid #ddd5ca;
  border-radius:18px;
  background:#fff;
  cursor:pointer;
}
.bal-payment-methods label>input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
.bal-payment-methods label>span:last-child{
  display:block!important;
  min-width:0!important;
}
.bal-payment-methods label strong{
  display:block;
  font-size:17px;
  line-height:1.3;
  color:#294c30;
}
.bal-payment-methods label small{
  display:block;
  margin-top:6px;
  font-size:13px;
  line-height:1.55;
  color:#657168;
}
.bal-payment-methods label em{
  display:inline-flex;
  align-items:center;
  margin-top:10px;
  padding:5px 9px;
  border-radius:999px;
  background:#f4eef8;
  color:#74558f;
  font-size:11px;
  font-weight:900;
  font-style:normal;
}
.bal-payment-methods label:has(input:checked){
  border-color:#77589a;
  box-shadow:0 0 0 3px rgba(119,88,154,.10);
  background:linear-gradient(135deg,#fff 0%,#fbf8fd 100%);
}
.bal-payment-icon{
  width:54px;
  height:54px;
  border-radius:50%;
  background:#edf5e9;
  color:#315f38;
  display:grid;
  place-items:center;
  font-size:19px;
}

.bal-checkout-summary-pro{
  position:sticky;
  top:140px;
  padding:26px!important;
}
.bal-checkout-summary-pro>.bal-checkout-products,
.bal-checkout-summary-pro>.bal-grand-total,
.bal-checkout-summary-pro>.bal-agreements-card,
.bal-checkout-summary-pro>.bal-secure-note,
.bal-checkout-summary-pro>.bal-payment-logo-row{
  display:block!important;
}
.bal-checkout-summary-pro>.bal-grand-total{
  display:flex!important;
}
.bal-checkout-products.pro>div{
  display:grid!important;
  grid-template-columns:56px minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:center!important;
}
.bal-checkout-products.pro span{min-width:0}
.bal-checkout-products.pro strong{
  display:block;
  overflow-wrap:anywhere;
}
.bal-agreements-card{
  display:block!important;
  margin:20px 0!important;
  padding:16px 18px!important;
  border:1px solid #e9e1d6!important;
  border-radius:18px!important;
  background:#fbfaf7!important;
}
.bal-agreements-card label{
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:start!important;
  width:100%!important;
  margin:0!important;
  padding:11px 0!important;
  border-bottom:1px dashed #e8dfd4!important;
  font-size:12px!important;
  line-height:1.55!important;
  color:#566159!important;
}
.bal-agreements-card label:last-child{border-bottom:0!important}
.bal-agreements-card input{
  width:16px!important;
  height:16px!important;
  margin:2px 0 0!important;
  flex:0 0 auto!important;
}
.bal-agreements-card label span{
  display:block!important;
  min-width:0!important;
  overflow-wrap:anywhere!important;
}
.bal-checkout-summary-pro .theme-btn{
  min-height:54px;
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:9px;
  font-size:15px;
}
.bal-secure-note.pro{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
}
.bal-payment-logo-row{
  display:block!important;
}
.bal-payment-logo-row>div{
  display:flex!important;
  gap:7px!important;
  flex-wrap:wrap!important;
  padding:0!important;
}

/* Old generic summary selector reset */
.bal-order-summary.bal-order-summary-v111>div,
.bal-order-summary.bal-checkout-summary-pro>div{
  width:100%;
}

/* ---------------- RESPONSIVE ---------------- */
@media(max-width:1199px){
  .bal-cart-item-v111{grid-template-columns:116px minmax(0,1fr) 220px}
  .bal-cart-image-v111{width:116px;height:116px}
  .bal-cart-info-v111 h2{font-size:25px}
  .bal-checkout-summary-pro{position:static}
}

@media(max-width:991px){
  .bal-cart-item-v111{
    grid-template-columns:110px minmax(0,1fr);
    align-items:start;
  }
  .bal-cart-image-v111{width:110px;height:110px}
  .bal-cart-purchase-v111{grid-column:1/-1}
  .bal-cart-price-row-v111,
  .bal-cart-total-row-v111{justify-content:space-between}
  .bal-payment-methods{grid-template-columns:1fr}
}

@media(max-width:767px){
  .bal-category-seo-hero{padding:50px 0 42px}
  .bal-category-seo-hero h1{font-size:40px}
  .bal-category-intro{font-size:15px}
  .bal-cart-page-v111,.bal-checkout-page{padding-top:38px}
  .bal-cart-sheet-v111 .bal-cart-sheet-body{padding:0 20px}
  .bal-cart-item-v111{grid-template-columns:1fr;gap:16px}
  .bal-cart-image-v111{width:100%;height:auto;aspect-ratio:1/1}
  .bal-cart-info-v111 h2{font-size:27px}
  .bal-cart-purchase-v111{grid-column:auto}
  .bal-cart-qty-row-v111{grid-template-columns:1fr}
  .bal-cart-stagebar{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
  .bal-cart-stagebar span{padding:10px 7px;font-size:11px;justify-content:center}
  .bal-checkout-card{padding:22px}
  .bal-checkout-card h2{font-size:30px}
  .bal-checkout-steps.pro{grid-template-columns:1fr;gap:8px}
  .bal-checkout-steps.pro i{display:none}
  .bal-payment-methods label{grid-template-columns:48px minmax(0,1fr)!important;padding:16px!important}
  .bal-payment-icon{width:48px;height:48px}
  .bal-checkout-summary-pro{padding:20px!important}
}
