/* Formular Retragere OUG 18/2026
   Stiluri minime, mostenesc fontul si culorile temei. Totul are prefix .ro18- */

.ro18-wrap {
	max-width: 46rem;
	margin: 0 auto;
}

.ro18-wrap .ro18-h {
	margin: 0 0 .5rem;
}

.ro18-form fieldset {
	border: 1px solid currentColor;
	border-color: rgba(0, 0, 0, .15);
	border-radius: 4px;
	padding: 1rem 1.25rem 1.25rem;
	margin: 0 0 1.25rem;
}

.ro18-form legend {
	padding: 0 .4rem;
	font-weight: 600;
}

.ro18-field {
	margin: 0 0 1rem;
}

.ro18-field label {
	display: block;
	margin-bottom: .25rem;
	font-weight: 500;
}

.ro18-field input[type="text"],
.ro18-field input[type="email"],
.ro18-field input[type="tel"],
.ro18-field input[type="date"],
.ro18-field textarea {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.ro18-hint {
	display: block;
	margin-top: .25rem;
	font-size: .875em;
	opacity: .75;
}

.ro18-req {
	opacity: .7;
}

.ro18-radiogroup {
	padding: .75rem 1rem;
	margin-bottom: 1rem;
}

.ro18-radiogroup label {
	display: inline-block;
	margin-right: 1.25rem;
	font-weight: 400;
}

.ro18-produs-row {
	display: flex;
	gap: .75rem;
	margin-bottom: .5rem;
	flex-wrap: wrap;
}

.ro18-produs-nume {
	flex: 1 1 16rem;
}

.ro18-produs-cant {
	flex: 0 0 7rem;
}

.ro18-produs-row label {
	display: block;
	font-weight: 400;
}

.ro18-produs-row label span {
	display: block;
	font-size: .8125em;
	opacity: .75;
	margin-bottom: .2rem;
}

.ro18-produs-row input {
	width: 100%;
	box-sizing: border-box;
}

.ro18-consent label {
	font-weight: 400;
}

.ro18-errors {
	border-left: 3px solid #b32d2e;
	background: rgba(179, 45, 46, .07);
	padding: .75rem 1rem;
	margin-bottom: 1.25rem;
}

.ro18-errors ul {
	margin: .5rem 0 0 1.1rem;
}

.ro18-note {
	border-left: 3px solid #d98b00;
	background: rgba(217, 139, 0, .08);
	padding: .75rem 1rem;
	margin: 0 0 1.25rem;
}

.ro18-success {
	border-left: 3px solid #2e7d32;
	background: rgba(46, 125, 50, .08);
	padding: 1rem 1.25rem;
	margin-bottom: 1.5rem;
}

.ro18-summary {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 1.25rem;
}

.ro18-summary th,
.ro18-summary td {
	text-align: left;
	vertical-align: top;
	padding: .5rem .6rem;
	border-bottom: 1px solid rgba(0, 0, 0, .1);
}

.ro18-summary th {
	width: 38%;
	font-weight: 600;
}

.ro18-actions {
	display: flex;
	gap: 1rem;
	align-items: center;
	flex-wrap: wrap;
}

.ro18-add-row {
	cursor: pointer;
}

.ro18-hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.ro18-form :focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

@media (max-width: 480px) {
	.ro18-produs-cant {
		flex: 1 1 100%;
	}

	.ro18-summary th {
		width: 45%;
	}
}
