/* ShopVRAM Consent. Neutral greyscale, system fonts, no accent colour. */
.sv-consent {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2147483000;
	background: #ffffff;
	color: #111214;
	border-top: 1px solid #D9DBDE;
	box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.12);
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.5;
	max-height: 90vh;
	overflow-y: auto;
}
.sv-consent[hidden],
.sv-consent [hidden] { display: none !important; }
.sv-consent__inner { max-width: 960px; margin: 0 auto; padding: 16px; }
.sv-consent__title { margin: 0 0 4px; font-size: 18px; font-weight: 700; line-height: 1.3; color: inherit; font-family: inherit; letter-spacing: 0; }
.sv-consent__text,
.sv-consent__gpc,
.sv-consent__status { margin: 0 0 12px; font-size: 16px; }
.sv-consent__gpc { padding: 8px 12px; border-left: 3px solid #111214; background: #F5F5F6; }
.sv-consent__status:empty { display: none; }
.sv-consent a { color: #111214; text-decoration: underline; text-underline-offset: 2px; }
.sv-consent__fields { margin: 0 0 12px; padding: 0; border: 0; }
.sv-consent__fields legend { padding: 0; margin-bottom: 8px; font-weight: 700; font-size: 16px; }
.sv-consent__row { display: flex; gap: 12px; align-items: flex-start; padding: 10px 0; border-top: 1px solid #EDEEF0; }
.sv-consent__row input { flex: none; width: 20px; height: 20px; margin: 2px 0 0; accent-color: #111214; }
.sv-consent__row label { cursor: pointer; }
.sv-consent__row input:disabled + label { cursor: default; }
.sv-consent__row label span { display: block; color: #5B5F66; }
.sv-consent__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.sv-consent__btn,
.sv-consent-link {
	font: inherit;
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	font-size: 16px;
}
.sv-consent__btn {
	min-height: 44px;
	padding: 10px 18px;
	border: 2px solid #111214;
	border-radius: 4px;
	background: #ffffff;
	color: #111214;
	font-weight: 600;
	cursor: pointer;
}
.sv-consent__btn:hover { background: #111214; color: #ffffff; }
.sv-consent__btn:focus-visible,
.sv-consent-link:focus-visible,
.sv-consent a:focus-visible,
.sv-consent__row input:focus-visible,
.sv-consent__title:focus-visible {
	outline: 3px solid #111214;
	outline-offset: 2px;
	box-shadow: 0 0 0 5px #ffffff;
}
.sv-consent__title:focus:not(:focus-visible) { outline: none; }
.sv-consent-links { margin: 8px 0; display: flex; flex-wrap: wrap; gap: 4px 16px; justify-content: center; }
.sv-consent-footer { padding: 8px 16px 16px; }
.sv-consent-link {
	padding: 4px 0;
	border: 0;
	background: none;
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
	cursor: pointer;
}
@media (max-width: 600px) {
	.sv-consent__actions { flex-direction: column; }
	.sv-consent__btn { width: 100%; }
}
@media (forced-colors: active) {
	.sv-consent { border-top: 2px solid CanvasText; }
	.sv-consent__btn { border-color: ButtonText; }
}
