div.productForm {
	.form {
		div {
			&.line {
				&>label {
					&:first-child {
						margin:0;
					}
				}

				&:has(#property) {
					.block {
						&:has(option[value="n"]:checked) {
							&+.block {
								display:none;
							}
						}
					}
				}

				&:has(#financialIncome) {
					.block {
						&:nth-child(2) {
							&:not(:has(a)) {
								display:none;
							}
						}
					}
				}

				div {
					&.block {
						&.r {
							padding:0;

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

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

						&#financialDocument {
							a {
								margin:0;
							}
						}

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

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

					&.t {
						width:100%;

						&.family {
							&:has(option[value="FATHER"]:checked) {
								option[value="FATHER"] {
									display:none;

									&:checked {
										display:block;
									}
								}
							}

							&:not(:has(.r:nth-child(2))) {
								display:none;
							}

							&:has(option[value="MOTHER"]:checked) {
								option[value="MOTHER"] {
									display:none;

									&:checked {
										display:block;
									}
								}
							}
						}

						&.obligations {
							&:not(:has(.r:nth-child(2))) {
								display:none;
							}
						}

						.r {
							& + .r {
								.c {
									padding-top:10px;
								}
							}

							.c {
								padding:0;
								font-size:14px;

								& + .c {
									padding-left:20px;
								}

								&.h {
									font-weight:500;
								}

								&:not(:has(select[name*="death_diagnosis"] option[value="DISEASE"]:checked)) {
									select[name*="death_diagnosis_disease"] {
										display:none;
									}
								}
							}
						}

						&.financial {
							.r {
								&.h {
									.c {
										font-size:16px;
										font-weight:500;
									}
								}
							}
						}
					}
				}
			}
		}
	}

	#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;
								}
							}
						}
					}
				}

				&:has(#profession) {
					&:not(:has(#profession option[data-other="1"]:checked)) {
						.block {
							&:has(#otherProfession) {
								display:none;
							}
						}
					}

					&:has(#profession option[data-other="1"]:checked) {
						.block {
							flex:0 0 calc((100% - var(--Gap))/2);
						}
					}
				}
			}

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

			&:not(:has(#hasExtraInsured:checked)) {
				.line {
					&.insured {
						display:none;
					}
				}
			}
		}

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

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

				#actionLine {
					.ben {
						display:none;
					}
				}
			}

			#actionLine {
				.ben {
					.btn {
						padding:0 10px;
						margin:0;
						text-decoration:none;
						font-size:18px;
					}
				}
			}

			.beneficiaries {
				display:flex;
				flex-direction:column;
				gap:20px;

				.beneficiary {
					&:first-child {
						.block {
							&.delete {
								display:none;
							}
						}
					}
				}
			}

			.block {
				&.delete {
					flex:1;
					align-items:flex-end;
					justify-content:flex-end;
					height:100%;
					align-self:center;
					display:flex;

					.delete {
						display:inline-block;
						padding:0 10px;
						margin:0;
						text-decoration:none;
						font-size:18px;
						color:var(--NomadColor);

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

		&[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);
							}
						}
					}
				}
			} */

			.block {
				&:has(#criticalDiseases option[value="0"]:checked) {
					&~.block {
						&:has(#criticalDiseaseAmount) {
							display:none;
						}
					}
				}
			}
		}

		&[data-step="5"] {
			&:has(#financialIncome){
				&:not(:has(#financialDocument a)) {
					#actionLine {
						input {
							&.btn {
								pointer-events:none;
								opacity:0.5;
								background: rgba(244,115,22,.3);
								cursor:default;
								color:var(--NomadColor);
							}
						}
					}
				}
			}
		}

		&[data-step="6"] {
			.line {
				&.step {
					display:flex;
					flex-direction:column;
					gap:15px;

					.actions {
						margin:0;

						display:flex;
						flex-wrap:wrap;
						gap:10px;
						column-gap:30px;

						input.cb+label+input.cb+label {
							margin:0;
						}
					}

					.line {
						gap:10px;
					}

					&[data-step] {
						.actions {
							&:has([id^="question"][id$="N"]:not([id*="_"]):checked) {
								&~.line,
								&~.actions {
									display:none;
								}
							}
						}
					}

					&[data-step="6"] {
						&:not(:has(#question6_8N:checked)) {
							.line {
								display:none;
							}
						}
					}
				}
			}
		}

		&[data-step="7"] {
			&:has(.line.sign .btn) {
				.line {
					&.actions {
						input {
							&.btn {
								display:none;
							}
						}
					}
				}
			}

			.line {
				&.sign {
					display:flex;
					flex-direction:row;
					gap:15px;
					align-items:center;

					.title {
						font-size:18px;
						font-weight:500;
						margin:0;
						flex:1;
					}

					.action {
						display:flex;
						align-items:center;
						gap:15px;
						position:relative;

						.signed {
							font-size:14px;
							font-weight:500;
							color:var(--NomadColor);
							white-space:nowrap;
						}

						.message {
							&.error {
								position:absolute;
								top:100%;
								right:0;
								margin-top:10px;
								color:var(--NomadColor);
								font-weight:500;
								white-space:nowrap;
								text-align:right;
								pointer-events:none;
								z-index:1;
							}
						}
					}
				}
			}
		}

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

		.line {
			&:has(.t.family,.t.obligations) {
				flex-direction:column;
			}

			&.fw {
				flex-wrap:wrap;

				.block {
					&>label {
						&:first-child {
							white-space:nowrap;
						}
					}
				}
			}

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

			&.sticky {
				position:sticky;
				top:0;
				z-index:10;
				background:#fff;
				padding:20px 0;
				margin-bottom:-20px;
			}

			&.insured {
				h2 {
					&.title {
						margin:0;
					}
				}

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

					&:has([id^="profession"]) {
						&:not(:has([id^="profession"] option[data-other="1"]:checked)) {
							.block {
								&:has([id^="otherProfession"]) {
									display:none;
								}
							}
						}

						&:has([id^="profession"] option[data-other="1"]:checked) {
							.block {
								flex:0 0 calc((100% - var(--Gap))/2);
							}
						}
					}
				}
			}

			&:has(#financialObligations) {
				&:has(option[value="n"]:checked) {
					&+.line {
						display:none;
					}
				}
			}
		}
	}

	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;
								}
							}
						}
					}
				}
			}
		}
	}
}