/* "Homepage Add to Cart" layout (doubled classes beat theme button styles) */
.fgp-q-390bae15 {
	--fgp-q-c: #346834;
	--fgp-q-bd: #346834;
	--fgp-q-add: #0E3B2E; /* site button colour (Kit 4469) */
	--fgp-q-add-h: #0E3B2E;
	--fgp-q-sel: #0E3B2E;
	--fgp-q-sel-h: #0E3B2E;
	--fgp-q-btn-c: #ffffff;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 8px;
	width: 100%;
	min-width: 0;
}
.fgp-q-390bae15 .fgp-q-btn.fgp-q-btn {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 44px;
	margin: 0;
	padding: 10px 16px;
	border: 1.5px solid var(--fgp-q-add);
	border-radius: 999px;
	background-color: transparent;
	color: var(--fgp-q-add);
	font-family: inherit;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	text-transform: none;
	white-space: normal;
	box-shadow: none;
	cursor: pointer;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.fgp-q-390bae15 .fgp-q-btn.fgp-q-add:hover,
.fgp-q-390bae15 .fgp-q-btn.fgp-q-add:focus-visible { background-color: var(--fgp-q-add-h); border-color: var(--fgp-q-add-h); color: var(--fgp-q-btn-c); }
.fgp-q-390bae15 .fgp-q-btn.fgp-q-sel { background-color: transparent; border-color: var(--fgp-q-sel); color: var(--fgp-q-sel); }
.fgp-q-390bae15 .fgp-q-btn.fgp-q-sel:hover,
.fgp-q-390bae15 .fgp-q-btn.fgp-q-sel:focus-visible { background-color: var(--fgp-q-sel-h); border-color: var(--fgp-q-sel-h); color: var(--fgp-q-btn-c); }
.fgp-q-390bae15 .fgp-q-btn.fgp-q-btn:focus-visible { outline: 2px solid var(--fgp-q-bd); outline-offset: 2px; }
.fgp-q-390bae15 .fgp-q-btn.is-oos { opacity: .55; cursor: not-allowed; }
.fgp-q-390bae15.is-busy .fgp-q-add { opacity: .7; cursor: progress; }
.fgp-q-390bae15 .fgp-q-drop {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 100%;
	padding: 10px;
	border: 1px solid #E5DCCB;
	border-radius: 4px;
	background-color: #fff;
}
.fgp-q-390bae15 .fgp-q-drop[hidden] { display: none; }
.fgp-q-390bae15 .fgp-q-field { display: flex; flex-direction: column; gap: 4px; margin: 0; min-width: 0; }
.fgp-q-390bae15 .fgp-q-label { font-size: 13px; font-weight: 600; color: var(--fgp-q-c); }
.fgp-q-390bae15 .fgp-q-field select {
	box-sizing: border-box;
	width: 100%;
	min-height: 42px;
	margin: 0;
	padding: 6px 10px;
	border: 1px solid #346834;
	border-radius: 4px;
	background-color: #fff;
	color: #1d1d1b;
	font-family: inherit;
	font-size: 16px;
}
.fgp-q-390bae15 .fgp-q-msg { font-size: 13px; line-height: 1.4; text-align: center; }
.fgp-q-390bae15 .fgp-q-msg:empty { display: none; }
.fgp-q-390bae15 .fgp-q-msg.is-ok,
.fgp-q-390bae15 .fgp-q-msg.is-ok a { color: var(--fgp-q-c); }
.fgp-q-390bae15 .fgp-q-msg a { font-weight: 700; text-decoration: underline; }
.fgp-q-390bae15 .fgp-q-msg.is-err { color: #b3261e; }
.fgp-q-390bae15 .fgp-q-field option:disabled { color: #9a9a9a; }

/* Narrow cards: keep labels on one or two tidy lines */
.fgp-q-390bae15 { container-type: inline-size; }
@container (max-width: 190px) {
	.fgp-q-390bae15 .fgp-q-btn.fgp-q-btn { font-size: 14px; padding: 8px 10px; min-height: 40px; }
	.fgp-q-390bae15 .fgp-q-drop { padding: 8px; }
	.fgp-q-390bae15 .fgp-q-field select { min-height: 38px; padding: 4px 6px; }
	.fgp-q-390bae15 .fgp-q-msg { font-size: 12px; }
}

/* Bundle on the card */
.fgp-q-390bae15 .fgp-q-bunwrap,
.fgp-q-390bae15 .fgp-q-std { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.fgp-q-390bae15 .fgp-q-bunwrap[hidden],
.fgp-q-390bae15 .fgp-q-std[hidden] { display: none; }
.fgp-q-390bae15 .fgp-q-bunitems { margin: 0; font-size: 13px; line-height: 1.4; color: var(--fgp-q-c); text-align: center; overflow-wrap: anywhere; }

/* "Member price" strip (Subscription shown as membership) */
.fgp-q-390bae15 .fgp-q-mem {
	--fgp-q-mem-bg: #fdf7ea;
	--fgp-q-mem-bd: #e7c77a;
	--fgp-q-mem-tx: #2b2118;
	--fgp-q-mem-acc: #b7791f;
	--fgp-q-mem-jbg: #0E3B2E; /* same as the card button */
	--fgp-q-mem-jbg-h: #14543F;
	--fgp-q-mem-jc: #ffffff;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	min-width: 0;
	padding: 8px 8px 8px 10px;
	border: 1px solid var(--fgp-q-mem-bd);
	border-radius: 8px;
	background-color: var(--fgp-q-mem-bg);
	color: var(--fgp-q-mem-tx);
}
.fgp-q-390bae15 .fgp-q-mem-ic {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: radial-gradient(circle at 35% 30%, #f7e2a6, #d4a43a 70%);
	color: #ffffff;
	box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--fgp-q-mem-bd);
}
.fgp-q-390bae15 .fgp-q-mem-txt { flex: 1 1 auto; min-width: 0; font-size: 12px; line-height: 1.3; overflow-wrap: anywhere; }
.fgp-q-390bae15 .fgp-q-mem-lbl { font-weight: 700; text-transform: uppercase; letter-spacing: .02em; }
.fgp-q-390bae15 .fgp-q-mem-price { font-weight: 800; font-size: 1.1em; white-space: nowrap; }
.fgp-q-390bae15 .fgp-q-mem-save { color: var(--fgp-q-mem-acc); font-weight: 700; white-space: nowrap; }
.fgp-q-390bae15 .fgp-q-mem-save[hidden] { display: none; }
.fgp-q-390bae15 .fgp-q-mem-join.fgp-q-mem-join {
	flex: none;
	margin: 0;
	padding: 7px 12px;
	border: 0;
	border-radius: 6px;
	background-color: var(--fgp-q-mem-jbg);
	color: var(--fgp-q-mem-jc);
	font-family: inherit;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
	white-space: nowrap;
	box-shadow: none;
	cursor: pointer;
}
.fgp-q-390bae15 .fgp-q-mem-join.fgp-q-mem-join:hover { background-color: var(--fgp-q-mem-jbg-h); color: var(--fgp-q-mem-jc); }
.fgp-q-390bae15 .fgp-q-mem-join:focus-visible { outline: 2px solid var(--fgp-q-mem-acc); outline-offset: 2px; }
.fgp-q-390bae15.is-member .fgp-q-drop { border-color: var(--fgp-q-mem-bd, #e7c77a); }
@container (max-width: 240px) {
	.fgp-q-390bae15 .fgp-q-mem { flex-wrap: wrap; }
	.fgp-q-390bae15 .fgp-q-mem-txt { flex-basis: calc(100% - 40px); }
	.fgp-q-390bae15 .fgp-q-mem-join.fgp-q-mem-join { flex: 1 1 100%; }
}
