/* MA Gift Card – stile modulo */
.magc-form {
	--magc-ink: #2b2620;
	--magc-muted: #6b6459;
	--magc-line: #e2dbcf;
	--magc-bg: #fbf8f2;
	--magc-step-bg: #4a5630; /* colore del sito Mosche Artificiali */
	--magc-step-fg: #ffffff;
	margin: 0 0 1.5em;
	clear: both;
	width: 100%;
}
.magc-form fieldset.magc-step {
	border: 1px solid var(--magc-line);
	border-radius: 8px;
	padding: 14px 18px 6px;
	margin: 0 0 14px;
	background: #fff;
	min-width: 0;
}
.magc-form legend {
	font-weight: 600;
	padding: 0 6px;
	color: var(--magc-ink);
	display: flex;
	align-items: center;
	gap: 8px;
}
.magc-form .magc-n {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--magc-step-bg) !important;
	color: var(--magc-step-fg) !important;
	-webkit-text-fill-color: var(--magc-step-fg);
	font-size: 12px !important;
	font-weight: 700;
	line-height: 1 !important;
	flex: 0 0 auto;
}
.magc-form .magc-field { margin: 0 0 12px; }
.magc-form .magc-field label { display: block; font-weight: 500; margin-bottom: 4px; }
.magc-form .magc-input,
.magc-form .magc-select {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding: 9px 11px;
	border: 1px solid var(--magc-line);
	border-radius: 6px;
	background: #fff;
	font-family: inherit;
	font-size: 15px;
	color: inherit;
}
.magc-form textarea.magc-input { min-height: 96px; resize: vertical; }
.magc-form .magc-help { display: block; color: var(--magc-muted); font-size: 13px; margin: 4px 0 10px; }
.magc-form .magc-counter { text-align: right; }
.magc-form .magc-amount-row { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 10px; }
.magc-form .magc-amount-row .magc-select { width: auto; min-width: 160px; flex: 0 1 220px; }
.magc-form .magc-custom-wrap { display: inline-flex; align-items: center; gap: 6px; }
.magc-form .magc-custom-wrap[hidden],
.magc-form [hidden] { display: none !important; }
.magc-form .magc-custom-wrap .magc-input { width: 120px; }
.magc-form .magc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
@media (max-width: 600px) {
	.magc-form .magc-grid { grid-template-columns: 1fr; }
}

.magc-themes {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 10px;
	margin-bottom: 12px;
}
.magc-theme {
	position: relative;
	display: block;
	cursor: pointer;
	border: 2px solid var(--magc-line);
	border-radius: 8px;
	overflow: hidden;
	background: var(--magc-bg);
	transition: border-color .15s, box-shadow .15s;
}
.magc-theme input { position: absolute; opacity: 0; pointer-events: none; }
.magc-theme .magc-theme-img {
	display: block;
	aspect-ratio: 12 / 5;
	background-size: cover;
	background-position: center;
}
.magc-theme .magc-theme-label { display: block; padding: 7px 10px; font-size: 14px; font-weight: 500; color: var(--magc-ink); }
.magc-theme.is-selected,
.magc-theme:has(input:checked) {
	border-color: var(--magc-accent, var(--magc-ink));
	box-shadow: 0 0 0 2px var(--magc-accent, var(--magc-ink)) inset;
}
.magc-theme:focus-within { outline: 2px solid var(--magc-accent, #333); outline-offset: 2px; }

/* Il mio account */
.magc-account-table code { font-size: 13px; }
.magc-account-table .magc-actions .button { margin: 2px 4px 2px 0; }

/* Verifica saldo */
.magc-balance-form { display: flex; flex-wrap: wrap; gap: 8px; align-items: end; }
.magc-balance-form label { width: 100%; }
.magc-balance-form input[type="text"] { flex: 1 1 220px; padding: 9px 11px; }
.magc-balance-msg { margin-top: 10px; }
.magc-balance-msg.magc-err { color: #a00; }
