
:root{
  --green-950:#0a2c1e;
  --green-900:#10462e;
  --green-800:#17633f;
  --green-700:#1f7a4d;
  --green-600:#2a965f;
  --green-100:#e8f5ed;
  --cream:#fffdf7;
  --ink:#172019;
  --muted:#68736b;
  --line:#dbe6df;
  --warn:#9a6200;
  --warn-bg:#fff5d8;
  --danger:#9c2323;
  --danger-bg:#fdeaea;
  --ok:#17633f;
  --ok-bg:#e8f5ed;
}
*{box-sizing:border-box}
body{margin:0;background:#f3f7f4;color:var(--ink);font-family:Arial,Helvetica,sans-serif}
.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:linear-gradient(135deg,var(--green-950),var(--green-700));color:white;box-shadow:0 3px 14px #0002}
.brand{font-size:24px;font-weight:900;letter-spacing:.5px}
.subbrand{font-size:14px;opacity:.92}
.clear-btn{border:2px solid #fff;background:#fff;color:var(--green-900);font-weight:900;border-radius:10px;padding:10px 12px}
.app-shell{max-width:920px;margin:0 auto;padding:16px}
.hero{background:white;border-radius:18px;padding:18px;margin-bottom:14px;border:1px solid var(--line)}
.hero h1{margin:0 0 6px;font-size:28px}
.hero p{margin:0;color:var(--muted);line-height:1.45}
.tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px;position:sticky;top:74px;z-index:9;background:#f3f7f4;padding:8px 0}
.tab{border:0;border-radius:12px;padding:12px 8px;background:#fff;color:var(--green-900);font-weight:800;box-shadow:0 1px 4px #0001}
.tab.active{background:var(--green-800);color:#fff}
#basketCount{display:inline-block;min-width:20px;padding:2px 5px;border-radius:999px;background:#ffffff22}
.panel{display:none}
.active-panel{display:block}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 0 10px}
.section-heading h2,.panel h2{margin:0}
.tier-pill{background:var(--green-100);color:var(--green-900);padding:7px 10px;border-radius:999px;font-size:13px;font-weight:800}
.product-list{display:grid;gap:10px}
.product{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;background:white;border:1px solid var(--line);border-radius:14px;padding:13px}
.product-title{font-size:17px;font-weight:900}
.product-meta{font-size:13px;color:var(--muted);margin-top:3px}
.qty{display:grid;grid-template-columns:42px 70px 42px;gap:6px}
.qty button{border:0;background:var(--green-800);color:#fff;font-size:24px;border-radius:10px;font-weight:900}
.qty input{width:70px;border:2px solid var(--line);border-radius:10px;text-align:center;font-size:20px;font-weight:900;padding:8px 5px}
.search{width:100%;padding:13px;border:2px solid var(--line);border-radius:12px;font-size:16px;margin-bottom:10px}
.sack-list{display:grid;gap:8px}
.sack{display:flex;justify-content:space-between;gap:14px;background:white;border:1px solid var(--line);border-radius:12px;padding:13px;font-weight:800}
.sack span:last-child{color:var(--green-800);white-space:nowrap}
.basket-section,.delivery-card,form{background:white;border:1px solid var(--line);border-radius:16px;padding:14px;margin:12px 0}
.basket-section h3,.delivery-card h3{margin:0 0 10px;color:var(--green-900)}
.basket-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #edf2ee}
.basket-row:last-child{border-bottom:0}
.subtotal{text-align:right;font-weight:900;padding-top:10px}
.empty{color:var(--muted);padding:8px 0}
.delivery-title-row{display:flex;justify-content:space-between;align-items:center;gap:10px}
.delivery-badge{background:var(--green-100);color:var(--green-900);font-size:13px;font-weight:900;padding:7px 10px;border-radius:999px}
.fulfilment{margin:8px 0 12px}
.fulfilment label{display:inline-flex;gap:7px;margin-right:20px;font-weight:800}
.delivery-status{border-radius:12px;padding:12px;margin:8px 0;font-weight:800;line-height:1.4}
.delivery-status.neutral{background:#f2f4f2;color:#58625b}
.delivery-status.ok{background:var(--ok-bg);color:var(--ok)}
.delivery-status.warn{background:var(--warn-bg);color:var(--warn)}
.delivery-status.bad{background:var(--danger-bg);color:var(--danger)}
.delivery-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.delivery-summary div{background:#f7faf8;border:1px solid var(--line);border-radius:12px;padding:10px}
.delivery-summary span{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}
.delivery-summary strong{font-size:15px}
.grand-total{background:var(--green-950);color:white;border-radius:16px;padding:16px;margin:14px 0;display:grid;gap:10px}
.grand-total>div{display:flex;justify-content:space-between;align-items:center}
.grand-final{border-top:1px solid #ffffff33;padding-top:12px;margin-top:3px}
.grand-final strong{font-size:27px}
label{display:block;font-weight:800;margin-bottom:12px}
input,textarea{width:100%;margin-top:6px;padding:12px;border:2px solid var(--line);border-radius:10px;font:inherit;background:#fff}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hidden{display:none!important}
.notice{background:#fff7dc;border:1px solid #edd98e;border-radius:12px;padding:12px;margin:8px 0 14px;line-height:1.4}
.submit-btn{width:100%;border:0;border-radius:13px;background:var(--green-700);color:white;padding:15px;font-weight:900;font-size:17px}
.submit-btn:disabled{background:#9fac9f;cursor:not-allowed}
.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%) translateY(120px);background:#14291d;color:white;padding:12px 16px;border-radius:12px;transition:.2s;z-index:99;max-width:90%}
.toast.show{transform:translateX(-50%) translateY(0)}
@media(max-width:650px){
  .app-shell{padding:10px}
  .tabs{grid-template-columns:1fr 1fr;top:72px}
  .grid2,.delivery-summary{grid-template-columns:1fr}
  .product{grid-template-columns:1fr}
  .qty{grid-template-columns:48px 1fr 48px}
  .qty input{width:100%}
  .brand{font-size:20px}
}

.order-status-card{background:#fff;border:2px solid var(--green-700);border-radius:16px;padding:15px;margin:14px 0}
.order-status-card h3{margin:0 0 8px;color:var(--green-900)}
.status-reference{font-weight:900;font-size:18px}
.status-main{font-size:23px;font-weight:900;color:var(--green-800);margin:6px 0}
.status-message{line-height:1.45;color:var(--muted)}

.call-pay-btn{display:block;margin-top:12px;text-align:center;text-decoration:none;background:var(--green-700);color:#fff;font-weight:900;padding:14px 16px;border-radius:12px;font-size:17px}
.add-basket-btn{border:0;background:var(--green-700);color:#fff;font-weight:900;border-radius:10px;padding:11px 14px;white-space:nowrap}
.product-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.added-note{font-size:12px;color:var(--green-800);font-weight:800}
@media(max-width:650px){.product-actions{justify-content:stretch}.add-basket-btn{width:100%}}

/* v4.1 - clearer product prices */
.price-highlight{
  font-size:18px;
  font-weight:900;
  color:#111;
}
@media (max-width:600px){
  .price-highlight{font-size:19px;}
}

/* v5 full-control polish */
.product-info-wrap{display:flex;align-items:center;gap:12px;min-width:0}
.product-thumb{width:66px;height:66px;object-fit:cover;border-radius:12px;border:1px solid var(--line);background:#f4f7f4;flex:0 0 auto}
.order-history-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px;margin:14px 0}
.order-history-card h3{margin:0 0 10px;color:var(--green-900)}
.history-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid var(--line)}
.history-card:first-child{border-top:0}
.history-card span{color:var(--muted);font-size:14px;font-weight:700}
.tab,.clear-btn,.submit-btn,.add-basket-btn,.call-pay-btn{min-height:48px;white-space:normal;line-height:1.15}
.product-title{overflow-wrap:anywhere}
@media(max-width:650px){
  .product-thumb{width:58px;height:58px}
  .tab{font-size:14px;padding:10px 6px}
  .clear-btn{font-size:12px;padding:8px 10px}
  .add-basket-btn,.submit-btn,.call-pay-btn{font-size:17px;min-height:52px}
}

.order-limit-note{
  margin:12px 0 16px;
  padding:10px 14px;
  font-size:15px;
  font-weight:700;
  text-align:center;
  background:#f4f7f4;
  border:1px solid #cfd8cf;
  border-radius:10px;
}


/* v6.4 mobile layout + tap zoom fixes */
.fulfilment{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:12px 0 16px;
}
.fulfilment label{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:0;
  min-height:52px;
  padding:10px 12px;
  border:2px solid var(--line);
  border-radius:12px;
  background:#fff;
  font-weight:900;
  text-align:center;
}
.fulfilment input[type="radio"]{
  width:22px !important;
  height:22px;
  margin:0 !important;
  padding:0;
  flex:0 0 22px;
  accent-color:var(--green-700);
}

.qty button,
.add-basket-btn,
.tab,
.clear-btn,
.submit-btn,
.call-pay-btn{
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  user-select:none;
  -webkit-user-select:none;
}
.qty button{
  min-width:48px;
  min-height:48px;
  line-height:1;
}
.qty input{
  font-size:20px !important;
  min-height:48px;
}

@media(max-width:650px){
  .fulfilment{
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  .fulfilment label{
    min-height:56px;
    font-size:17px;
  }
  .delivery-title-row{
    align-items:flex-start;
  }
}

/* v6.5 - Chunks + 5L Deodorisers / Disinfectants */
.category-note{
  margin:0 0 12px;
  padding:10px 12px;
  border-radius:10px;
  background:#f4f7f4;
  border:1px solid var(--line);
  font-weight:800;
  text-align:center;
}
@media(max-width:700px){
  .tabs{display:flex;flex-wrap:wrap;gap:8px;}
  .tabs .tab{flex:1 1 calc(50% - 8px);min-width:135px;}
}

.requested-date-box{margin-top:12px}
.requested-date-box label{display:block;font-weight:700}
.requested-date-box input[type="date"]{width:100%;margin-top:6px}
.date-help{font-size:.88rem;color:#66736b;margin-top:6px;line-height:1.35}

.delivery-days-banner{
  margin:0 0 12px;
  padding:14px 15px;
  border:2px solid #176b43;
  border-radius:14px;
  background:#eef8f1;
  color:#123c28;
}
.delivery-days-title{
  font-weight:900;
  font-size:1rem;
  letter-spacing:.02em;
  margin-bottom:5px;
}
#deliveryDaysText{
  font-weight:800;
  line-height:1.35;
}
.delivery-days-banner.warning{
  border-color:#b7791f;
  background:#fff8e6;
  color:#6a4700;
}
.delivery-days-banner.error{
  border-color:#b42318;
  background:#fff1f0;
  color:#8a1c13;
}


/* v7.7 accessibility: larger date controls for easier reading/tapping */
.requested-date-box{
  margin-top:16px;
}
.requested-date-box label{
  display:block;
  font-size:1.15rem;
  font-weight:900;
  color:#153c29;
}
.requested-date-box input[type="date"]{
  width:100%;
  min-height:64px;
  margin-top:8px;
  padding:12px 14px;
  font-size:1.25rem;
  font-weight:800;
  line-height:1.2;
  border:3px solid #176b43;
  border-radius:14px;
  background:#fff;
  color:#111;
}
.requested-date-box input[type="date"]:focus{
  outline:4px solid rgba(35,138,89,.22);
  outline-offset:2px;
}
.requested-date-box input[type="date"]::-webkit-calendar-picker-indicator{
  width:32px;
  height:32px;
  padding:8px;
  cursor:pointer;
}
.date-help{
  font-size:1rem;
  line-height:1.45;
  margin-top:8px;
  color:#47554d;
  font-weight:700;
}
.delivery-days-banner{
  padding:16px 17px;
}
.delivery-days-title{
  font-size:1.12rem;
}
#deliveryDaysText{
  font-size:1.08rem;
  line-height:1.45;
}
@media(max-width:520px){
  .requested-date-box input[type="date"]{
    min-height:68px;
    font-size:1.3rem;
  }
}

/* v7.8 large custom calendar */
.calendar-label{
  display:block;
  font-size:1.25rem;
  font-weight:900;
  color:#153c29;
  margin-bottom:10px;
}
.big-calendar{
  width:100%;
  background:#fff;
  border:3px solid #176b43;
  border-radius:18px;
  padding:14px;
  box-sizing:border-box;
  margin-top:8px;
}
.big-calendar .cal-head{
  display:grid;
  grid-template-columns:54px 1fr 54px;
  align-items:center;
  gap:8px;
  margin-bottom:12px;
}
.big-calendar .cal-title{
  text-align:center;
  font-size:1.25rem;
  font-weight:900;
  color:#153c29;
}
.big-calendar .cal-nav{
  width:54px;
  height:54px;
  border:0;
  border-radius:14px;
  background:#176b43;
  color:#fff;
  font-size:1.7rem;
  font-weight:900;
  cursor:pointer;
}
.big-calendar .cal-weekdays,
.big-calendar .cal-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:7px;
}
.big-calendar .cal-weekdays div{
  text-align:center;
  font-size:.95rem;
  font-weight:900;
  color:#4a5a50;
  padding:6px 0;
}
.big-calendar .cal-day{
  min-height:56px;
  border:2px solid #d5ded8;
  border-radius:12px;
  background:#fff;
  color:#111;
  font-size:1.05rem;
  font-weight:900;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  padding:0;
}
.big-calendar .cal-day:hover{
  border-color:#176b43;
}
.big-calendar .cal-day.selected{
  background:#176b43;
  color:#fff;
  border-color:#176b43;
}
.big-calendar .cal-day.disabled{
  background:#e8ece9;
  color:#9aa39d;
  border-color:#e0e5e2;
  text-decoration:line-through;
  cursor:not-allowed;
  opacity:.72;
}
.big-calendar .cal-day.empty{
  visibility:hidden;
  pointer-events:none;
}
.big-calendar .cal-day.today:not(.disabled){
  box-shadow:inset 0 0 0 3px #f2b705;
}
@media(max-width:520px){
  .big-calendar{
    padding:12px 8px;
    border-radius:16px;
  }
  .big-calendar .cal-grid,
  .big-calendar .cal-weekdays{
    gap:5px;
  }
  .big-calendar .cal-day{
    min-height:58px;
    font-size:1.08rem;
  }
  .big-calendar .cal-weekdays div{
    font-size:.84rem;
  }
  .big-calendar .cal-title{
    font-size:1.15rem;
  }
}

/* v7.9 checkout safety / accessibility */
.checkout-section-title{
  font-size:1.15rem;
  font-weight:900;
  color:#153c29;
  margin:0 0 10px;
}
.payment-choice{
  margin:16px 0;
  padding:15px;
  border:2px solid #176b43;
  border-radius:16px;
  background:#f6fbf8;
}
.payment-option{
  display:flex !important;
  gap:12px;
  align-items:flex-start;
  margin:10px 0 !important;
  padding:12px;
  background:#fff;
  border:2px solid #d6e2da;
  border-radius:14px;
  cursor:pointer;
}
.payment-option input{
  width:24px;
  height:24px;
  flex:0 0 auto;
  margin-top:2px;
}
.payment-option strong{font-size:1.05rem}
.payment-option small{font-size:.95rem;line-height:1.35;color:#4d5c53}
.minimum-progress{
  margin:14px 0;
  padding:14px 15px;
  border-radius:14px;
  font-weight:900;
  font-size:1.05rem;
  line-height:1.35;
}
.minimum-progress.ok{
  background:#edf9f0;
  color:#176b43;
  border:2px solid #176b43;
}
.minimum-progress.need{
  background:#fff7e3;
  color:#744f00;
  border:2px solid #d59a18;
}
.confirm-overlay{
  position:fixed;
  inset:0;
  z-index:99999;
  background:rgba(0,0,0,.72);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px;
  overflow:auto;
}
.confirm-overlay.hidden{display:none!important}
.confirm-card{
  width:min(680px,100%);
  max-height:94vh;
  overflow:auto;
  background:#fff;
  border-radius:22px;
  padding:20px;
  box-shadow:0 16px 60px rgba(0,0,0,.3);
}
.confirm-title{
  text-align:center;
  font-size:1.45rem;
  font-weight:1000;
  color:#153c29;
  margin-bottom:10px;
}
.confirm-mode{
  text-align:center;
  font-size:1.5rem;
  font-weight:1000;
  color:#176b43;
}
.confirm-date{
  text-align:center;
  font-size:1.5rem;
  font-weight:1000;
  color:#111;
  margin:6px 0 12px;
}
.confirm-payment{
  text-align:center;
  font-size:1.05rem;
  font-weight:900;
  padding:10px;
  background:#f3f8f5;
  border-radius:12px;
  margin-bottom:12px;
}
.confirm-summary,.confirm-items{
  font-size:1rem;
  line-height:1.45;
  border-top:1px solid #ddd;
  padding-top:12px;
  margin-top:12px;
}
.confirm-items .confirm-item{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:7px 0;
  border-bottom:1px solid #eee;
}
.confirm-total{
  text-align:right;
  font-size:1.4rem;
  font-weight:1000;
  margin:16px 0;
}
.confirm-warning{
  background:#fff7e3;
  border:2px solid #d59a18;
  border-radius:14px;
  padding:12px;
  font-weight:800;
  line-height:1.35;
}
.confirm-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:16px;
}
.confirm-actions button{
  min-height:58px;
  font-size:1rem;
  font-weight:900;
  border-radius:14px;
}
.confirm-submit[disabled]{
  opacity:.55;
  cursor:not-allowed;
}
@media(max-width:520px){
  .confirm-actions{grid-template-columns:1fr}
  .confirm-title,.confirm-mode,.confirm-date{font-size:1.3rem}
}

.collection-deadline-warning{
  margin:14px 0 4px;
  padding:16px 14px;
  border:3px solid #b42318;
  border-radius:16px;
  background:#fff0ef;
  color:#8a1c13;
  text-align:center;
  font-size:1.3rem;
  line-height:1.25;
  font-weight:1000;
  letter-spacing:.01em;
}
@media(max-width:520px){
  .collection-deadline-warning{
    font-size:1.18rem;
    padding:15px 12px;
  }
}

/* v7.13 clear delivery payment buttons */
.payment-choice{
  margin:18px 0;
  padding:16px;
  border:3px solid #176b43;
  border-radius:18px;
  background:#f4faf6;
}
.payment-choice .checkout-section-title{
  text-align:center;
  font-size:1.25rem;
  font-weight:1000;
  color:#153c29;
  margin-bottom:12px;
}
.payment-button{
  display:flex !important;
  width:100%;
  margin:12px 0 !important;
  padding:0 !important;
  border:3px solid #176b43;
  border-radius:16px;
  background:#fff;
  overflow:hidden;
  cursor:pointer;
  box-sizing:border-box;
}
.payment-button input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.payment-button-content{
  display:block;
  width:100%;
  padding:17px 16px;
  text-align:center;
  box-sizing:border-box;
}
.payment-button-title{
  display:block;
  font-size:1.15rem;
  font-weight:1000;
  color:#176b43;
  line-height:1.25;
}
.payment-button-desc{
  display:block;
  margin-top:6px;
  font-size:.98rem;
  font-weight:700;
  color:#34463a;
  line-height:1.35;
}
.payment-button.selected{
  background:#176b43;
  border-color:#0c4d2d;
  box-shadow:0 0 0 4px rgba(23,107,67,.18);
}
.payment-button.selected .payment-button-title,
.payment-button.selected .payment-button-desc{
  color:#fff;
}
.payment-choice-status{
  margin-top:10px;
  text-align:center;
  font-size:.95rem;
  font-weight:800;
  color:#8a1c13;
}
.payment-choice-status.selected{
  color:#176b43;
}

.payment-version{
  text-align:center;
  font-size:.85rem;
  font-weight:800;
  color:#176b43;
  margin:-5px 0 8px;
}

.quick-order-overlay{position:fixed;inset:0;z-index:100000;background:rgba(0,0,0,.72);display:flex;align-items:center;justify-content:center;padding:14px;overflow:auto}.quick-order-overlay.hidden{display:none!important}.quick-order-card{position:relative;width:min(620px,100%);max-height:94vh;overflow:auto;background:#fff;border-radius:24px;padding:22px 18px 18px;box-shadow:0 18px 70px rgba(0,0,0,.35)}.quick-order-close{position:absolute;top:10px;right:12px;width:46px;height:46px;border:0;border-radius:50%;background:#eef4f0;color:#153c29;font-size:2rem;line-height:1;font-weight:900}.quick-order-kicker{text-align:center;color:#176b43;font-size:.95rem;font-weight:1000;letter-spacing:.08em;margin-top:2px}.quick-order-title{text-align:center;color:#153c29;font-size:2rem;font-weight:1000;margin-top:3px}.quick-order-subtitle{text-align:center;color:#4c5b52;font-size:1rem;font-weight:700;line-height:1.4;margin:8px auto 16px;max-width:480px}.quick-order-btn{width:100%;min-height:72px;margin:10px 0;padding:13px 16px;border:3px solid #176b43;border-radius:16px;background:#fff;color:#153c29;display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:1.08rem;font-weight:1000;text-align:left}.quick-order-btn strong{flex:0 0 auto;min-width:92px;text-align:center;background:#176b43;color:#fff;border-radius:12px;padding:10px 12px;font-size:1.2rem}.quick-order-normal{width:100%;min-height:58px;margin-top:14px;border:2px solid #cbd5cf;border-radius:15px;background:#f5f7f6;color:#23332a;font-size:1rem;font-weight:900}.quick-order-note{margin-top:12px;text-align:center;color:#657168;font-size:.9rem;font-weight:700;line-height:1.35}.quick-order-summary{margin:12px 0;padding:12px 14px;border:2px solid #176b43;border-radius:14px;background:#eff8f2;color:#153c29;font-weight:900;line-height:1.35}@media(max-width:520px){.quick-order-card{padding:20px 14px 16px}.quick-order-title{font-size:1.7rem}.quick-order-btn{font-size:1rem;min-height:68px}.quick-order-btn strong{min-width:82px;font-size:1.08rem}}

/* v7.16 discount threshold success banner */
.discount-applied-banner{
  position:fixed;
  left:50%;
  top:18px;
  transform:translateX(-50%);
  z-index:120000;
  width:min(560px,calc(100% - 24px));
  display:flex;
  align-items:center;
  gap:13px;
  padding:15px 17px;
  box-sizing:border-box;
  border:3px solid #0d5a34;
  border-radius:17px;
  background:#176b43;
  color:#fff;
  box-shadow:0 10px 35px rgba(0,0,0,.28);
  animation:discountBannerIn .28s ease-out;
}
.discount-applied-banner.hidden{display:none!important}
.discount-applied-icon{
  flex:0 0 42px;
  width:42px;
  height:42px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:#176b43;
  font-size:1.55rem;
  font-weight:1000;
}
.discount-applied-title{
  font-size:1.05rem;
  line-height:1.1;
  font-weight:1000;
  letter-spacing:.04em;
}
.discount-applied-text{
  margin-top:3px;
  font-size:.96rem;
  line-height:1.3;
  font-weight:800;
}
@keyframes discountBannerIn{
  from{opacity:0;transform:translate(-50%,-18px)}
  to{opacity:1;transform:translate(-50%,0)}
}

/* v7.17 clean bulk discount guide */
.bulk-price-guide{
  margin:16px auto 20px;
  max-width:980px;
  padding:18px;
  border:2px solid #176b43;
  border-radius:18px;
  background:#f5faf7;
  box-sizing:border-box;
}
.bulk-price-guide-title{
  text-align:center;
  font-size:1.35rem;
  font-weight:1000;
  color:#153c29;
  letter-spacing:.03em;
}
.bulk-price-guide-sub{
  text-align:center;
  margin:4px 0 14px;
  color:#526158;
  font-size:.96rem;
  font-weight:700;
}
.bulk-price-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.bulk-price-card{
  background:#fff;
  border:1px solid #d6e3da;
  border-radius:14px;
  padding:13px 14px;
}
.bulk-price-heading{
  font-size:.96rem;
  font-weight:1000;
  color:#176b43;
  margin-bottom:8px;
}
.bulk-price-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:6px 0;
  border-top:1px solid #edf1ee;
  font-size:.95rem;
}
.bulk-price-row:first-of-type{border-top:0}
.bulk-price-row span{
  color:#38473e;
  font-weight:750;
}
.bulk-price-row strong{
  color:#153c29;
  font-size:1rem;
  white-space:nowrap;
}
.bulk-price-guide-note{
  margin-top:12px;
  text-align:center;
  color:#176b43;
  font-weight:900;
  font-size:.9rem;
}
@media(max-width:620px){
  .bulk-price-guide{
    margin:12px 10px 18px;
    padding:15px 12px;
  }
  .bulk-price-grid{
    grid-template-columns:1fr;
    gap:9px;
  }
  .bulk-price-card{
    padding:11px 12px;
  }
  .bulk-price-row{
    padding:5px 0;
  }
}

/* v7.18 Beds */
.bed-subtabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:10px 0 16px}.bed-subtab{border:2px solid #176b43;border-radius:14px;background:#fff;color:#153c29;padding:11px 8px;font-weight:900}.bed-subtab.active{background:#176b43;color:#fff}.bed-card{background:#fff;border:1px solid #d7e2da;border-radius:18px;padding:14px;margin:12px 0;box-shadow:0 4px 14px rgba(0,0,0,.06)}.bed-title{font-size:1.12rem;font-weight:1000;color:#153c29}.bed-meta{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 10px}.bed-chip{background:#eff7f2;border:1px solid #cfe0d5;color:#176b43;border-radius:999px;padding:5px 9px;font-size:.9rem;font-weight:850}.bed-gallery{position:relative;border-radius:14px;overflow:hidden;background:#f5f5f5}.bed-gallery img{display:block;width:100%;height:250px;object-fit:contain;background:#f5f5f5}.bed-arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;border-radius:50%;background:rgba(21,60,41,.9);color:#fff;font-size:1.5rem;font-weight:900}.bed-arrow.prev{left:8px}.bed-arrow.next{right:8px}.bed-controls{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin-top:11px}.bed-controls label{font-weight:850;color:#334239}.bed-controls select{display:block;width:100%;margin-top:5px;padding:10px;border:2px solid #cfdad3;border-radius:12px;background:#fff}.bed-add{min-height:46px;border:0;border-radius:12px;background:#176b43;color:#fff;padding:0 16px;font-weight:1000}.bed-note{margin-top:8px;color:#5d6961;font-size:.9rem;font-weight:700}.bed-limited{display:inline-block;margin-top:8px;background:#fff2d9;border:1px solid #f1cf87;color:#835500;border-radius:999px;padding:5px 9px;font-size:.85rem;font-weight:900}@media(max-width:520px){.bed-controls{grid-template-columns:1fr}.bed-add{width:100%}.bed-gallery img{height:220px}}

/* v7.19 contact and collection time */
.collection-time-box{margin:12px 0;padding:13px;border:1px solid #d6e5db;border-radius:13px;background:#f4faf6}
.collection-time-box label{display:block;margin-bottom:6px;color:#194e34;font-size:1rem}
.collection-time-box select{display:block;width:100%;box-sizing:border-box;padding:13px;border:2px solid #237a51;border-radius:11px;background:#fff;color:#143925;font-size:1.05rem;font-weight:750}
.collection-time-box select:disabled{opacity:.6}
