/* Vibes Game Requests – kept light so it inherits your theme's fonts and colors. */
.vgr-form {
	--vgr-accent: rgb(247, 122, 15);
	--vgr-error: #d63638;
	--vgr-success: #00a32a;
	max-width: 560px;
	display: grid;
	gap: 1rem;
}

.vgr-field {
	display: grid;
	gap: 0.35rem;
}

.vgr-field label {
	font-weight: 600;
}

.vgr-req {
	color: var(--vgr-error);
}

.vgr-field input {
	width: 100%;
	box-sizing: border-box;
	padding: 0.7rem 0.85rem;
	font: inherit;
	border: 1px solid rgba(127, 127, 127, 0.45);
	border-radius: 8px;
	background: transparent;
	color: inherit;
}

.vgr-field input::placeholder {
	color: inherit;
	opacity: 0.45;
	font-style: italic;
}

.vgr-field input:focus::placeholder {
	opacity: 0.3;
}

.vgr-field input:focus {
	outline: 2px solid var(--vgr-accent);
	outline-offset: 1px;
	border-color: transparent;
}

.vgr-field.has-error input {
	border-color: var(--vgr-error);
}

.vgr-submit {
	justify-self: start;
	padding: 0.75rem 1.4rem;
	font: inherit;
	font-weight: 600;
	color: var(--global-palette3, #1A202C);
	background: linear-gradient(190deg, rgb(247, 122, 15) 3%, rgb(200, 85, 1) 99%) !important;
	border: 0;
	border-radius: 8px;
	cursor: pointer;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.vgr-submit:hover,
.vgr-submit:focus-visible {
	color: var(--global-palette3, #1A202C);
	background: linear-gradient(190deg, rgb(255, 146, 48) 3%, rgb(226, 104, 12) 99%) !important;
	box-shadow: 0 4px 14px rgba(200, 85, 1, 0.35);
	transform: translateY(-1px);
}

.vgr-submit:active {
	background: linear-gradient(190deg, rgb(222, 104, 6) 3%, rgb(176, 72, 0) 99%) !important;
	box-shadow: none;
	transform: translateY(0);
}

.vgr-submit:disabled { opacity: 0.6; cursor: wait; }

.vgr-message:empty { display: none; }
.vgr-message { font-weight: 600; }
.vgr-message.is-success { color: var(--vgr-success); }
.vgr-message.is-error { color: var(--vgr-error); }

/* Honeypot – hidden from people, visible to bots. */
.vgr-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
