	/* Stili specifici per la modale invio mail.
	   La struttura esterna della modale e in footer-links.php. */
	#modalInvioMail .mail-modal-dialog {
		max-width: 1040px;
		width: min(calc(100% - 32px), 1040px);
	}

	#modalInvioMail .mail-modal-content {
		background: var(--search-area-bg);
		color: var(--Font);
		border: 1px solid rgba(255, 255, 255, .10);
		border-radius: 18px;
		overflow: hidden;
		box-shadow: 0 18px 55px rgba(0, 0, 0, .35);
		display: flex;
		flex-direction: column;
		max-height: calc(100vh - 42px);
	}

	#modalInvioMail .mail-modal-heading {
		min-width: 0;
	}

	#modalInvioMail .mail-modal-header {
		flex: 0 0 auto;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		padding: 18px 20px;
		border-bottom: 1px solid rgba(255, 255, 255, .10);
		background: linear-gradient(135deg, rgba(102, 179, 255, .16), rgba(255, 255, 255, .025));
	}

	#modalInvioMail .mail-modal-title-wrap {
		display: flex;
		align-items: center;
		gap: 13px;
		min-width: 0;
	}

	#modalInvioMail .mail-modal-icon {
		width: 44px;
		height: 44px;
		border-radius: 14px;
		background: rgba(102, 179, 255, .18);
		border: 1px solid rgba(102, 179, 255, .28);
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 18px;
		color: #66b3ff;
		flex-shrink: 0;
	}

	#modalInvioMail .mail-modal-title {
		font-size: 18px;
		font-weight: 800;
		line-height: 1.15;
		margin: 0;
	}

	#modalInvioMail .mail-modal-subtitle {
		font-size: 12px;
		opacity: .68;
		margin-top: 4px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		max-width: 680px;
	}

	#modalInvioMail .mail-modal-doc-pill {
		display: inline-flex;
		align-items: center;
		gap: 7px;
		padding: 9px 12px;
		border-radius: 999px;
		font-size: 12px;
		font-weight: 800;
		background: rgba(255, 255, 255, .07);
		border: 1px solid rgba(255, 255, 255, .13);
		white-space: nowrap;
		max-width: 420px;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	#modalInvioMail .mail-modal-actions {
		display: flex;
		align-items: center;
		gap: 10px;
		flex-shrink: 0;
	}

	#modalInvioMail .mail-modal-scroll {
		flex: 1 1 auto;
		overflow-y: auto;
		padding: 18px 20px;
		min-height: 0;
	}

	#modalInvioMail .mail-modal-footer {
		flex: 0 0 auto;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		padding: 13px 20px;
		border-top: 1px solid rgba(255, 255, 255, .10);
		background: rgba(0, 0, 0, .12);
	}

	.mail-form-shell {
		padding: 0;
	}

	.mail-section {
		padding: 15px;
		border: 1px solid rgba(255, 255, 255, .09);
		border-radius: 14px;
		background: rgba(255, 255, 255, .025);
		margin-bottom: 14px;
	}

	.mail-section-title {
		display: flex;
		align-items: center;
		gap: 8px;
		font-size: 12px;
		font-weight: 800;
		text-transform: uppercase;
		letter-spacing: .04em;
		opacity: .72;
		margin-bottom: 13px;
	}

	.mail-form-label {
		font-size: 12px;
		font-weight: 700;
		margin-bottom: 5px;
		display: block;
	}

	.mail-required {
		color: #ef4444;
		font-weight: 900;
	}

	.inputrow,
	.mail-control {
		width: 100%;
		border-radius: 9px !important;
		padding: 8px 10px;
		min-height: 38px;
		background: var(--ui-control-bg, #fff);
		border-color: var(--ui-control-border, rgba(31, 38, 45, .24));
		color: var(--ui-text, var(--Font, #24282d));
	}

	.mail-control::placeholder {
		color: var(--ui-muted, #65707c);
		opacity: 1;
	}

	.mail-input-group .form-control {
		border-top-right-radius: 0 !important;
		border-bottom-right-radius: 0 !important;
	}

	.mail-input-group .btn {
		border-top-left-radius: 0 !important;
		border-bottom-left-radius: 0 !important;
		min-height: 38px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.mail-help {
		font-size: 11px;
		opacity: .56;
		margin-top: 5px;
	}

	.mail-document-row {
		display: flex;
		gap: 8px;
	}

	.mail-document-row input {
		min-width: 0;
	}

	.mail-zip-badge {
		display: inline-flex;
		align-items: center;
		gap: 7px;
		padding: 9px 11px;
		border-radius: 10px;
		font-size: 12px;
		font-weight: 700;
		background: rgba(34, 197, 94, .12);
		border: 1px solid rgba(34, 197, 94, .25);
		color: #22c55e;
		min-height: 38px;
	}

	.mail-document-box {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
		min-height: 42px;
		padding: 8px 10px;
		border-radius: 10px;
		background: rgba(255, 255, 255, .045);
		border: 1px solid rgba(255, 255, 255, .10);
	}

	.mail-document-name {
		display: flex;
		align-items: center;
		gap: 8px;
		min-width: 0;
		font-size: 13px;
		font-weight: 700;
	}

	.mail-document-name i {
		color: #ef4444;
		font-size: 17px;
		flex-shrink: 0;
	}

	.mail-document-name span {
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.mail-attachments-zone {
		position: relative;
		min-height: 42px;
		border: 1px dashed rgba(102, 179, 255, .45);
		border-radius: 10px;
		background: rgba(102, 179, 255, .055);
		padding: 9px 11px;
		cursor: pointer;
		transition: .15s ease;
	}

	.mail-attachments-zone:hover,
	.mail-attachments-zone.is-dragover {
		background: rgba(102, 179, 255, .11);
		border-color: rgba(102, 179, 255, .75);
	}

	.mail-attachments-zone input[type="file"] {
		display: none;
	}

	.mail-attachments-placeholder {
		display: flex;
		align-items: center;
		gap: 8px;
		font-size: 12px;
		font-weight: 700;
		opacity: .78;
	}

	.mail-attachments-placeholder i {
		color: #66b3ff;
	}

	.mail-attachments-list {
		margin-top: 8px;
		display: flex;
		flex-direction: column;
		gap: 6px;
	}

	.mail-attachment-item {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
		padding: 6px 8px;
		border-radius: 8px;
		background: rgba(255, 255, 255, .06);
		font-size: 12px;
	}

	.mail-attachment-name {
		display: flex;
		align-items: center;
		gap: 7px;
		min-width: 0;
	}

	.mail-attachment-name span {
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}


	.mail-attachment-actions {
		display: inline-flex;
		align-items: center;
		gap: 6px;
		flex-shrink: 0;
	}

	.mail-attachment-preview {
		border: 0;
		background: rgba(102, 179, 255, .14);
		color: #66b3ff;
		border-radius: 7px;
		width: 25px;
		height: 25px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		cursor: pointer;
	}

	#mailAttachmentPreviewModal .modal-content {
		background: var(--search-area-bg);
		color: var(--Font);
		border-radius: 16px;
		overflow: hidden;
	}

	#mailAttachmentPreviewModal .mail-attachment-preview-body {
		min-height: calc(100vh - 210px);
		background: rgba(255, 255, 255, .03);
	}

	#mailAttachmentPreviewModal .mail-attachment-preview-frame,
	#mailAttachmentPreviewModal .mail-attachment-preview-img {
		width: 100%;
		height: calc(100vh - 210px);
		border: 0;
		background: #fff;
	}

	#mailAttachmentPreviewModal .mail-attachment-preview-img {
		object-fit: contain;
		padding: 12px;
		background: rgba(0, 0, 0, .18);
	}

	#mailAttachmentPreviewModal .mail-attachment-preview-text {
		width: 100%;
		height: calc(100vh - 210px);
		margin: 0;
		padding: 16px;
		overflow: auto;
		white-space: pre-wrap;
		word-break: break-word;
		background: #fff;
		color: #111827;
		font-size: 13px;
	}

	#mailAttachmentPreviewModal .mail-attachment-preview-empty {
		min-height: calc(100vh - 210px);
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		padding: 28px;
		opacity: .78;
	}

	.mail-attachment-remove {
		border: 0;
		background: rgba(239, 68, 68, .14);
		color: #ef4444;
		border-radius: 7px;
		width: 25px;
		height: 25px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		cursor: pointer;
	}

	#mailPreviewModal .modal-content {
		background: var(--search-area-bg);
		color: var(--Font);
		border-radius: 16px;
		overflow: hidden;
	}

	#mailPreviewModal .mail-preview-frame {
		width: 100%;
		height: calc(100vh - 190px);
		border: 0;
		background: #fff;
	}

	@media (max-width: 767px) {
		#modalInvioMail .mail-modal-dialog {
			max-width: none;
			width: calc(100% - 16px);
		}

		#modalInvioMail .mail-modal-header {
			align-items: flex-start;
			flex-direction: column;
		}

		#modalInvioMail .mail-modal-actions {
			width: 100%;
			justify-content: space-between;
		}

		#modalInvioMail .mail-modal-doc-pill {
			max-width: 100%;
		}
	}

	#Destinatario.mail-empty-error {
		border: 1px solid var(--ui-danger, #ef4444) !important;
		box-shadow: 0 0 0 3px rgba(239, 68, 68, .18) !important;
		background: var(--ui-control-bg, #fff) !important;
	}

	.mail-empty-warning {
		color: #ef4444;
		font-size: 11px;
		font-weight: 700;
		margin-top: 5px;
		display: none;
	}

	.mail-empty-warning.show {
		display: block;
	}
