/* MV Send as Gift — inherits theme fonts; brand blue #131D44 for lines and text. */
.mv-gift {
	--mv-gift-blue: #131D44;
	color: var(--mv-gift-blue);
	display: block;
	clear: both;
	flex: 0 0 100%;      /* own row if the add-to-cart form is a flex container */
	width: 100%;
	max-width: 100%;
	margin: 16px 0 8px;
	text-align: start;
}

.mv-gift__toggle {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	cursor: pointer;
	font-weight: 600;
	color: var(--mv-gift-blue);
	user-select: none;
}

.mv-gift__toggle input[type="checkbox"] {
	margin: 0;
	width: 16px;
	height: 16px;
	cursor: pointer;
	accent-color: var(--mv-gift-blue);
}

.mv-gift__panel {
	margin-top: 12px;
	padding: 20px;
	border: 1px solid var(--mv-gift-blue);
	border-radius: 30px;
	animation: mv-gift-in .2s ease;
}

.mv-gift[hidden],
.mv-gift__panel[hidden] {
	display: none !important;
}

.mv-gift__field {
	margin: 0 0 12px;
}

.mv-gift__field label {
	display: block;
	margin: 0 0 6px 20px;
	font-size: .92em;
	color: var(--mv-gift-blue);
}

.mv-gift .mv-gift__field input,
.mv-gift .mv-gift__field textarea {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding: 10px 20px;
	border: 1px solid var(--mv-gift-blue);
	border-radius: 30px;
	background: #fff;
	color: var(--mv-gift-blue);
	box-shadow: none;
	outline: none;
	transition: box-shadow .15s ease;
}

.mv-gift .mv-gift__field input {
	height: 46px;
}

.mv-gift .mv-gift__field textarea {
	min-height: 110px;
	padding: 14px 20px;
	resize: vertical;
}

.mv-gift .mv-gift__field input:focus,
.mv-gift .mv-gift__field textarea:focus {
	border-color: var(--mv-gift-blue);
	box-shadow: 0 0 0 2px rgba(19, 29, 68, .18);
}

.mv-gift .mv-gift__field input::placeholder,
.mv-gift .mv-gift__field textarea::placeholder {
	color: var(--mv-gift-blue);
	opacity: .45;
}

.mv-gift__field .required {
	color: var(--mv-gift-blue);
	text-decoration: none;
	border: 0;
}

.mv-gift__hint {
	opacity: .6;
	font-weight: normal;
}

.mv-gift__count {
	display: block;
	margin-top: 4px;
	font-size: .8em;
	margin-right: 20px;
	opacity: .6;
	text-align: end;
}

/* Cloudflare Turnstile widget */
.mv-gift__captcha {
	margin-top: 4px;
}

.mv-gift__captcha .cf-turnstile-br {
	display: none;
}

.mv-gift__captcha .cf-turnstile {
	max-width: 100%;
	overflow: hidden;
}

.mv-gift__error {
	margin: 10px 0 0 20px;
	color: #b3261e;
	font-size: .9em;
}

.mv-gift__error[hidden] {
	display: none;
}

@keyframes mv-gift-in {
	from { opacity: 0; transform: translateY(-4px); }
	to   { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	.mv-gift__panel { animation: none; }
}
