div.productForm {
	.form {
		div {
			&.line {
				div {
					&.block {
						&.r {
							padding:0;

							.cb {
								&+label {
									line-height: 40px;

									&:before,
									&:after {
										top:50%;
										transform:translateY(-50%);
									}
								}
							}
						}

						a {
							display:inline-block;
							font-size:14px;
							text-decoration:underline;
							margin-top:10px;

							&:hover {
								text-decoration:none;
							}
						}
					}
				}
			}
		}
	}

	#orderForm {
		&[data-step="1"] {
			.line {
				&:not(:has(#notificationEMail:checked)) {
					.block {
						&:has(#email) {
							display:none;
						}

						&.r {
							&>label {
								&:first-child {
									display:none;
								}
							}

							.cb {
								&+label {
									line-height: 20px;
								}
							}
						}
					}
				}
			}

			&:not(:has(#insuredType option[value="OTHER"]:checked)) {
				.line {
					&:has(#insuredIin) {
						display:none;
					}
				}
			}
		}

		&[data-step="2"] {
			.line {
				&:has(#paymentOrder option[value="OT"]:checked) {
					.block {
						&:has(#paymentPeriod) {
							display:none;
						}
					}
				}
			}
		}

		&[data-step="3"] {
			&:not(:has(#healthDeclaration:checked)) {
				&:not(:has([name*="question"][value="y"]:checked)) {
					#actionLine {
						input {
							&.btn {
								pointer-events:none;
								opacity:0.5;
								background: rgba(244,115,22,.3);
								cursor:default;
								color:var(--NomadColor);
							}
						}
					}
				}
			}
		}

		&:has(#healthDeclaration) {
			&:has(#healthDeclaration:checked) {
				.line {
					&.questions {
						display:none;
					}
				}
			}
		}

		.line {
			&.description {
				p {
					width:100%;
				}
			}
		}
	}

	dl {
		&.line {
			display:flex;
			flex-direction:column;
			gap:30px;
			margin-top:20px;

			dt {
				font-size: 18px;
				font-weight: 500;
			}

			dd {
				padding:0;
				margin:0;
				display:flex;
				flex-direction:column;
				gap:20px;

				.line {
					&+.line {
						margin:0;
					}

					.actions {
						display:flex;
						gap:30px;
						row-gap:10px;
						flex-wrap:wrap;
						align-items:center;

						input {
							&.cb {
								&~* {
									margin:0;
								}
							}
						}
					}
				}
			}
		}
	}
}