.cldb{--brown:#2b160f;--cream:#fbf4e9;--gold:#b9793e;max-width:1180px;margin:35px auto;padding:34px;border-radius:28px;background:linear-gradient(145deg,#fffdf9,#f8eee1);border:1px solid #ead9c6;box-shadow:0 25px 70px rgba(67,37,20,.08);font-family:inherit}
.cldb-head{text-align:center;max-width:720px;margin:auto}.cldb-kicker{font-size:10px;letter-spacing:2px;color:var(--gold);font-weight:800}.cldb-head h2{font-size:34px;margin:9px 0;color:var(--brown)}.cldb-head p{color:#765f52;margin:0}
.cldb-progress{margin:28px auto;max-width:760px;text-align:center}.cldb-progress>div:first-child{font-size:14px;color:#665044}.cldb-count{font-size:26px;color:var(--brown)}.cldb-track{height:7px;background:#eadfD3;border-radius:99px;overflow:hidden;margin:9px 0}.cldb-track i{display:block;width:0;height:100%;background:linear-gradient(90deg,#6b351d,#c18449);transition:.35s}.cldb-progress small{color:#9a8171}
.cldb-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.cldb-card{position:relative;appearance:none;border:1px solid #e5d3c1;background:#fff;padding:22px 15px;border-radius:18px;cursor:pointer;text-align:center;transition:.25s;color:var(--brown)}.cldb-card:hover{transform:translateY(-4px);box-shadow:0 15px 28px rgba(57,29,15,.08)}.cldb-bean{display:flex;width:52px;height:52px;border-radius:50%;margin:0 auto 12px;align-items:center;justify-content:center;background:#f5e8d8;font-size:24px}.cldb-card strong,.cldb-card small,.cldb-card em{display:block}.cldb-card strong{font-size:15px}.cldb-card small{color:#a17d64;margin-top:4px}.cldb-card em{font-style:normal;font-size:11px;margin-top:11px;color:#9c7357}.cldb-check{position:absolute;top:10px;left:10px;width:25px;height:25px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eee2d5;color:#fff;opacity:.35}.cldb-card.is-selected{background:var(--brown);color:#fff;border-color:var(--brown);transform:translateY(-3px)}.cldb-card.is-selected small,.cldb-card.is-selected em{color:#dfc5b1}.cldb-card.is-selected .cldb-check{background:#c38a51;opacity:1}
.cldb-box{margin-top:28px;background:linear-gradient(135deg,#2b170f,#180d09);border-radius:24px;padding:25px;display:grid;grid-template-columns:1.5fr .8fr;gap:25px;color:#fff}.cldb-box-art{border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:18px;background:radial-gradient(circle at 50% 0,rgba(188,122,62,.14),transparent 48%)}.cldb-lid{text-align:center;font-size:10px;letter-spacing:3px;color:#d7a16e;margin-bottom:15px}.cldb-slots{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.cldb-slot{min-height:86px;border:1px dashed rgba(255,255,255,.18);border-radius:14px;padding:12px;display:flex;flex-direction:column;justify-content:center;position:relative}.cldb-slot span{position:absolute;top:8px;left:10px;color:#9b765e;font-size:10px}.cldb-slot b{font-size:13px;color:#8f7b70}.cldb-slot small{font-size:9px;color:#77665e;margin-top:4px}.cldb-slot.filled{border-style:solid;border-color:rgba(204,145,88,.45);background:rgba(185,121,62,.08)}.cldb-slot.filled b{color:#f4dfca}.cldb-summary{display:flex;flex-direction:column;justify-content:center}.cldb-summary>span{font-size:10px;color:#bd8b61}.cldb-summary h3{font-size:23px;margin:7px 0 12px}.cldb-price{font-size:19px;margin-bottom:14px}.cldb-add{border:0;border-radius:13px;padding:14px 16px;background:#c48b52;color:#1e100b;font-weight:800;cursor:pointer}.cldb-add:disabled{opacity:.4;cursor:not-allowed}.cldb-msg{min-height:24px;margin-top:9px;font-size:12px;color:#e6c7a8}.cldb-msg a{color:#fff}.cldb-alert{padding:20px;background:#fff2df;border-radius:14px;text-align:center}
@media(max-width:900px){.cldb-grid{grid-template-columns:repeat(2,1fr)}.cldb-box{grid-template-columns:1fr}.cldb{padding:20px}.cldb-head h2{font-size:27px}}
@media(max-width:520px){.cldb-grid{grid-template-columns:1fr 1fr;gap:8px}.cldb-card{padding:16px 8px}.cldb-slots{grid-template-columns:1fr}.cldb{border-radius:18px;margin:15px auto;padding:14px}}

/* v1.1 WooCommerce product cards */
.cldb-product-image{
  display:block;
  aspect-ratio:1/1;
  width:100%;
  overflow:hidden;
  border-radius:14px;
  background:#f7efe6;
  margin-bottom:12px;
}
.cldb-product-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .3s ease;
}
.cldb-card:hover .cldb-product-image img{transform:scale(1.05)}
.cldb-card.is-selected .cldb-product-image{box-shadow:0 0 0 2px #c38a51}
.cldb-product-price{
  display:block;
  margin-top:8px;
  font-size:12px;
  font-weight:800;
  color:#8a5a35;
}
.cldb-card.is-selected .cldb-product-price{color:#e5b784}
.cldb-card{
  padding:10px 10px 16px;
}
.cldb-card strong{padding:0 4px}

.cldb-add.is-active{
  opacity:1!important;
  box-shadow:0 10px 28px rgba(196,139,82,.24);
  transform:translateY(-1px);
}
.cldb-total-grams{font-variant-numeric:tabular-nums}

/* v1.4 Pack naming + packaging preview */
.cldb-naming{
  margin:22px 0;
  padding:22px;
  border:1px solid #ead8c3;
  border-radius:22px;
  background:linear-gradient(135deg,#fffaf4,#f8ecdf);
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  align-items:center;
}
.cldb-naming-copy span{font-size:11px;letter-spacing:2px;color:#a56d3f;font-weight:800}
.cldb-naming-copy h3{margin:6px 0;font-size:22px;color:#2b160e}
.cldb-naming-copy p{margin:0;color:#7a675d;font-size:13px}
.cldb-name-field{position:relative}
.cldb-pack-name{
  width:100%;height:58px;border:1px solid #ddc3a9;border-radius:16px;background:#fff;
  padding:0 18px;font-size:16px;font-weight:800;outline:none;color:#2b160e;
}
.cldb-pack-name:focus{border-color:#b77a43;box-shadow:0 0 0 4px rgba(183,122,67,.10)}
.cldb-name-field small{position:absolute;left:14px;bottom:7px;color:#a28b7e;font-size:10px}

.cldb-package-preview{
  min-width:310px;
  perspective:900px;
  padding:10px;
}
.cldb-package-lid{
  min-height:125px;
  border-radius:18px 18px 8px 8px;
  background:linear-gradient(145deg,#4b2718,#1d0d08);
  border:1px solid rgba(210,150,92,.45);
  box-shadow:0 18px 30px rgba(0,0,0,.24);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  transform:rotateX(-7deg);
  transform-origin:bottom;
}
.cldb-package-brand{font-size:10px;letter-spacing:4px;color:#d6a066}
.cldb-package-lid strong{font-size:22px;color:#fff4e8;margin:9px 0 3px;text-align:center}
.cldb-package-lid small{font-size:9px;letter-spacing:2px;color:#b98a66}
.cldb-package-body{
  margin-top:5px;padding:13px;border-radius:8px 8px 18px 18px;
  background:linear-gradient(145deg,#25110b,#3c1e13);
  border:1px solid rgba(210,150,92,.3);
  display:grid;grid-template-columns:1fr 1fr;gap:8px;
  box-shadow:0 20px 35px rgba(0,0,0,.25);
}
.cldb-pack-bag{
  min-height:66px;border-radius:10px;border:1px dashed rgba(216,163,109,.32);
  display:flex;align-items:center;gap:8px;padding:10px;color:#8f7465;background:rgba(0,0,0,.08)
}
.cldb-pack-bag b{font-size:10px;color:#a87850}
.cldb-pack-bag span{font-size:11px;line-height:1.5}
.cldb-pack-bag.has-coffee{
  border-style:solid;border-color:#9b653a;color:#f5e3d1;
  background:linear-gradient(135deg,#57301f,#2b140d);
}
.cldb-package-caption{text-align:center;color:#ad8c78;font-size:10px;margin-top:10px}
@media(max-width:760px){
  .cldb-naming{grid-template-columns:1fr}
  .cldb-package-preview{min-width:0;width:100%}
  .cldb-package-lid strong{font-size:18px}
}
