/**
 * Stili per i campi di fatturazione italiana nel checkout MasterStudy LMS.
 *
 * Il markup NON riusa le classi native `.masterstudy-personal-info__*`
 * (vedi checkout.js per il perché: alcune versioni di MasterStudy
 * applicano una validazione "campo obbligatorio" generica a qualsiasi
 * input trovato dentro quella struttura). Queste regole replicano invece
 * lo stesso aspetto visivo con classi proprie, in modo che il blocco
 * risulti graficamente coerente con il resto del form.
 */

.msib-billing-section {
	width: 100%;
	margin-top: 24px;
}

.msib-billing-section__header {
	font-size: 18px;
	font-weight: 700;
	padding: 16px 24px;
	background: #f4f6fa;
	color: #1a1a2e;
}

.msib-billing-section__content {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px 24px;
	padding: 24px;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-top: none;
}

@media ( max-width: 640px ) {
	.msib-billing-section__content {
		grid-template-columns: 1fr;
	}
}

.msib-field__block {
	display: flex;
	flex-direction: column;
}

.msib-field__label {
	font-weight: 600;
	font-size: 14px;
	color: #1a1a2e;
	margin-bottom: 8px;
}

.msib-field__required {
	color: #e34c4c;
}

.msib-field__label.msib-optional::after {
	content: " (facoltativo)";
	font-weight: 400;
	opacity: 0.6;
	font-size: 0.85em;
}

.msib-field__input {
	width: 100%;
	box-sizing: border-box;
	padding: 12px 16px;
	border: 1px solid #d7dae0;
	border-radius: 6px;
	font-size: 14px;
	color: #1a1a2e;
	background: #fff;
	transition: border-color 0.15s ease-in-out;
}

.msib-field__input::placeholder {
	color: #9aa0ac;
}

.msib-field__input:focus {
	outline: none;
	border-color: #3b6df0;
}

.msib-field__input.msib-invalid {
	border-color: #e34c4c;
}

.msib-field__error {
	display: none;
	margin-top: 6px;
	font-size: 12px;
	color: #e34c4c;
}

.msib-field__block.msib-has-error .msib-field__error {
	display: block;
}
