/* Botanic Commerce v2.8 - scoped cart. Brand theme remains untouched. */
.bc28-page{background:#f8f6f1;min-height:60vh;padding:32px 0 86px;color:#243d2e;font-family:'DM Sans',Arial,sans-serif}
.bc28-container{width:min(1180px,calc(100% - 36px));margin:0 auto}
.bc28-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:0 0 24px;margin-bottom:25px;border-bottom:1px solid #e0e7dc}
.bc28-eyebrow{display:block;font-size:10px;font-weight:750;letter-spacing:.15em;color:#7b8a79;margin-bottom:9px}
.bc28-heading h1{margin:0;font:400 clamp(31px,3.4vw,45px)/1.12 Georgia,serif;color:#234734}
.bc28-heading-note{font-size:12px;color:#7d8c7c}
.bc28-columns{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.8fr);align-items:start;gap:38px}
.bc28-items{min-width:0}
.bc28-item{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;padding:18px 0;border-bottom:1px solid #e1e6df}
.bc28-item:first-child{padding-top:0}
.bc28-photo{display:block;background:#f0f1ec;aspect-ratio:4/4.8;overflow:hidden;border-radius:5px}
.bc28-photo img{width:100%;height:100%;object-fit:contain;display:block}
.bc28-no-image{display:grid;place-items:center;height:100%;font-size:10px;letter-spacing:.18em;color:#839484}
.bc28-item-body{min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:18px}
.bc28-item-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.bc28-product-name{display:block;color:#233e2e;font-weight:650;font-size:15px;line-height:1.5;text-decoration:none}
.bc28-product-name:hover{text-decoration:underline;text-underline-offset:3px}
.bc28-option{margin-top:6px;font-size:12px;color:#506e58;line-height:1.55}
.bc28-code{margin-top:5px;font-size:11px;color:#8a988c}
.bc28-line-price{font-size:15px;white-space:nowrap;color:#315c40}
.bc28-item-bottom{display:flex;gap:15px;align-items:end;justify-content:space-between}
.bc28-qty{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.bc28-qty-label{color:#667a68;font-size:12px}
.bc28-qty form{display:flex;align-items:center;gap:8px;margin:0}
.bc28-stepper{display:flex;align-items:center;height:37px;border:1px solid #d2ded0;background:#fffdfa;border-radius:5px}
.bc28-stepper button{width:34px;height:35px;border:0;background:transparent;cursor:pointer;font-size:18px;color:#2e5c3f}
.bc28-stepper input{width:41px;min-width:0;border:0!important;background:transparent;text-align:center;color:#254632;font-size:13px;font-weight:650;appearance:textfield;-moz-appearance:textfield;padding:0!important;margin:0!important;box-shadow:none!important}
.bc28-stepper input::-webkit-outer-spin-button,.bc28-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.bc28-update{height:37px;background:#edf3eb;border:1px solid #d4e1d1;border-radius:5px;padding:0 12px;color:#285038;font-size:12px;font-weight:700;cursor:pointer}
.bc28-remove{background:transparent;border:0;padding:7px 0;text-decoration:underline;text-underline-offset:3px;color:#7b8278;font-size:12px;cursor:pointer}
.bc28-continue{display:inline-block;margin-top:24px;color:#2e5c3f;font-weight:650;text-decoration:none;font-size:13px}
.bc28-summary{background:#fffdfa;border:1px solid #e1e7de;border-radius:12px;padding:24px;position:sticky;top:26px;box-shadow:0 7px 26px rgba(27,52,36,.035)}
.bc28-summary h2{font:400 25px/1.2 Georgia,serif;color:#214531;margin:0 0 22px}
.bc28-summary-row{display:flex;justify-content:space-between;gap:15px;padding:9px 0;color:#526c56;font-size:13px;line-height:1.5}
.bc28-summary-row strong{white-space:nowrap;color:#234531}
.bc28-summary-row span:last-child{text-align:right}
.bc28-total{border-top:1px solid #e0e7dd;margin-top:14px;padding:18px 0 4px;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:15px;font-weight:700}
.bc28-total strong{font-size:19px;color:#214c32;white-space:nowrap}
.bc28-summary-note{font-size:11px;line-height:1.6;color:#879387;margin:8px 0 19px}
.bc28-button{min-height:48px;border-radius:5px;display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;font-size:13px;font-weight:700;padding:13px 17px;transition:background-color .2s}
.bc28-button-primary{background:#2e5c3f;color:#fff!important}
.bc28-button-primary:hover{background:#1e4731;color:#fff}
.bc28-secure{display:flex;align-items:flex-start;gap:9px;margin-top:17px;color:#728373;font-size:11px;line-height:1.5}
.bc28-secure svg{width:17px;min-width:17px;height:17px;fill:none;stroke:#638270;stroke-width:1.8}
.bc28-empty{text-align:center;background:#fffdfa;border:1px solid #e1e8df;border-radius:12px;max-width:620px;padding:65px 26px;margin:0 auto}
.bc28-empty-icon{display:block;font:400 50px Georgia,serif;color:#879d86;margin-bottom:12px}
.bc28-empty h2{font:400 28px Georgia,serif;color:#214531;margin:0 0 12px}
.bc28-empty p{color:#798779;font-size:14px;line-height:1.7;margin:0 0 25px}
.bc28-empty .bc28-button{max-width:220px;margin:0 auto}
.bc28-page [role=alert]{margin:0 0 20px;padding:14px 18px!important;border:1px solid #edc5c0!important;background:#fff2ed;border-radius:7px!important;color:#903e32!important;font-size:13px}
.bc28-page button:focus-visible,.bc28-page a:focus-visible,.bc28-page input:focus-visible{outline:2px solid #2e5c3f;outline-offset:2px}
@media(max-width:900px){.bc28-columns{grid-template-columns:1fr;gap:28px}.bc28-summary{position:static}}
@media(max-width:540px){.bc28-page{padding-top:22px}.bc28-container{width:calc(100% - 26px)}.bc28-heading{margin-bottom:19px}.bc28-heading-note{display:none}.bc28-item{grid-template-columns:95px minmax(0,1fr);gap:13px}.bc28-item-top{display:block}.bc28-line-price{display:block;margin-top:12px}.bc28-item-bottom{flex-wrap:wrap;align-items:center}.bc28-summary{padding:20px}.bc28-qty{gap:7px}.bc28-product-name{font-size:13px}}
