/* BudClub Lab Results page — simple searchable COA library. */
.bc-lab{
	background:var(--bc-bg);
	color:var(--bc-cream);
}

.bc-lab__hero{
	padding:68px 0 34px;
	border-bottom:1px solid var(--bc-line);
	background:linear-gradient(180deg,rgba(158,240,26,.055),transparent 72%);
}

.bc-lab__hero-inner{
	max-width:820px;
}

.bc-lab__eyebrow,
.bc-lab-card__content p,
.bc-lab-modal__header p{
	margin:0 0 9px;
	color:var(--bc-green);
	font-size:12px;
	font-weight:800;
	letter-spacing:.14em;
	text-transform:uppercase;
}

.bc-lab__hero h1{
	margin:0;
	font-family:var(--bc-font-display);
	font-size:clamp(42px,7vw,72px);
	font-weight:400;
	letter-spacing:.015em;
	line-height:1;
	text-transform:uppercase;
}

.bc-lab__intro{
	max-width:720px;
	margin-top:18px;
	color:var(--bc-muted);
	font-size:17px;
	line-height:1.75;
}

.bc-lab__intro p:last-child{
	margin-bottom:0;
}

.bc-lab__library{
	padding:48px 0 76px;
}

.bc-lab__global-search{
	margin-bottom:34px;
	padding-bottom:30px;
	border-bottom:1px solid var(--bc-line);
}

.bc-lab__category-header{
	margin-bottom:25px;
}

.bc-lab__category-header h2{
	margin:0 0 6px;
	font-size:30px;
}

.bc-lab__count{
	margin:0;
	color:var(--bc-muted);
	font-size:14px;
}

.bc-lab__search-wrap{
	width:min(100%,560px);
}

.bc-lab__search-wrap label{
	display:block;
	margin-bottom:8px;
	font-size:13px;
	font-weight:700;
}

.bc-lab__search-field{
	display:flex;
	align-items:center;
	gap:10px;
	min-height:50px;
	padding:0 14px;
	border:1px solid var(--bc-line);
	border-radius:12px;
	background:var(--bc-bg-2);
	transition:border-color .18s ease,box-shadow .18s ease;
}

.bc-lab__search-field:focus-within{
	border-color:var(--bc-green);
	box-shadow:0 0 0 3px rgba(158,240,26,.1);
}

.bc-lab__search-field svg{
	flex:0 0 auto;
	color:var(--bc-muted);
}

.bc-lab__search-field input{
	min-width:0;
	width:100%;
	border:0;
	outline:0;
	background:transparent;
	color:var(--bc-cream);
	font:inherit;
}

.bc-lab__search-field input::placeholder{
	color:#7f8574;
}

.bc-lab__clear{
	flex:0 0 auto;
	padding:5px;
	border:0;
	background:transparent;
	color:var(--bc-green);
	font-size:13px;
	font-weight:800;
}

.bc-lab__grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:12px;
}

.bc-lab-card{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px;
	min-height:108px;
	padding:20px;
	border:1px solid var(--bc-line);
	border-radius:14px;
	background:var(--bc-card);
	transition:border-color .18s ease,transform .18s ease,background .18s ease;
}

.bc-lab-card:hover{
	border-color:rgba(158,240,26,.45);
	background:#1d2119;
	transform:translateY(-1px);
}

.bc-lab-card[hidden]{
	display:none!important;
}

.bc-lab-card__content{
	min-width:0;
}

.bc-lab-card__content p{
	margin-bottom:5px;
	font-size:10px;
}

.bc-lab-card h3{
	margin:0;
	font-size:20px;
	line-height:1.25;
}

.bc-lab-card__actions{
	display:flex;
	flex:0 0 auto;
	align-items:center;
	gap:12px;
}

.bc-lab-card__product{
	color:var(--bc-muted);
	font-size:13px;
	font-weight:700;
	text-decoration:underline;
	text-underline-offset:3px;
}

.bc-lab-card__product:hover{
	color:var(--bc-cream);
}

.bc-lab-card__button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	min-height:42px;
	padding:10px 16px;
	border:1px solid var(--bc-green);
	border-radius:999px;
	background:var(--bc-green);
	color:var(--bc-bg);
	font-size:13px;
	font-weight:800;
	white-space:nowrap;
	transition:transform .18s ease,box-shadow .18s ease;
}

.bc-lab-card__button:hover,
.bc-lab-card__button:focus-visible{
	transform:translateY(-1px);
	box-shadow:0 8px 24px rgba(158,240,26,.22);
}

.bc-lab-card__unavailable{
	color:var(--bc-muted);
	font-size:13px;
	font-weight:700;
}

.bc-lab__empty{
	padding:46px 24px;
	border:1px dashed var(--bc-line);
	border-radius:14px;
	text-align:center;
}

.bc-lab__empty[hidden]{
	display:none!important;
}

.bc-lab__empty h3{
	margin:0 0 7px;
}

.bc-lab__empty p{
	margin:0;
	color:var(--bc-muted);
}

/* Report viewer */
body.bc-lab-modal-open{
	overflow:hidden;
}

.bc-lab-modal[hidden]{
	display:none!important;
}

.bc-lab-modal{
	position:fixed;
	inset:0;
	z-index:250;
	display:grid;
	place-items:center;
	padding:18px;
}

.bc-lab-modal__backdrop{
	position:absolute;
	inset:0;
	background:rgba(0,0,0,.78);
	backdrop-filter:blur(4px);
}

.bc-lab-modal__dialog{
	position:relative;
	z-index:1;
	display:flex;
	flex-direction:column;
	width:min(980px,100%);
	max-height:calc(100dvh - 36px);
	border:1px solid #343a2b;
	border-radius:18px;
	background:#11130f;
	box-shadow:0 26px 90px rgba(0,0,0,.55);
	overflow:hidden;
	transform:translateY(10px) scale(.99);
	opacity:0;
	transition:transform .2s ease,opacity .2s ease;
}

.bc-lab-modal.is-open .bc-lab-modal__dialog{
	transform:none;
	opacity:1;
}

.bc-lab-modal__header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px;
	padding:18px 20px;
	border-bottom:1px solid var(--bc-line);
}

.bc-lab-modal__header p{
	margin-bottom:4px;
	font-size:10px;
}

.bc-lab-modal__header h2{
	margin:0;
	font-size:23px;
}

.bc-lab-modal__close{
	flex:0 0 auto;
	display:grid;
	place-items:center;
	width:42px;
	height:42px;
	padding:0;
	border:1px solid var(--bc-line);
	border-radius:50%;
	background:transparent;
	color:var(--bc-cream);
	font-size:28px;
	line-height:1;
}

.bc-lab-modal__close:hover,
.bc-lab-modal__close:focus-visible{
	border-color:var(--bc-green);
	color:var(--bc-green);
}

.bc-lab-modal__body{
	min-height:260px;
	padding:20px;
	overflow:auto;
	background:#e8e8e4;
	text-align:center;
}

.bc-lab-modal__body img{
	display:block;
	width:100%;
	height:auto;
	margin:0 auto;
	background:#fff;
}

.bc-lab-modal__status{
	margin:100px 0;
	color:#383d34;
	font-weight:700;
}

.bc-lab-modal__footer{
	display:flex;
	justify-content:flex-end;
	padding:14px 20px;
	border-top:1px solid var(--bc-line);
}

.bc-lab-modal__footer .budclub-button{
	padding:11px 20px;
	font-size:14px;
}

@media(max-width:900px){
	.bc-lab__grid{
		grid-template-columns:1fr;
	}
}

@media(max-width:680px){
	.bc-lab__hero{
		padding:48px 0 28px;
	}

	.bc-lab__intro{
		font-size:15px;
	}

	.bc-lab__library{
		padding:34px 0 54px;
	}

	.bc-lab__global-search{
		margin-bottom:27px;
		padding-bottom:25px;
	}

	.bc-lab__search-wrap{
		width:100%;
	}

	.bc-lab-card{
		align-items:flex-start;
		flex-direction:column;
		gap:16px;
		padding:18px;
	}

	.bc-lab-card__actions{
		width:100%;
		justify-content:space-between;
	}

	.bc-lab-card__button{
		margin-left:auto;
	}

	.bc-lab-modal{
		padding:0;
	}

	.bc-lab-modal__dialog{
		width:100%;
		max-height:100dvh;
		min-height:100dvh;
		border:0;
		border-radius:0;
	}

	.bc-lab-modal__header,
	.bc-lab-modal__footer{
		padding:14px 16px;
	}

	.bc-lab-modal__body{
		padding:12px;
	}

	.bc-lab-modal__footer .budclub-button{
		width:100%;
	}
}

@media(prefers-reduced-motion:reduce){
	.bc-lab-card,
	.bc-lab-card__button,
	.bc-lab-modal__dialog{
		transition:none;
	}
}
