/* DalPraLab Search – overlay & launcher */
:root{
	--dls-primary:#9c2b1e;
	--dls-accent:#c8a24b;
	--dls-ink:#1e2418;
	--dls-muted:#6b7360;
	--dls-line:#e6e8e0;
	--dls-bg:#ffffff;
	--dls-soft:#f5f7f1;
	--dls-radius:14px;
	--dls-shadow:0 18px 60px rgba(20,40,15,.22);
}

/* ---- launcher ---- */
.dls-launch{cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;color:var(--dls-ink)}
.dls-launch--bar{
	border:1px solid var(--dls-line);background:var(--dls-soft);
	border-radius:999px;padding:.55rem 1rem;min-width:220px;
	transition:border-color .15s,box-shadow .15s;
}
.dls-launch--bar:hover{border-color:var(--dls-accent);box-shadow:0 2px 10px rgba(156,43,30,.10)}
.dls-launch__ph{color:var(--dls-muted);font-size:.95rem}
.dls-launch--btn{
	border:0;background:var(--dls-primary);color:#fff;border-radius:999px;
	padding:.6rem 1.1rem;font-weight:600;
}
.dls-launch--btn:hover{background:#7a2116}
.dls-launch--icon{
	border:0;background:transparent;color:inherit;cursor:pointer;
	width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;
	border-radius:50%;padding:0;transition:color .15s,background .15s;line-height:0;
}
.dls-launch--icon:hover{color:var(--dls-primary)}
.dls-header-launch{
	cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;
	color:var(--dls-primary);font-weight:600;padding:.4rem .7rem;
}
.dls-ico{flex:0 0 auto}

/* ---- overlay ---- */
.dls-overlay{
	position:fixed;inset:0;z-index:100000;
	background:rgba(18,28,12,.5);backdrop-filter:blur(3px);
	display:flex;justify-content:center;align-items:flex-start;
	padding:8vh 16px 16px;opacity:0;visibility:hidden;
	transition:opacity .18s ease,visibility .18s ease;
}
.dls-overlay[aria-hidden="false"]{opacity:1;visibility:visible}
body.dls-lock{overflow:hidden}

.dls-panel{
	width:100%;max-width:680px;background:var(--dls-bg);
	border-radius:var(--dls-radius);box-shadow:var(--dls-shadow);
	overflow:hidden;transform:translateY(-8px);transition:transform .18s ease;
	display:flex;flex-direction:column;max-height:82vh;
}
.dls-overlay[aria-hidden="false"] .dls-panel{transform:translateY(0)}

.dls-bar{
	display:flex;align-items:center;gap:.6rem;padding:1rem 1.1rem;
	border-bottom:1px solid var(--dls-line);color:var(--dls-primary);
}
.dls-input{
	flex:1;border:0;outline:0;font-size:1.15rem;color:var(--dls-ink);
	background:transparent;padding:.2rem 0;
}
.dls-input::placeholder{color:var(--dls-muted)}
.dls-close{
	border:0;background:var(--dls-soft);color:var(--dls-muted);
	width:34px;height:34px;border-radius:50%;font-size:1.3rem;line-height:1;
	cursor:pointer;flex:0 0 auto;
}
.dls-close:hover{background:#ececec;color:var(--dls-ink)}

.dls-status{padding:0 1.1rem;color:var(--dls-muted);font-size:.85rem;min-height:0}
.dls-status:not(:empty){padding:.5rem 1.1rem 0}

.dls-results{overflow-y:auto;padding:.4rem .6rem 1rem}

/* ---- suggestions ---- */
.dls-suggest{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;padding:.6rem .6rem .2rem}
.dls-suggest__l{color:var(--dls-muted);font-size:.85rem}
.dls-chips{display:flex;flex-wrap:wrap;gap:.4rem}
.dls-sugg,.dls-catchip{
	border:1px solid var(--dls-line);background:var(--dls-soft);
	color:var(--dls-primary);border-radius:999px;padding:.3rem .7rem;
	font-size:.85rem;cursor:pointer;text-decoration:none;line-height:1.2;
}
.dls-sugg:hover,.dls-catchip:hover{border-color:var(--dls-accent);background:#f6f2ec}

/* ---- groups ---- */
.dls-group__h{
	font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
	color:var(--dls-muted);padding:.8rem .8rem .3rem;
}
.dls-quicklinks{padding:.2rem .6rem}
.dls-quicklinks .dls-chips{padding:0 .2rem .4rem}

/* ---- product rows ---- */
.dls-plist{display:flex;flex-direction:column}
.dls-product{
	display:flex;align-items:center;gap:.8rem;padding:.55rem .8rem;
	border-radius:10px;text-decoration:none;color:var(--dls-ink);
	position:relative;
}
.dls-product:hover,.dls-product.is-active{background:var(--dls-soft)}
.dls-product__thumb{
	flex:0 0 48px;width:48px;height:48px;border-radius:8px;overflow:hidden;
	background:var(--dls-soft);display:flex;align-items:center;justify-content:center;
}
.dls-product__thumb img{width:100%;height:100%;object-fit:cover}
.dls-product__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}
.dls-product__title{font-weight:600;font-size:.98rem;line-height:1.25;
	overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dls-product__meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.dls-product__cat{font-size:.8rem;color:var(--dls-muted)}
.dls-product__price{font-size:.88rem;color:var(--dls-primary);font-weight:600}
.dls-product__price del{color:var(--dls-muted);font-weight:400;margin-right:.25rem}
.dls-product__oos{font-size:.72rem;color:#b23b3b;font-weight:600}

.dls-badge{display:inline-block;font-size:.62rem;font-weight:700;letter-spacing:.04em;
	padding:.08rem .34rem;border-radius:4px;vertical-align:middle}
.dls-badge--bio{background:#e5f3d8;color:#2e7d32}

.dls-add{
	flex:0 0 auto;width:34px;height:34px;border-radius:50%;border:0;cursor:pointer;
	background:var(--dls-primary);color:#fff;font-size:1.25rem;line-height:1;
	display:flex;align-items:center;justify-content:center;transition:background .15s,transform .1s;
}
.dls-add:hover{background:#7a2116}
.dls-add:active{transform:scale(.92)}
.dls-add.is-loading{background:var(--dls-muted)}
.dls-add.is-added{background:var(--dls-accent)}
.dls-add--opts{background:transparent;color:var(--dls-muted);border:1px solid var(--dls-line);font-size:1.35rem;pointer-events:none}
.dls-product:hover .dls-add--opts{border-color:var(--dls-accent);color:var(--dls-primary)}

.dls-viewall{
	display:block;text-align:center;margin:.6rem .8rem 0;padding:.7rem;
	background:var(--dls-soft);border-radius:10px;color:var(--dls-primary);
	font-weight:600;text-decoration:none;
}
.dls-viewall:hover{background:#f6f2ec}

/* ---- empty state ---- */
.dls-empty{padding:1.4rem 1rem;text-align:center}
.dls-empty__t{font-weight:600;font-size:1.05rem;margin:0 0 .3rem;color:var(--dls-ink)}
.dls-empty__h{color:var(--dls-muted);font-size:.9rem;margin:0 0 .8rem}
.dls-empty .dls-chips{justify-content:center}

@media (max-width:600px){
	.dls-overlay{padding:0}
	.dls-panel{max-width:100%;height:100%;max-height:100%;border-radius:0}
	.dls-results{flex:1}
}

/* ---- crop recommendations block ---- */
.dls-reco{margin:2.5rem 0 1rem;clear:both}
.dls-reco__title{
	display:flex;align-items:center;gap:.5rem;
	font-size:1.4rem;line-height:1.2;margin:0 0 1.1rem;
	padding-bottom:.6rem;border-bottom:2px solid var(--dls-accent);
	color:var(--dls-ink);
}
.dls-reco__leaf{font-size:1.15rem}
.dls-reco .products{margin:0}

