/* S5: Poppins globally via Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800;900&display=swap');

/* ── Overlay backdrop + blur (S1) ── */
#lm-ov{display:none;position:fixed;inset:0;z-index:99999;background:#fff;overflow-y:auto;}
#lm-ov.show{display:block;}

/* Full Screen page box */
#lm-box{background:#fff;border-radius:0;width:100vw;min-height:100vh;max-height:none;padding:24px 24px 60px;box-shadow:none;position:relative;font-family:'Poppins',sans-serif;margin:0 auto;max-width:800px;border-left:1px solid #e2ede4;border-right:1px solid #e2ede4;box-sizing:border-box;}

/* Close X */
#lm-x{position:absolute;top:20px;right:24px;background:none;border:none;cursor:pointer;font-size:2rem;color:#bbb;line-height:1;font-family:'Poppins',sans-serif;z-index:11;}
#lm-x:hover{color:#111;}

/* Logo + headline */
.lm-logo{text-align:center;margin-bottom:15px;display:block !important;visibility:visible !important;}
.lm-logo img{height:80px;object-fit:contain;transition:transform .2s;display:inline-block !important;visibility:visible !important;}
.lm-logo img:hover{transform:scale(1.03);}
.lm-hl{color:#1a3a22;font-size:clamp(.88rem,2vw,1.05rem);font-weight:700;text-align:center;margin-bottom:26px;}
.lm-hl span{color:#2e8b3f;}

/* Pages */
.lm-pg{display:none;flex-direction:column;align-items:center;width:100%;}
.lm-pg.on{display:flex;}

/* ── S1: Service grid with descriptions ── */
.lm-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;width:100%;}
.lm-card{background:#f8faf8;border:2px solid #e2ede4;border-radius:18px;padding:20px 14px 16px;text-align:center;cursor:pointer;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s;position:relative;}
.lm-card:hover{transform:translateY(-4px);background:#f0faf1;border-color:#4caf50;box-shadow:0 10px 28px rgba(46,139,63,0.14);}
.lm-card.lm-live{border-color:#2e8b3f;background:#f0faf1;}
.lm-pill{position:absolute;top:10px;right:10px;background:#16a34a;color:#fff;font-size:.5rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:3px 7px;border-radius:20px;display:flex;align-items:center;gap:3px;}
.lm-dot{width:5px;height:5px;border-radius:50%;background:#86efac;animation:lm-pulse 1.4s infinite;}
.lm-icon{width:62px;height:62px;border-radius:50%;background:linear-gradient(145deg,#2ea043,#155724);display:flex;align-items:center;justify-content:center;margin:0 auto 10px;box-shadow:0 6px 18px rgba(46,139,63,0.28);}
.lm-icon svg{width:28px;height:28px;}
/* S1: Card title */
.lm-ct{color:#1a3a22;font-size:.95rem;font-weight:800;line-height:1.2;margin-bottom:4px;}
/* S1: Card description — lighter weight, smaller, friendly */
.lm-cd{color:#6b7280;font-size:.72rem;font-weight:400;line-height:1.5;margin-top:5px;padding:0 2px;}

/* ── Tabs ── */
.lm-tabs{display:flex;width:100%;border-bottom:2px solid #e2ede4;margin-bottom:16px;}
.lm-tab{flex:1;text-align:center;padding:9px 4px 11px;font-size:.78rem;font-weight:600;color:#9ca3af;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:color .18s,border-color .18s;font-family:'Poppins',sans-serif;}
.lm-tab svg{display:block;margin:0 auto 3px;width:15px;height:15px;}
.lm-tab.on{color:#2e8b3f;border-bottom-color:#2e8b3f;}

/* Panels */
.lm-pnl{display:none;width:100%;}
.lm-pnl.on{display:block;}

/* Text area */
.lm-ta{width:100%;min-height:95px;border:2px solid #e2ede4;border-radius:12px;padding:12px;font-family:'Poppins',sans-serif;font-size:.87rem;resize:vertical;outline:none;transition:border-color .18s;color:#1a3a22;}
.lm-ta:focus{border-color:#4caf50;}

/* Voice box */
.lm-vbox{border:2px dashed #e2ede4;border-radius:12px;padding:22px 14px;text-align:center;}
.lm-rbtn{display:inline-flex;align-items:center;gap:7px;background:linear-gradient(135deg,#2ea043,#155724);color:#fff;border:none;padding:11px 24px;border-radius:50px;font-family:'Poppins',sans-serif;font-size:.87rem;font-weight:700;cursor:pointer;box-shadow:0 5px 14px rgba(46,139,63,0.28);transition:transform .16s;}
.lm-rbtn:hover{transform:translateY(-2px);}
.lm-rbtn.rec{background:linear-gradient(135deg,#dc2626,#991b1b);animation:lm-recpulse 1s infinite;}
.lm-rbtn svg{width:15px;height:15px;}
.lm-vs{margin-top:9px;font-size:.78rem;color:#9ca3af;min-height:16px;font-family:'Poppins',sans-serif;}
.lm-vr{margin-top:9px;background:#f0faf1;border:1px solid #d1fae5;border-radius:8px;padding:10px;font-size:.84rem;color:#1a3a22;display:none;text-align:left;font-family:'Poppins',sans-serif;}

/* S2C: Multi-image thumbnails */
.lm-img-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.lm-img-thumb{position:relative;width:72px;height:72px;}
.lm-img-thumb img{width:100%;height:100%;object-fit:cover;border-radius:8px;border:2px solid #e2ede4;}
.lm-img-del{position:absolute;top:-5px;right:-5px;width:20px;height:20px;border-radius:50%;background:#dc2626;color:#fff;border:2px solid #fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(0,0,0,0.2);transition:transform .15s,background .15s;padding:0;}
.lm-img-del:hover{background:#b91c1c;transform:scale(1.1);}
.lm-img-del svg{width:11px;height:11px;stroke:#fff;stroke-width:2.5;fill:none;}
.lm-photo-box{border:2px dashed #e2ede4;border-radius:12px;padding:18px 14px;text-align:center;cursor:pointer;transition:border-color .18s,background .18s;}
.lm-photo-box:hover,.lm-photo-box.drag{border-color:#4caf50;background:#f8fdf8;}
.lm-photo-box svg{width:32px;height:32px;stroke:#4caf50;margin-bottom:6px;}
.lm-photo-box p{font-size:.8rem;color:#9ca3af;font-family:'Poppins',sans-serif;}
.lm-ocr-st{margin-top:8px;font-size:.78rem;color:#2e8b3f;font-weight:600;font-family:'Poppins',sans-serif;display:none;}

/* Results */
.lm-results{width:100%;margin-top:16px;display:none;}
.lm-found{margin-bottom:12px;}
.lm-found h4,.lm-unavail h4{font-size:.82rem;font-weight:800;margin-bottom:7px;font-family:'Poppins',sans-serif;}
.lm-found h4{color:#16a34a;}
.lm-unavail{background:#fff8f0;border:1.5px solid #fde7c8;border-radius:14px;padding:12px;margin-top:10px;}
.lm-unavail h4{color:#7c4a03;}
.lm-chips,.lm-result-list{display:flex;flex-direction:column;gap:8px;}
.lm-result-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f0faf1;border:1.5px solid #d1fae5;border-radius:12px;padding:10px 12px;font-size:.82rem;font-weight:600;color:#1a3a22;text-decoration:none;transition:background .18s,border-color .18s,transform .18s;font-family:'Poppins',sans-serif;}
.lm-result-row:hover{background:#e8f8ea;border-color:#2e8b3f;transform:translateY(-2px);color:#1a3a22;}
.lm-result-row strong{color:#2e8b3f;font-weight:800;white-space:nowrap;}
.lm-chip{display:inline-flex;align-items:center;gap:5px;background:#f0faf1;border:1.5px solid #d1fae5;border-radius:50px;padding:6px 13px;font-size:.78rem;font-weight:600;color:#1a3a22;cursor:pointer;text-decoration:none;transition:background .18s,border-color .18s,transform .18s;font-family:'Poppins',sans-serif;}
.lm-chip:hover{background:#2e8b3f;color:#fff;border-color:#2e8b3f;transform:translateY(-2px);}
.lm-chip svg{width:11px;height:11px;flex-shrink:0;}
.lm-chip:hover svg{stroke:#fff;}
.lm-unavail-msg{font-size:.8rem;color:#6b7280;line-height:1.5;margin-top:6px;font-family:'Poppins',sans-serif;}
.lm-unavail-list{display:flex;flex-wrap:wrap;gap:6px;font-size:.78rem;color:#7c4a03;font-weight:600;margin:7px 0 10px;font-family:'Poppins',sans-serif;}
.lm-unavail-list span{background:#fff;border:1px solid #fde7c8;border-radius:999px;padding:5px 9px;}
.lm-note{display:none;width:100%;background:#f0faf1;border:1.5px solid #d1fae5;border-radius:10px;padding:10px 12px;font-size:.8rem;color:#1a3a22;line-height:1.5;margin-top:10px;font-family:'Poppins',sans-serif;}
.lm-check{display:flex;align-items:flex-start;gap:8px;width:100%;margin-top:10px;font-size:.8rem;color:#1a3a22;line-height:1.45;font-family:'Poppins',sans-serif;}
.lm-check input{margin-top:3px;accent-color:#2e8b3f;flex-shrink:0;}

/* Spinner */
.lm-spin{display:none;text-align:center;padding:12px;font-size:.8rem;color:#2e8b3f;font-weight:600;font-family:'Poppins',sans-serif;}
.lm-spin::before{content:'';display:inline-block;width:13px;height:13px;border:2px solid #d1fae5;border-top-color:#2e8b3f;border-radius:50%;animation:lm-spinner .6s linear infinite;margin-right:7px;vertical-align:middle;}

/* Buttons */
.lm-bp{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:linear-gradient(135deg,#2ea043,#155724);color:#fff;border:none;padding:12px 20px;border-radius:50px;font-family:'Poppins',sans-serif;font-size:.88rem;font-weight:700;cursor:pointer;box-shadow:0 5px 16px rgba(46,139,63,0.28);transition:transform .16s;text-decoration:none;}
.lm-bp:hover{transform:translateY(-2px);}
.lm-bp svg{width:15px;height:15px;flex-shrink:0;}
.lm-bs{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#f1f5f1;color:#1a3a22;border:2px solid #e2ede4;padding:11px 20px;border-radius:50px;font-family:'Poppins',sans-serif;font-size:.88rem;font-weight:700;cursor:pointer;transition:background .16s;text-decoration:none;}
.lm-bs:hover{background:#e2ede4;color:#111;}
.lm-bs svg{width:15px;height:15px;}
.lm-acts{display:flex;gap:10px;margin-top:16px;width:100%;flex-wrap:wrap;}
.lm-acts>*{flex:1;min-width:120px;}
.lm-reset{margin-top:10px;width:100%;box-shadow:none;}

/* Chat button */
.lm-wa{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#25D366;color:#fff;border:none;padding:13px 24px;border-radius:50px;font-family:'Poppins',sans-serif;font-size:.92rem;font-weight:700;cursor:pointer;box-shadow:0 6px 18px rgba(37,211,102,0.35);transition:transform .18s;text-decoration:none;width:100%;margin-top:12px;}
.lm-wa:hover{transform:translateY(-2px);}
.lm-wa svg{width:19px;height:19px;}
.lm-wa-prev{width:100%;background:#f0faf1;border:1.5px solid #d1fae5;border-radius:10px;padding:12px;font-size:.83rem;color:#1a3a22;line-height:1.6;margin-top:12px;display:none;word-break:break-word;white-space:pre-wrap;font-family:'Poppins',sans-serif;}

/* ── S3: Pick & Deliver form ── */
.lm-section{margin-bottom:18px;width:100%;}
.lm-section-title{font-size:.82rem;font-weight:700;color:#2e8b3f;text-transform:uppercase;letter-spacing:.8px;margin-bottom:10px;padding-bottom:5px;border-bottom:1.5px solid #e2ede4;font-family:'Poppins',sans-serif;}
.lm-input{width:100%;border:2px solid #e2ede4;border-radius:10px;padding:10px 13px;font-family:'Poppins',sans-serif;font-size:.86rem;outline:none;transition:border-color .18s;color:#1a3a22;margin-bottom:8px;}
.lm-input:focus{border-color:#4caf50;}
.lm-input:last-child{margin-bottom:0;}
#lm-p4 .lm-section{margin-bottom:12px;}
#lm-p4 .lm-section-title{margin-bottom:7px;padding-bottom:4px;}
#lm-p4 .lm-input{padding:8px 11px;font-size:.82rem;margin-bottom:0;}
#lm-p4 .lm-ta{min-height:60px;padding:9px 11px;font-size:.82rem;}
#lm-p4 .lm-input::placeholder,#lm-p4 .lm-ta::placeholder{color:#8f9b95;opacity:1;}
.lm-pd-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 8px;}
.lm-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px;border-bottom:1.5px solid #e2ede4;padding-bottom:4px;}
.lm-section-head .lm-section-title{border-bottom:0;margin-bottom:0;padding-bottom:0;}
.lm-map-btn{border:1.5px solid #d1fae5;background:#f0faf1;color:#1a3a22;border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:700;font-family:'Poppins',sans-serif;cursor:pointer;white-space:nowrap;}
.lm-map-btn:hover{background:#e2f7e6;color:#111;}
.lm-location-note{display:none;background:#f8fbf8;border:1px solid #e2ede4;border-radius:9px;color:#56635c;font-size:.72rem;line-height:1.45;padding:7px 9px;margin-top:7px;font-family:'Poppins',sans-serif;}
.lm-location-note.show{display:block;}
.lm-inline-note{font-size:.72rem;color:#6b7280;line-height:1.45;margin:-2px 0 10px;font-family:'Poppins',sans-serif;}
.lm-shopping-toggle{display:none;}
.lm-shopping-toggle.show{display:block;}
.lm-pay-methods{display:none;}
.lm-pay-methods.show{display:block;}
.lm-std-card{width:100%;background:#f8faf8;border:1.5px solid #e2ede4;border-radius:14px;padding:14px;margin-bottom:12px;font-family:'Poppins',sans-serif;}
.lm-std-card p{font-size:.8rem;color:#6b7280;line-height:1.55;margin:0 0 10px;}
.lm-slot{padding:7px 13px;border:1.5px solid #e2ede4;border-radius:50px;font-size:.76rem;font-weight:600;cursor:pointer;color:#6b7280;transition:all .18s;font-family:'Poppins',sans-serif;}
.lm-slot.sel{background:#2e8b3f;color:#fff;border-color:#2e8b3f;}
.lm-pd-phone{margin-top:7px;}
.lm-pd-remember{margin-top:8px;margin-bottom:0;}
.lm-addr-help{display:none;background:#f8fbf8;border:1px solid #e2ede4;border-radius:9px;color:#6b7280;font-size:.72rem;line-height:1.45;padding:7px 9px;margin-top:7px;font-family:'Poppins',sans-serif;}
.lm-addr-help.show{display:block;}
.lm-pay-note{display:none;background:#f0faf1;border:1px solid #d1fae5;border-radius:9px;color:#1a3a22;font-size:.75rem;line-height:1.45;padding:8px 10px;margin-top:8px;font-family:'Poppins',sans-serif;}

/* Size pills */
.lm-sizes{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px;}
.lm-size{flex:1;min-width:80px;border:2px solid #e2ede4;border-radius:12px;padding:10px 6px;text-align:center;cursor:pointer;transition:border-color .18s,background .18s;font-family:'Poppins',sans-serif;}
.lm-size.sel{border-color:#2e8b3f;background:#f0faf1;}
.lm-size-label{font-size:.75rem;font-weight:700;color:#1a3a22;}
.lm-size-sub{font-size:.65rem;color:#9ca3af;}

/* Type chips */
.lm-types{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px;}
.lm-type{padding:6px 14px;border:1.5px solid #e2ede4;border-radius:50px;font-size:.76rem;font-weight:600;cursor:pointer;color:#6b7280;transition:all .18s;font-family:'Poppins',sans-serif;}
.lm-type.sel{background:#2e8b3f;color:#fff;border-color:#2e8b3f;}

/* Payment toggle */
.lm-pay{display:flex;gap:10px;margin-bottom:10px;}
.lm-pay-opt{flex:1;border:2px solid #e2ede4;border-radius:12px;padding:12px 8px;text-align:center;cursor:pointer;transition:all .18s;font-family:'Poppins',sans-serif;}
.lm-pay-opt.sel{border-color:#2e8b3f;background:#f0faf1;}
.lm-pay-opt .lm-pay-label{font-size:.78rem;font-weight:700;color:#1a3a22;}
.lm-pay-opt .lm-pay-sub{font-size:.68rem;color:#9ca3af;}

/* Confirm code toggle */
.lm-code-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;margin-bottom:8px;font-size:.82rem;color:#6b7280;font-family:'Poppins',sans-serif;}
.lm-code-toggle span{font-weight:600;}
.lm-plus{width:22px;height:22px;border-radius:50%;background:#e2ede4;display:flex;align-items:center;justify-content:center;font-size:.9rem;color:#2e8b3f;font-weight:700;}

/* ── Floating reopen button ── */
#lm-fab{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#2ea043,#155724);color:#fff;border:none;padding:10px 18px;border-radius:50px;font-family:'Poppins',sans-serif;font-size:.8rem;font-weight:700;cursor:pointer;box-shadow:0 4px 14px rgba(46,139,63,0.35);position:fixed;bottom:22px;right:22px;z-index:9998;transition:transform .16s,box-shadow .16s;}
#lm-fab:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(46,139,63,0.45);}
#lm-fab svg{width:14px;height:14px;}

/* ── Coming soon overlay ── */
#lm-cs{display:none;position:fixed;inset:0;z-index:999999;background:rgba(5,20,10,0.78);backdrop-filter:blur(8px);align-items:center;justify-content:center;}
#lm-cs.show{display:flex;}
.lm-csbox{background:#fff;border-radius:22px;padding:36px 28px 28px;max-width:320px;width:90%;text-align:center;font-family:'Poppins',sans-serif;}
.lm-csicon{width:56px;height:56px;border-radius:50%;background:linear-gradient(145deg,#2ea043,#155724);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;}
.lm-csicon svg{width:26px;height:26px;}
.lm-csbox h2{color:#1a3a22;font-size:1.5rem;font-weight:900;margin-bottom:5px;}
.lm-csbox .lm-csn{color:#f59e0b;font-size:.78rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:12px;}
.lm-csbox p{color:#6b7280;font-size:.84rem;line-height:1.6;margin-bottom:22px;}

footer.lm-ft{color:#6b7280;font-size:.78rem;margin-top:30px;text-align:center;width:100%;font-family:'Poppins',sans-serif;font-weight:500;}

/* Animations */
@keyframes lm-pulse{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes lm-recpulse{0%,100%{box-shadow:0 0 0 0 rgba(220,38,38,.45)}50%{box-shadow:0 0 0 10px rgba(220,38,38,0)}}
@keyframes lm-spinner{to{transform:rotate(360deg)}}


.lm-map-modal{display:none;position:fixed;inset:0;z-index:1000000;background:rgba(5,20,10,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);align-items:center;justify-content:center;padding:14px;font-family:'Poppins',sans-serif;}
.lm-map-modal.show{display:flex;}
.lm-map-card{width:min(860px,96vw);max-height:92vh;background:#fff;border-radius:22px;box-shadow:0 28px 90px rgba(0,0,0,.28);overflow:hidden;display:flex;flex-direction:column;}
.lm-map-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px 12px;border-bottom:1px solid #e2ede4;}
.lm-map-head h3{margin:0;color:#1a3a22;font-size:1rem;font-weight:900;line-height:1.25;}
.lm-map-head p{margin:3px 0 0;color:#6b7280;font-size:.76rem;line-height:1.45;}
.lm-map-close{border:none;background:transparent;color:#9ca3af;font-size:1.5rem;line-height:1;cursor:pointer;padding:0 2px;}
.lm-map-close:hover{color:#111;}
.lm-map-search{padding:12px 18px 0;display:flex;gap:8px;align-items:center;}
.lm-map-search input{flex:1;border:2px solid #e2ede4;border-radius:10px;padding:10px 12px;font-family:'Poppins',sans-serif;font-size:.84rem;color:#1a3a22;outline:none;}
.lm-map-search input:focus{border-color:#4caf50;}
#lm-map-canvas{height:420px;min-height:300px;margin:12px 18px;border-radius:14px;background:#eef5ee;border:1px solid #e2ede4;overflow:hidden;}
.lm-map-status{padding:0 18px;color:#56635c;font-size:.76rem;line-height:1.45;min-height:18px;}
.lm-map-actions{display:flex;gap:10px;padding:12px 18px 18px;flex-wrap:wrap;}
.lm-map-actions .lm-bs,.lm-map-actions .lm-bp{flex:1;min-width:160px;box-shadow:none;}

/* Responsive */
@media(max-width:500px){
  .lm-grid{grid-template-columns:1fr;gap:10px}.lm-card{padding:16px 10px 14px}.lm-icon{width:54px;height:54px}.lm-icon svg{width:24px;height:24px}.lm-ct{font-size:.85rem}.lm-cd{font-size:.68rem}
  .lm-acts{flex-direction:column}
  #lm-box{padding:22px 14px 18px}
  .lm-pd-grid{grid-template-columns:1fr;gap:6px}
  #lm-p4 .lm-pay,#lm-p3 .lm-pay{flex-direction:column;gap:7px}
  .lm-section-head{align-items:flex-start;flex-direction:column;gap:6px}
  .lm-map-btn{width:100%;}
  .lm-map-card{max-height:94vh;}#lm-map-canvas{height:330px;margin:10px 12px}.lm-map-head,.lm-map-search,.lm-map-actions{padding-left:12px;padding-right:12px}.lm-map-actions{flex-direction:column}.lm-map-actions .lm-bs,.lm-map-actions .lm-bp{width:100%;min-width:0}
  .lm-contact-row { grid-template-columns: 1fr !important; gap: 6px; }
}

.lm-skip-btn-global {
  background: transparent;
  color: #2e8b3f;
  border: 1.5px solid #2e8b3f;
  border-radius: 25px;
  padding: 7px 14px;
  font-size: 0.8rem;
  font-weight: 700;
  text-decoration: none;
  font-family: 'Poppins', sans-serif;
  transition: all 0.15s;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
  flex-shrink: 0;
}
.lm-skip-btn-global:hover {
  background: transparent;
  color: #000;
  border-color: #000;
  transform: translateY(-1px);
}
.lm-skip-btn-global svg {
  flex-shrink: 0;
}

.lm-pick-deliver-btn-global {
  background: #2e8b3f;
  color: #fff;
  border: 1.5px solid #2e8b3f;
  border-radius: 25px;
  padding: 7px 14px;
  font-size: 0.8rem;
  font-weight: 700;
  font-family: 'Poppins', sans-serif;
  transition: all 0.15s;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
}
.lm-pick-deliver-btn-global:hover {
  background: #20642e;
  border-color: #20642e;
  transform: translateY(-1px);
}
.lm-pick-deliver-btn-global svg {
  fill: none;
  flex-shrink: 0;
}

/* Header actions container - right aligned, responsive */
.lm-header-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-shrink: 0;
}

.lm-categories-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 12px;
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  padding: 10px 0;
  box-sizing: border-box;
}
.lm-category-card {
  background: #f8faf8;
  border: 1.5px solid #e2ede4;
  border-radius: 16px;
  padding: 12px 8px;
  text-align: center;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 0 2px 4px rgba(0,0,0,0.01);
  width: 100%;
  box-sizing: border-box;
}
.lm-category-card:hover {
  transform: translateY(-4px) scale(1.02);
  background: #f0faf1;
  border-color: #2e8b3f;
  box-shadow: 0 8px 16px rgba(46,139,63,0.08);
}
.lm-category-img-wrap {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  overflow: hidden;
  background: #fff;
  border: 2px solid #e2ede4;
  margin-bottom: 8px;
  transition: border-color 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.04);
}
.lm-category-card:hover .lm-category-img-wrap {
  border-color: #2e8b3f;
}
.lm-category-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.lm-category-card:hover .lm-category-img {
  transform: scale(1.08);
}
.lm-category-name {
  color: #1a3a22;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.25;
  margin: 0;
  word-break: break-word;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  min-height: 2.5em;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lm-top-back {
  background: none;
  border: none;
  color: #2e8b3f;
  font-weight: 700;
  font-size: 0.9rem;
  cursor: pointer;
  font-family: 'Poppins', sans-serif;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: color 0.2s ease, transform 0.15s ease, background 0.2s ease;
  padding: 8px 12px;
  border-radius: 20px;
}
.lm-top-back:hover {
  color: #000000;
  background: #f0faf1;
  transform: translateX(-2px);
}

/* Global Placeholder & Hint contrast overrides */
::placeholder, .lm-input::placeholder, .lm-ta::placeholder {
  color: #7f8c8d !important;
  opacity: 1 !important;
}
:-ms-input-placeholder, .lm-input:-ms-input-placeholder, .lm-ta:-ms-input-placeholder {
  color: #7f8c8d !important;
}

/* Modernized Date Picker for Standard Delivery */
#sd-date, input[type="date"].lm-input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px;
  padding-right: 36px !important;
  min-height: 42px;
  font-size: 0.88rem;
  color: #1a3a22;
  font-weight: 500;
}
#sd-date:focus, input[type="date"].lm-input:focus {
  border-color: #2e8b3f;
  box-shadow: 0 0 0 3px rgba(46, 139, 63, 0.1);
}
#sd-date::-webkit-calendar-picker-indicator {
  opacity: 0.6;
  cursor: pointer;
  font-size: 1.1rem;
}
#sd-date::-webkit-calendar-picker-indicator:hover {
  opacity: 1;
}

.lm-contact-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  width: 100%;
  margin-bottom: 8px;
}
.lm-contact-row .lm-input {
  margin-bottom: 0 !important;
}

.lm-auth-box {
  width: 100%;
  max-width: 380px;
  margin: 0 auto;
}
.lm-auth-toggle {
  font-size: 0.8rem;
  color: #6b7280;
  text-align: center;
  margin-top: 14px;
}
.lm-auth-toggle a {
  color: #2e8b3f;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}
.lm-auth-toggle a:hover {
  text-decoration: underline;
}
.lm-google-btn-wrap {
  display: flex;
  justify-content: center;
  margin-top: 18px;
  border-top: 1px solid #e2ede4;
  padding-top: 18px;
  width: 100%;
}
.lm-error-msg {
  color: #dc2626;
  background: #fef2f2;
  border: 1px solid #fee2e2;
  border-radius: 8px;
  padding: 8px 12px;
  font-size: 0.78rem;
  margin-bottom: 12px;
  width: 100%;
  display: none;
  text-align: center;
  font-weight: 500;
}

.lm-success-icon {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: #d1fae5;
  color: #059669;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 20px auto;
}
.lm-success-icon svg {
  width: 40px;
  height: 40px;
}
.lm-success-text {
  text-align: center;
  color: #1a3a22;
  margin-bottom: 24px;
}
.lm-success-text h3 {
  font-size: 1.25rem;
  font-weight: 900;
  margin-bottom: 8px;
}
.lm-success-text p {
  font-size: 0.84rem;
  color: #6b7280;
  line-height: 1.6;
}

/* ── Chat Layout ── */
.lm-chat-layout{display:flex;width:100%;height:70vh;min-height:400px;border:1.5px solid #e2ede4;border-radius:16px;overflow:hidden;background:#fff;}
.lm-chat-sidebar{width:260px;min-width:200px;border-right:1.5px solid #e2ede4;display:flex;flex-direction:column;background:#f8faf8;flex-shrink:0;}
.lm-chat-sidebar-header{display:flex;align-items:center;gap:8px;padding:14px 16px;font-size:.85rem;font-weight:800;color:#1a3a22;border-bottom:1.5px solid #e2ede4;background:#fff;}
.lm-chat-sidebar-list{flex:1;overflow-y:auto;padding:6px;}
.lm-chat-sidebar-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;cursor:pointer;transition:background .15s;border:1px solid transparent;margin-bottom:2px;}
.lm-chat-sidebar-item:hover{background:#f0faf1;border-color:#d1fae5;}
.lm-chat-sidebar-item.active{background:#e8f8ea;border-color:#2e8b3f;}
.lm-chat-sidebar-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#2ea043,#155724);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.75rem;font-weight:800;flex-shrink:0;}
.lm-chat-sidebar-info{flex:1;min-width:0;}
.lm-chat-sidebar-name{font-size:.78rem;font-weight:700;color:#1a3a22;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lm-chat-sidebar-preview{font-size:.68rem;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px;}
.lm-chat-sidebar-time{font-size:.6rem;color:#9ca3af;white-space:nowrap;flex-shrink:0;}
.lm-chat-sidebar-badge{background:#dc2626;color:#fff;font-size:.55rem;font-weight:700;padding:1px 5px;border-radius:10px;flex-shrink:0;}

.lm-chat-main{flex:1;display:flex;flex-direction:column;min-width:0;}

.lm-chat-topbar{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fff;border-bottom:1.5px solid #e2ede4;flex-shrink:0;}
.lm-chat-topbar-back{background:none;border:none;color:#2e8b3f;cursor:pointer;padding:6px;border-radius:8px;display:none;align-items:center;justify-content:center;transition:background .15s;}
.lm-chat-topbar-back:hover{background:#f0faf1;}
.lm-chat-topbar-info{flex:1;min-width:0;}
.lm-chat-topbar-title{font-size:.85rem;font-weight:800;color:#1a3a22;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lm-chat-topbar-sub{font-size:.68rem;color:#6b7280;}
.lm-chat-topbar-right{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.lm-chat-topbar-actions{display:flex;gap:4px;}
.lm-chat-topbar-btn{background:none;border:1px solid #e2ede4;color:#6b7280;padding:6px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;}
.lm-chat-topbar-btn:hover{background:#f0faf1;color:#2e8b3f;border-color:#2e8b3f;}

.lm-chat-messages-container{flex:1;padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:4px;background:#f8faf8;}
.lm-chat-date-sep{text-align:center;margin:12px 0 8px;position:relative;}
.lm-chat-date-sep span{background:#f8faf8;padding:0 12px;font-size:.68rem;font-weight:600;color:#9ca3af;position:relative;z-index:1;}
.lm-chat-date-sep::before{content:'';position:absolute;top:50%;left:0;right:0;height:1px;background:#e2ede4;}
.lm-chat-msg{max-width:75%;padding:8px 12px;border-radius:14px;font-size:.82rem;line-height:1.45;word-break:break-word;white-space:pre-line;position:relative;}
.lm-chat-msg.customer{background:#dcf8c6;align-self:flex-end;border-bottom-right-radius:4px;color:#111;}
.lm-chat-msg.admin{background:#fff;align-self:flex-start;border-bottom-left-radius:4px;border:1px solid #e2ede4;color:#111;}
.lm-chat-msg-meta{font-size:.6rem;color:#667781;margin-top:3px;display:flex;align-items:center;justify-content:flex-end;gap:4px;}

.lm-chat-input-area{padding:10px 12px;border-top:1.5px solid #e2ede4;display:flex;gap:8px;align-items:flex-end;background:#fff;flex-shrink:0;}
.lm-chat-attach{background:none;border:none;color:#6b7280;cursor:pointer;padding:8px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:color .15s;flex-shrink:0;}
.lm-chat-attach:hover{color:#2e8b3f;}
.lm-chat-input-area textarea{flex:1;min-height:38px;max-height:100px;resize:none;border:1.5px solid #e2ede4;border-radius:20px;padding:9px 14px;outline:none;font-size:.82rem;font-family:'Poppins',sans-serif;line-height:1.4;transition:border-color .15s;}
.lm-chat-input-area textarea:focus{border-color:#2e8b3f;}
.lm-chat-send-btn{background:#25D366;color:#fff;border:none;border-radius:50%;width:38px;height:38px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s;}
.lm-chat-send-btn:hover{background:#1ebe57;}
.lm-chat-status{text-transform:uppercase;background:#e2ede4;padding:2px 8px;border-radius:10px;font-size:.6rem;font-weight:700;color:#6b7280;}
.lm-chat-status.active{background:#d1fae5;color:#065f46;}
.lm-chat-status.closed{background:#fee2e2;color:#991b1b;}

.message-status {
  display: inline-block;
  vertical-align: middle;
}
.message-status.status-delivered {
  color: #8696a0;
}
.message-status.status-seen {
  color: #53bdeb;
}

.lm-req-list-container {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-height: 48vh;
  overflow-y: auto;
  margin-bottom: 14px;
}
.lm-req-list-item {
  background: #f8faf8;
  border: 1.5px solid #e2ede4;
  border-radius: 12px;
  padding: 12px 14px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: background 0.15s, border-color 0.15s;
}
.lm-req-list-item:hover {
  background: #f0faf1;
  border-color: #2e8b3f;
}
.lm-req-item-left {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.lm-req-item-id {
  font-weight: 800;
  font-size: 0.88rem;
  color: #1a3a22;
}
.lm-req-item-meta {
  font-size: 0.7rem;
  color: #9ca3af;
}
.lm-req-item-badge {
  font-size: 0.65rem;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 8px;
  text-transform: uppercase;
}
.lm-req-item-badge.pending { background: #fee2e2; color: #991b1b; }
.lm-req-item-badge.processing { background: #fef3c7; color: #92400e; }
.lm-req-item-badge.completed { background: #d1fae5; color: #065f46; }
.lm-req-item-badge.cancelled { background: #f3f4f6; color: #374151; }

/* Modern Date Picker */
#sd-date, #lm-cart-date {
  width: 100%;
  border: 2px solid #e2ede4;
  border-radius: 12px;
  padding: 12px 16px;
  font-size: 0.9rem;
  font-weight: 600;
  color: #1a3a22;
  background: #f8faf8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%232e8b3f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E") no-repeat right 16px center;
  outline: none;
  transition: all 0.18s ease;
  cursor: pointer;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
}
#sd-date:hover, #lm-cart-date:hover {
  border-color: #2e8b3f;
  background-color: #f0faf1;
}
#sd-date:focus, #lm-cart-date:focus {
  border-color: #2e8b3f;
  background-color: #fff;
  box-shadow: 0 0 0 3px rgba(46,139,63,0.15);
}

/* Landing page footer - normal flow, not sticky */
#lm-p1 footer.lm-ft {
  position: static;
  margin-top: 30px;
  padding: 16px 24px;
  border-top: 1px solid #e2ede4;
}

/* Link Management UI Containers */
.lm-result-container {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #f8faf8;
  border: 1.5px solid #e2ede4;
  border-radius: 14px;
  padding: 8px 12px;
  margin-bottom: 10px;
  transition: border-color 0.15s, box-shadow 0.15s;
  box-sizing: border-box;
}
.lm-result-container:hover {
  border-color: #2e8b3f;
  box-shadow: 0 4px 12px rgba(46,139,63,0.06);
}
.lm-result-thumb {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  object-fit: cover;
  border: 1px solid #e2ede4;
  background: #fff;
  flex-shrink: 0;
}
.lm-result-link-wrapper {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.lm-result-link-wrapper a {
  font-size: 0.84rem;
  font-weight: 600;
  color: #1a3a22;
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lm-result-link-wrapper a:hover {
  color: #2e8b3f;
}
.lm-result-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.lm-result-btn {
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background 0.15s, color 0.15s;
}
.lm-result-btn.remove {
  color: #c93b3b;
}
.lm-result-btn.remove:hover {
  background: #fdf2f2;
}
.lm-result-btn.tick {
  color: #d1d5db;
  pointer-events: auto;
  cursor: pointer;
}
.lm-result-btn.tick:hover {
  background: #f0faf1;
}
.lm-result-btn.tick.active {
  color: #2e8b3f;
  pointer-events: auto;
  cursor: pointer;
}
.lm-result-btn.tick.active:hover {
  background: #f0faf1;
}

/* ───────────────────────────────────────────────
   CUSTOM PREMIUM OVERRIDES & CLEANUP RULES
   ─────────────────────────────────────────────── */

/* Global Poppins Typography */
#lm-ov, #lm-ov *, #lm-cs, #lm-cs *, #lm-map-modal, #lm-map-modal * {
  font-family: 'Poppins', sans-serif !important;
}

/* WooCommerce Category Grid & Cards Redesign */
.lm-categories-grid {
  grid-template-columns: repeat(auto-fit, minmax(135px, 1fr)) !important;
  gap: 24px !important;
  padding: 16px 0 !important;
}

.lm-category-card {
  background: #ffffff !important;
  border: 2px solid #2e8b3f !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03) !important;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.lm-category-card:hover {
  background: #f0faf1 !important;
  border-color: #1a5c27 !important;
  box-shadow: 0 10px 15px -3px rgba(46, 139, 63, 0.15), 0 4px 6px -2px rgba(46, 139, 63, 0.1) !important;
  transform: translateY(-4px) scale(1.03) !important;
}

/* Home Service Cards Redesign */
.lm-card {
  background: #ffffff !important;
  border: 2.5px solid #cce5d2 !important;
}

.lm-card:hover {
  background: #f0faf1 !important;
  border-color: #2e8b3f !important;
  box-shadow: 0 10px 28px rgba(46, 139, 63, 0.14) !important;
}

/* Calendar Date Input & Clickability Cleanup */
#sd-date, #lm-cart-date, #lm_checkout_delivery_date {
  position: relative !important;
  accent-color: #2e8b3f !important;
  color-scheme: light !important;
  border: 2px solid #e2ede4 !important;
  border-radius: 12px !important;
  padding: 12px 16px !important;
}

#sd-date::-webkit-calendar-picker-indicator, 
#lm-cart-date::-webkit-calendar-picker-indicator, 
#lm_checkout_delivery_date::-webkit-calendar-picker-indicator {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  cursor: pointer !important;
  z-index: 10 !important;
}

#sd-date:hover, #lm-cart-date:hover, #lm_checkout_delivery_date:hover {
  border-color: #2e8b3f !important;
  background-color: #f0faf1 !important;
}

/* Map Modal Mobile Click, Overlay & Touch Fixes */
#lm-map-modal {
  z-index: 99999999 !important;
}

#lm-map-canvas, #lm-map-canvas *, #lm-map-modal, #lm-map-modal * {
  touch-action: auto !important;
  pointer-events: auto !important;
}

/* Announcement Ticker Icons Removals */
.mrq-loop ul li.item::before,
.marquee-section ul li.item::before {
  content: none !important;
  display: none !important;
}

.mrq-loop ul li.item,
.marquee-section ul li.item {
  padding-left: 0 !important;
}

.newsflash .textslide-item .icon-holder,
.newsflash .textslide-item a.icon-holder,
.newsflash .textslide-item i.fa-tag {
  display: none !important;
}

.newstextwidget .owl-nav,
.newstextwidget .owl-next,
.newsflash.owl-carousel .owl-nav {
  display: none !important;
}

/* Checkout Company & Account Fields Icon Removals */
#billing_company_field i, 
#shipping_company_field i,
#billing_account_title_field i,
#shipping_account_title_field i,
#account_title_field i,
.form-row-billing_company i,
.form-row-shipping_company i,
.form-row-account_title i,
[id*="company_field"] i,
[id*="account_title_field"] i,
[class*="company_field"] i,
[class*="account_title_field"] i {
  display: none !important;
}

#billing_company_field::before, #billing_company_field::after,
#shipping_company_field::before, #shipping_company_field::after,
#billing_account_title_field::before, #billing_account_title_field::after,
#shipping_account_title_field::before, #shipping_account_title_field::after,
#account_title_field::before, #account_title_field::after,
.form-row-billing_company::before, .form-row-billing_company::after,
.form-row-shipping_company::before, .form-row-shipping_company::after,
.form-row-account_title::before, .form-row-account_title::after,
[id*="company_field"]::before, [id*="company_field"]::after,
[id*="account_title_field"]::before, [id*="account_title_field"]::after,
[class*="company_field"]::before, [class*="company_field"]::after,
[class*="account_title_field"]::before, [class*="account_title_field"]::after {
  content: none !important;
  display: none !important;
}

/* Mobile responsive refinements for screens <= 480px */
@media screen and (max-width: 480px) {
  #lm-box {
    padding: 16px 12px 40px !important;
  }
  .lm-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .lm-card {
    padding: 14px 12px 12px !important;
    border-width: 2px !important;
  }
  .lm-icon {
    width: 44px !important;
    height: 44px !important;
    margin-bottom: 6px !important;
  }
  .lm-icon svg {
    width: 20px !important;
    height: 20px !important;
  }
  .lm-ct {
    font-size: 0.86rem !important;
  }
  .lm-cd {
    font-size: 0.66rem !important;
    margin-top: 3px !important;
  }
  .lm-bp, .lm-bs {
    padding: 10px 16px !important;
    font-size: 0.78rem !important;
  }
  .lm-bp svg, .lm-bs svg {
    width: 13px !important;
    height: 13px !important;
  }
  .lm-categories-grid {
    grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)) !important;
    gap: 12px !important;
  }
  .lm-category-card {
    padding: 10px 6px !important;
  }
}

/* Tooltip Hover styles */
.lm-info-tooltip-wrap:hover .lm-info-tooltip-text {
  visibility: visible !important;
  opacity: 1 !important;
}

/* Full screen chat container styles */
.lm-chat-layout.lm-chat-full {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  min-height: 100vh !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  z-index: 100000 !important;
}
.lm-chat-layout.lm-chat-full .lm-chat-messages-container {
  height: calc(100vh - 120px) !important;
}

/* Scroll lock when chat is full screen */
body.lm-chat-open-full {
  overflow: hidden !important;
}

/* Quick Delivery: Larger image previews & custom delete button styling */
#bfm-thumbs .lm-img-thumb {
  width: 120px !important;
  height: 120px !important;
}
#bfm-thumbs .lm-img-thumb img {
  width: 100% !important;
  height: 100% !important;
  border-radius: 12px !important;
}
#bfm-thumbs .lm-img-del {
  width: 22px !important;
  height: 22px !important;
  top: -6px !important;
  right: -6px !important;
}
#bfm-thumbs .lm-img-del svg {
  width: 12px !important;
  height: 12px !important;
}

/* WhatsApp Mobile Layout Media Queries */
@media (max-width: 768px) {

  /* ── PARENT CHAIN: Force visibility and overflow control ── */
  /* Ensure overlay scrolls on mobile for all service pages */
  #lm-ov.show {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  /* Also support browsers with :has() */
  #lm-ov:has(#lm-p6.on) {
    overflow: hidden !important;
  }
  #lm-ov:has(#lm-p6.on) #lm-box {
    overflow: hidden !important;
    padding: 0 !important;
    max-width: 100% !important;
    border: none !important;
  }

  /* ── CHAT PAGE: Full viewport takeover ── */
  /* When NOT relocated to body: apply viewport takeover inside #lm-ov */
  /* When relocated: .lm-chat-mobile-root takes over with higher effective specificity */
  #lm-p6:not(.lm-chat-mobile-root) {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    background: #ffffff !important;
    z-index: 999999 !important;
    display: none !important;
    flex-direction: column !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    -webkit-overflow-scrolling: touch !important;
  }
  #lm-p6:not(.lm-chat-mobile-root).on {
    display: flex !important;
  }

  /* Hide non-chat pages when chat is active - prevent ghost rendering */
  #lm-ov:has(#lm-p6.on) > #lm-box > .lm-pg:not(#lm-p6) {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }

  /* Hide global header when chat is active */
  #lm-ov:has(#lm-p6.on) > #lm-box > .lm-global-header {
    display: none !important;
  }

  /* ── CHILD ELEMENTS: WhatsApp-style flex column ── */
  /* These only apply when #lm-p6 is NOT relocated to body */

  /* Chat layout wrapper: strict vertical column */
  #lm-p6:not(.lm-chat-mobile-root) .lm-chat-layout {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    border: none !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }

  /* Hide sidebar and resizer on mobile */
  #lm-p6:not(.lm-chat-mobile-root) .lm-chat-sidebar,
  #lm-p6:not(.lm-chat-mobile-root) .lm-chat-resizer {
    display: none !important;
    width: 0 !important;
    min-width: 0 !important;
    flex: 0 0 0 !important;
    overflow: hidden !important;
  }

  /* Main chat area: flex column filling remaining space */
  #lm-p6:not(.lm-chat-mobile-root) .lm-chat-main {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    overflow: hidden !important;
  }

  /* Topbar: locked to top, never shrinks */
  #lm-p6:not(.lm-chat-mobile-root) .lm-chat-topbar {
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
    min-height: 48px !important;
    z-index: 10 !important;
  }
  #lm-p6:not(.lm-chat-mobile-root) .lm-chat-topbar-back {
    display: flex !important;
  }
  /* Hide full-screen toggle button on mobile */
  #lm-p6:not(.lm-chat-mobile-root) #lm-chat-toggle-size {
    display: none !important;
  }

  /* Messages scrollable area: fills ALL remaining space */
  #lm-p6:not(.lm-chat-mobile-root) .lm-chat-messages-container {
    flex: 1 1 0% !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    background: #efeae2 !important;
    padding: 14px 10px !important;
  }

  /* Input area: locked to bottom, never shrinks */
  #lm-p6:not(.lm-chat-mobile-root) .lm-chat-input-area {
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
    background: #f0f2f5 !important;
    padding: 6px 8px !important;
    border-top: none !important;
    display: flex !important;
    gap: 6px !important;
    align-items: center !important;
    min-height: 52px !important;
    z-index: 10 !important;
  }

  /* Attachment preview bar */
  #lm-p6:not(.lm-chat-mobile-root) #lm-chat-attachment-preview {
    flex-shrink: 0 !important;
  }

  #lm-p6:not(.lm-chat-mobile-root) .lm-chat-input-area textarea {
    flex: 1 !important;
    background: #fff !important;
    border: none !important;
    border-radius: 20px !important;
    padding: 8px 12px !important;
    min-height: 38px !important;
    max-height: 100px !important;
    font-size: 0.84rem !important;
    box-shadow: 0 1px 1px rgba(0,0,0,0.06) !important;
    resize: none !important;
    font-family: 'Poppins', sans-serif !important;
    outline: none !important;
  }

  /* Send button: rounded rectangle */
  #lm-p6:not(.lm-chat-mobile-root) .lm-chat-send-btn {
    background: #25D366 !important;
    border-radius: 8px !important;
    height: 38px !important;
    padding: 0 14px !important;
    width: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    border: none !important;
    flex-shrink: 0 !important;
    box-shadow: 0 1px 1px rgba(0,0,0,0.06) !important;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 700 !important;
    font-size: 0.8rem !important;
    cursor: pointer !important;
  }

  /* Chat messages */
  #lm-p6:not(.lm-chat-mobile-root) .lm-chat-msg {
    border-radius: 8px !important;
    box-shadow: 0 1px 0.5px rgba(0,0,0,0.13) !important;
    font-size: 0.84rem !important;
    max-width: 82% !important;
    padding: 6px 10px !important;
    word-break: break-word !important;
  }
  #lm-p6:not(.lm-chat-mobile-root) .lm-chat-msg.customer {
    background: #d9fdd3 !important;
    border-bottom-right-radius: 2px !important;
  }
  #lm-p6:not(.lm-chat-mobile-root) .lm-chat-msg.admin {
    background: #ffffff !important;
    border-bottom-left-radius: 2px !important;
    border: none !important;
  }
}

/* Web/Desktop Default layout: sleek narrow sidebar */
@media screen and (min-width: 769px) {
  #lm-p6:not(.lm-chat-full) .lm-chat-sidebar {
    width: 80px;
    min-width: 80px;
    background: #f8faf8 !important;
    border-right: 1.5px solid #e2ede4 !important;
  }

  #lm-p6:not(.lm-chat-full) .lm-chat-sidebar-header span {
    display: none !important;
  }

  #lm-p6:not(.lm-chat-full) .lm-chat-sidebar-header {
    justify-content: center !important;
    padding: 14px 4px !important;
  }

  #lm-p6:not(.lm-chat-full) .lm-chat-sidebar-item {
    flex-direction: column !important;
    align-items: center !important;
    padding: 12px 4px !important;
    gap: 6px !important;
    text-align: center !important;
  }

  #lm-p6:not(.lm-chat-full) .lm-chat-sidebar-info {
    display: block !important;
    width: 100% !important;
  }

  #lm-p6:not(.lm-chat-full) .lm-chat-sidebar-preview {
    display: none !important;
  }

  #lm-p6:not(.lm-chat-full) .lm-chat-sidebar-meta {
    display: none !important;
  }

  #lm-p6:not(.lm-chat-full) .lm-chat-sidebar-last-msg {
    display: none !important;
  }

  #lm-p6:not(.lm-chat-full) .lm-chat-sidebar-item .lm-chat-sidebar-name {
    font-size: 0.64rem !important;
    color: #1a3a22 !important;
    font-weight: 700 !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  /* Full Screen Premium/Immersive State overrides */
  .lm-chat-layout.lm-chat-full .lm-chat-sidebar {
    width: 320px;
    min-width: 220px;
  }

  .lm-chat-layout.lm-chat-full .lm-chat-sidebar-header span {
    display: inline !important;
  }

  .lm-chat-layout.lm-chat-full .lm-chat-sidebar-header {
    justify-content: flex-start !important;
    padding: 14px 16px !important;
  }

  .lm-chat-layout.lm-chat-full .lm-chat-sidebar-item {
    flex-direction: row !important;
    align-items: center !important;
    padding: 16px 14px !important;
    gap: 12px !important;
    text-align: left !important;
    margin-bottom: 4px !important;
  }

  .lm-chat-layout.lm-chat-full .lm-chat-sidebar-preview {
    display: block !important;
  }

  .lm-chat-layout.lm-chat-full .lm-chat-sidebar-meta {
    display: flex !important;
  }

  .lm-chat-layout.lm-chat-full .lm-chat-sidebar-item .lm-chat-sidebar-name {
    font-size: 0.78rem !important;
    text-align: left !important;
  }

  .lm-chat-layout.lm-chat-full .lm-chat-topbar-back {
    display: flex !important;
  }
}

.sd-submit-btn:disabled {
  cursor: not-allowed !important;
}

/* Mobile UI Responsiveness fixes */
@media screen and (max-width: 768px) {
  /* Dynamic mobile rendering order for standard delivery */
  #lm-p5.on {
    display: flex !important;
    flex-direction: column !important;
  }
  #lm-p5 .lm-logo {
    order: -2 !important;
  }
  #lm-p5 > div:nth-child(2) { /* Title/Notices wrap */
    order: -1 !important;
  }
  #lm-p5 #sd-search-section {
    order: 1 !important;
    display: flex !important;
    flex-direction: column !important;
  }
  #lm-p5 #sd-search-section .lm-section-title {
    order: 1 !important;
  }
  #lm-p5 #sd-search-section > div:nth-child(2) { /* Search note */
    order: 2 !important;
  }
  #lm-p5 #sd-search-section .lm-tabs {
    display: none !important;
  }
  #lm-p5 #sd-p-text {
    display: block !important;
    order: 3 !important;
    width: 100% !important;
  }
  #lm-p5 #sd-p-photo {
    display: block !important;
    order: 4 !important;
    width: 100% !important;
    margin-top: 15px !important;
  }
  #lm-p5 #sd-spin {
    order: 1.5 !important;
  }
  #lm-p5 #sd-results {
    order: 2 !important;
  }
  #lm-p5 #sd-schedule-section {
    order: 3 !important;
    margin-top: 15px !important;
  }
  #lm-p5 .sd-chat-with-us-wrap {
    order: 4 !important;
  }
  #lm-p5 .lm-acts {
    order: 5 !important;
    margin-top: 15px !important;
  }
  #lm-p5 .lm-ft {
    order: 6 !important;
  }

  /* Time slot horizontal scrolling row */
  #sd-slot-options {
    display: flex !important;
    flex-direction: row !important;
    overflow-x: auto !important;
    gap: 8px !important;
    padding-bottom: 8px !important;
    white-space: nowrap !important;
    -webkit-overflow-scrolling: touch !important;
  }
  #sd-slot-options .lm-size {
    flex: 0 0 auto !important;
    width: 110px !important;
    margin-bottom: 0 !important;
    box-sizing: border-box !important;
  }
}

/* Shrunk generate links button */
.sd-generate-links-btn {
  padding: 8px 12px !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
}

/* Collapsible Notes Transition styles */
#sd-collapsible-notes {
  transition: all 0.25s ease-in-out;
}

/* Draggable resizer styling */
.lm-chat-resizer {
  background: #e2ede4 !important;
  width: 4px !important;
  transition: background 0.15s;
}
.lm-chat-resizer:hover, .lm-chat-resizer:active {
  background: #2e8b3f !important;
}

/* Skeleton loader animations */
.lm-chat-skeleton {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 10px;
  width: 100%;
}
.lm-skeleton-msg {
  height: 48px;
  border-radius: 12px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: lm-skeleton-pulse 1.5s infinite;
}
.lm-skeleton-msg.admin {
  width: 60%;
  align-self: flex-start;
  border-bottom-left-radius: 2px;
}
.lm-skeleton-msg.customer {
  width: 50%;
  align-self: flex-end;
  border-bottom-right-radius: 2px;
}
@keyframes lm-skeleton-pulse {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* Custom rounded rectangle green send button design */
#lm-p6 .lm-chat-send-btn {
  background: #25D366 !important;
  border-radius: 8px !important;
  height: 38px !important;
  padding: 0 16px !important;
  width: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  border: none !important;
  box-shadow: 0 1px 2px rgba(0,0,0,0.15) !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.85rem !important;
}
#lm-p6 .lm-chat-send-btn:hover {
  background: #1ebe57 !important;
}
#lm-p6 .lm-chat-send-btn svg {
  width: 18px !important;
  height: 18px !important;
  stroke: #fff !important;
  fill: none !important;
}

/* Voice input styling */
#lm-chat-voice-btn:hover {
  background: #f0faf1 !important;
  color: #2e8b3f !important;
}

#lm-p6:not(.lm-chat-full) .lm-chat-sidebar-detail,
#lm-p6:not(.lm-chat-full) .lm-chat-sidebar-last-msg {
  display: none !important;
}
.lm-chat-layout.lm-chat-full .lm-chat-sidebar-detail,
.lm-chat-layout.lm-chat-full .lm-chat-sidebar-last-msg {
  display: block !important;
}

/* Desktop default sidebar: show last message truncated under request ID */
@media screen and (min-width: 769px) {
  #lm-p6:not(.lm-chat-full) .lm-chat-sidebar-last-msg {
    display: block !important;
    font-size: 0.6rem !important;
    color: #6b7280 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 70px !important;
    margin-top: 1px !important;
  }
}

/* ── MOBILE SERVICE TOGGLING FIX ── */
/* Hide non-active pages on mobile. #lm-p6.on uses higher specificity to override. */
@media (max-width: 768px) {
  .lm-pg:not(.on):not(#lm-p6) {
    display: none !important;
  }
  .lm-global-header.mobile-hidden {
    display: none !important;
  }
}
/* Hide global header on desktop */
@media (min-width: 769px) {
  .lm-global-header {
    display: none !important;
  }
}

/* Prevent awkward button text wrapping on mobile devices */
.lm-pick-deliver-btn-global,
.lm-skip-btn-global,
.lm-bp,
.lm-bs,
.sd-submit-btn,
.sd-generate-links-btn,
button[onclick="bfmSubmit()"],
button[onclick="sdSubmitRequest(this)"],
button[onclick="pdSubmit()"],
button[onclick="dfSubmit()"] {
  white-space: nowrap !important;
  font-size: clamp(0.68rem, 2.5vw, 0.88rem) !important;
  padding: clamp(6px, 1.8vw, 12px) clamp(8px, 2.5vw, 18px) !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  max-width: 100% !important;
  flex-shrink: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  gap: clamp(3px, 1vw, 7px) !important;
}
.lm-pick-deliver-btn-global svg,
.lm-skip-btn-global svg,
.lm-bp svg,
.lm-bs svg {
  flex-shrink: 0 !important;
  min-width: 13px !important;
}

/* Extra-small mobile: force single-line even on 320px screens */
@media (max-width: 380px) {
  .lm-header-actions {
    gap: 5px !important;
  }
  .lm-pick-deliver-btn-global,
  .lm-skip-btn-global,
  .lm-bp,
  .lm-bs,
  .sd-submit-btn,
  .sd-generate-links-btn {
    font-size: 0.65rem !important;
    padding: 5px 8px !important;
    letter-spacing: -0.01em !important;
    gap: 3px !important;
  }
  .lm-pick-deliver-btn-global svg,
  .lm-skip-btn-global svg {
    width: 11px !important;
    height: 11px !important;
  }
}

/* Small mobile: adjust header actions */
@media (max-width: 480px) {
  .lm-header-actions {
    gap: 6px !important;
  }
  .lm-global-header {
    padding: 0 2px !important;
  }
}

/* ══════════════════════════════════════════════════════════════════════
   ADVANCED MOBILE VIEWPORT FIXES
   Scroll lock, virtual keyboard, safe areas, pointer events
   ══════════════════════════════════════════════════════════════════════ */

/* ── 1. BACKGROUND SCROLL LOCK ── */
/* Applied via JS: document.body.classList.add('lm-chat-body-locked') */
body.lm-chat-body-locked {
  overflow: hidden !important;
  width: 100% !important;
  height: 100% !important;
  -webkit-overflow-scrolling: none !important;
  touch-action: none !important;
  overscroll-behavior: none !important;
}

/* Also lock the overlay element itself */
#lm-ov.lm-chat-body-locked {
  overflow: hidden !important;
  position: fixed !important;
  touch-action: none !important;
  overscroll-behavior: none !important;
}

/* ── 2. VIRTUAL KEYBOARD ADAPTIVE HEIGHT ── */
/* When visualViewport shrinks (keyboard open), adjust chat container */
@media (max-width: 768px) {
  /* Use dynamic viewport height fallback for browsers that support it */
  #lm-p6.on {
    height: 100vh !important;
    height: 100dvh !important;
  }

  /* The input area needs dynamic bottom padding for keyboard */
  #lm-p6 .lm-chat-input-area {
    padding-bottom: env(safe-area-inset-bottom, 8px) !important;
    padding-top: 8px !important;
    transition: padding 0.1s ease !important;
  }

  /* Messages container: prevent any scroll bleed */
  #lm-p6 .lm-chat-messages-container {
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-behavior: smooth !important;
  }

  /* Input textarea: ensure it stays visible above keyboard */
  #lm-p6 .lm-chat-input-area textarea {
    position: relative !important;
    z-index: 2 !important;
  }

  /* Send button: same z-index as textarea */
  #lm-p6 .lm-chat-send-btn {
    position: relative !important;
    z-index: 2 !important;
  }
}

/* ── 3. SAFE-AREA INSETS (notch + home indicator) ── */
/* Requires <meta name="viewport" content="..., viewport-fit=cover"> */
@supports (padding: env(safe-area-inset-top)) {
  @media (max-width: 768px) {
    /* Topbar: respect notch */
    #lm-p6 .lm-chat-topbar {
      padding-top: env(safe-area-inset-top, 0px) !important;
    }

    /* Input bar: respect home indicator */
    #lm-p6 .lm-chat-input-area {
      padding-bottom: env(safe-area-inset-bottom, 8px) !important;
      padding-left: env(safe-area-inset-left, 8px) !important;
      padding-right: env(safe-area-inset-right, 8px) !important;
    }

    /* Messages area: safe-area top for notch */
    #lm-p6 .lm-chat-messages-container {
      padding-top: calc(14px + env(safe-area-inset-top, 0px)) !important;
    }
  }
}

/* ── 4. POINTER EVENTS & Z-INDEX STACKING ── */
@media (max-width: 768px) {
  /* Chat container must receive all pointer events */
  #lm-p6 {
    pointer-events: auto !important;
  }

  /* Chat layout children must be interactive */
  #lm-p6 .lm-chat-layout {
    pointer-events: auto !important;
  }

  /* Topbar interactive elements */
  #lm-p6 .lm-chat-topbar {
    pointer-events: auto !important;
  }

  /* Textarea must be focusable and clickable */
  #lm-p6 .lm-chat-input-area textarea {
    pointer-events: auto !important;
    -webkit-user-select: text !important;
    user-select: text !important;
  }

  /* Send button must be clickable */
  #lm-p6 .lm-chat-send-btn {
    pointer-events: auto !important;
    cursor: pointer !important;
  }

  /* Back button must be clickable */
  #lm-p6 .lm-chat-topbar-back {
    pointer-events: auto !important;
    cursor: pointer !important;
  }

  /* Attach button */
  #lm-p6 .lm-chat-attach {
    pointer-events: auto !important;
  }

  /* Ensure NO invisible overlay blocks clicks */
  #lm-ov:has(#lm-p6.on) > #lm-box > .lm-pg:not(#lm-p6) {
    pointer-events: none !important;
  }
}

/* ── 5. MESSAGE LIST FONT COLOR SAFETY ── */
/* Ensure text is never white-on-white from global CSS inheritance */
@media (max-width: 768px) {
  #lm-p6 .lm-chat-msg {
    color: #111 !important;
  }
  #lm-p6 .lm-chat-msg.customer {
    color: #111 !important;
  }
  #lm-p6 .lm-chat-msg.admin {
    color: #111 !important;
  }
  #lm-p6 .lm-chat-msg-meta {
    color: #667781 !important;
  }

  /* Chat topbar text */
  #lm-p6 .lm-chat-topbar {
    color: #1a3a22 !important;
  }

  /* Empty state / skeleton text */
  #lm-p6 .lm-chat-empty,
  #lm-p6 .lm-chat-skeleton {
    color: #9ca3af !important;
  }
}

/* ══════════════════════════════════════════════════════════════════════
   DOM RELOCATION ROOT — applied when #lm-p6 is physically at <body>
   No parent stacking context traps. Fully self-contained.
   ══════════════════════════════════════════════════════════════════════ */
.lm-chat-mobile-root {
  /* ── LAYOUT: Full viewport takeover ── */
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  height: 100vh !important;

  /* ── STACKING: Above everything ── */
  z-index: 2147483647 !important; /* Maximum 32-bit int */

  /* ── APPEARANCE ── */
  background: #ffffff !important;
  display: flex !important;
  flex-direction: column !important;

  /* ── SCROLL LOCK: Prevent any bleed ── */
  overflow: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: none !important;

  /* ── INTERACTION: Force pointer events through ── */
  pointer-events: auto !important;
  touch-action: manipulation !important;

  /* ── SAFE AREAS: Respect notches and home indicators ── */
  padding-top: env(safe-area-inset-top, 0px) !important;
  padding-left: env(safe-area-inset-left, 0px) !important;
  padding-right: env(safe-area-inset-right, 0px) !important;
  padding-bottom: env(safe-area-inset-bottom, 0px) !important;
}

/* ── CHILD ELEMENTS: Force visibility and interaction inside relocated root ── */
.lm-chat-mobile-root .lm-chat-layout {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  border: none !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  pointer-events: auto !important;
}

/* Sidebar hidden on mobile */
.lm-chat-mobile-root .lm-chat-sidebar,
.lm-chat-mobile-root .lm-chat-resizer {
  display: none !important;
  width: 0 !important;
  min-width: 0 !important;
  flex: 0 0 0 !important;
  overflow: hidden !important;
}

/* Main chat area */
.lm-chat-mobile-root .lm-chat-main {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  overflow: hidden !important;
  pointer-events: auto !important;
}

/* Topbar: safe-area top + lock to top */
.lm-chat-mobile-root .lm-chat-topbar {
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
  min-height: 48px !important;
  padding-top: env(safe-area-inset-top, 8px) !important;
  z-index: 10 !important;
  pointer-events: auto !important;
  color: #1a3a22 !important;
}
.lm-chat-mobile-root .lm-chat-topbar-back {
  display: flex !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}
.lm-chat-mobile-root #lm-chat-toggle-size {
  display: none !important;
}

/* Messages: scrollable with containment */
.lm-chat-mobile-root .lm-chat-messages-container {
  flex: 1 1 0% !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: contain !important;
  scroll-behavior: smooth !important;
  background: #efeae2 !important;
  padding: 14px 10px !important;
  padding-top: calc(14px + env(safe-area-inset-top, 0px)) !important;
  pointer-events: auto !important;
}

/* Input area: safe-area bottom + lock to bottom */
.lm-chat-mobile-root .lm-chat-input-area {
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
  background: #f0f2f5 !important;
  padding: 8px !important;
  padding-bottom: env(safe-area-inset-bottom, 8px) !important;
  padding-left: env(safe-area-inset-left, 8px) !important;
  padding-right: env(safe-area-inset-right, 8px) !important;
  border-top: none !important;
  display: flex !important;
  gap: 6px !important;
  align-items: center !important;
  min-height: 52px !important;
  z-index: 10 !important;
  pointer-events: auto !important;
  transition: padding 0.1s ease !important;
}

/* Attachment preview */
.lm-chat-mobile-root #lm-chat-attachment-preview {
  flex-shrink: 0 !important;
}

/* Textarea: focusable, keyboard-safe */
.lm-chat-mobile-root .lm-chat-input-area textarea {
  flex: 1 !important;
  background: #fff !important;
  border: none !important;
  border-radius: 20px !important;
  padding: 8px 12px !important;
  min-height: 38px !important;
  max-height: 100px !important;
  font-size: 0.84rem !important;
  box-shadow: 0 1px 1px rgba(0,0,0,0.06) !important;
  resize: none !important;
  font-family: 'Poppins', sans-serif !important;
  outline: none !important;
  pointer-events: auto !important;
  -webkit-user-select: text !important;
  user-select: text !important;
  position: relative !important;
  z-index: 2 !important;
  color: #111 !important;
}

/* Send button: clickable, visible */
.lm-chat-mobile-root .lm-chat-send-btn {
  background: #25D366 !important;
  border-radius: 8px !important;
  height: 38px !important;
  padding: 0 14px !important;
  width: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  border: none !important;
  flex-shrink: 0 !important;
  box-shadow: 0 1px 1px rgba(0,0,0,0.06) !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.8rem !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  position: relative !important;
  z-index: 2 !important;
}
.lm-chat-mobile-root .lm-chat-send-btn:hover {
  background: #1ebe57 !important;
}
.lm-chat-mobile-root .lm-chat-send-btn svg {
  width: 18px !important;
  height: 18px !important;
  stroke: #fff !important;
  fill: none !important;
}

/* Attach button */
.lm-chat-mobile-root .lm-chat-attach {
  pointer-events: auto !important;
  cursor: pointer !important;
}

/* Voice input */
.lm-chat-mobile-root #lm-chat-voice-btn:hover {
  background: #f0faf1 !important;
  color: #2e8b3f !important;
}

/* ── FONT COLOR SAFETY: Never white-on-white ── */
.lm-chat-mobile-root .lm-chat-msg {
  color: #111 !important;
}
.lm-chat-mobile-root .lm-chat-msg.customer {
  background: #d9fdd3 !important;
  color: #111 !important;
  border-bottom-right-radius: 2px !important;
}
.lm-chat-mobile-root .lm-chat-msg.admin {
  background: #ffffff !important;
  color: #111 !important;
  border-bottom-left-radius: 2px !important;
  border: none !important;
}
.lm-chat-mobile-root .lm-chat-msg-meta {
  color: #667781 !important;
}
.lm-chat-mobile-root .lm-chat-empty,
.lm-chat-mobile-root .lm-chat-skeleton {
  color: #9ca3af !important;
}

/* Message bubble sizing */
.lm-chat-mobile-root .lm-chat-msg {
  border-radius: 8px !important;
  box-shadow: 0 1px 0.5px rgba(0,0,0,0.13) !important;
  font-size: 0.84rem !important;
  max-width: 82% !important;
  padding: 6px 10px !important;
  word-break: break-word !important;
}

/* Skeleton loader */
.lm-chat-mobile-root .lm-chat-skeleton {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 10px;
  width: 100%;
}


