/* ==========================================================
   ORTODENT PROGRAMĂRI 1.1.0
   Design optimizat pentru formularul introdus în .od-form-card
   ========================================================== */

.odap-section {
	padding: clamp(70px, 8vw, 110px) 0;
	background: #ffffff;
	color: #252525;
}

.odap-section *,
.odap-section *::before,
.odap-section *::after {
	box-sizing: border-box;
}

.odap-shell {
	width: min(1180px, calc(100% - 40px));
	margin-inline: auto;
}

.odap-heading {
	margin-bottom: 34px;
}

.odap-heading h2 {
	margin: 0;
	color: #252525;
	font-size: clamp(2rem, 3.4vw, 3.3rem);
	line-height: 1.05;
	letter-spacing: -.045em;
}

.odap-eyebrow {
	margin: 0 0 12px;
	color: #ff6a13;
	font-size: .7rem;
	font-weight: 900;
	letter-spacing: .18em;
	text-transform: uppercase;
}

.odap-form {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: start;
	gap: 22px;
}

.odap-column {
	display: grid;
	gap: 18px;
	min-width: 0;
}

.odap-field {
	min-width: 0;
}

.odap-field input,
.odap-field select,
.odap-field textarea {
	display: block;
	width: 100%;
	margin: 0;
	border: 1px solid #dde2e6;
	border-radius: 12px;
	background: #ffffff;
	color: #343434;
	box-shadow: 0 8px 24px rgba(31, 40, 46, .035);
	font: inherit;
	font-size: 15px;
	transition:
		border-color .2s ease,
		box-shadow .2s ease,
		transform .2s ease;
}

.odap-field input,
.odap-field select {
	height: 56px;
	padding: 0 18px;
}

.odap-field select {
	padding-right: 40px;
	cursor: pointer;
}

.odap-field textarea {
	height: 212px;
	min-height: 212px;
	padding: 17px 18px;
	resize: vertical;
}

.odap-field input::placeholder,
.odap-field textarea::placeholder {
	color: #858b90;
	opacity: 1;
}

.odap-field input:hover,
.odap-field select:hover,
.odap-field textarea:hover {
	border-color: #c9d0d5;
}

.odap-field input:focus,
.odap-field select:focus,
.odap-field textarea:focus {
	border-color: #ff6a13;
	outline: 0;
	box-shadow:
		0 0 0 3px rgba(255, 106, 19, .12),
		0 12px 30px rgba(31, 40, 46, .05);
}

.odap-consent {
	display: grid;
	grid-template-columns: 18px minmax(0, 1fr);
	align-items: start;
	gap: 10px;
	margin: 0;
	padding: 15px 16px;
	border: 1px solid #eee4dd;
	border-radius: 12px;
	background: #fff9f5;
	color: #4f4f4f;
	font-size: 13.5px;
	line-height: 1.5;
	cursor: pointer;
}

.odap-consent input {
	width: 16px;
	height: 16px;
	margin: 2px 0 0;
	accent-color: #ff6a13;
}

.odap-consent a {
	color: #ff6a13;
	font-weight: 800;
	text-decoration: none;
}

.odap-consent a:hover,
.odap-consent a:focus {
	text-decoration: underline;
}

.odap-submit {
	display: inline-flex;
	width: 100%;
	min-height: 56px;
	align-items: center;
	justify-content: center;
	padding: 14px 24px;
	border: 0;
	border-radius: 999px;
	background: #ff6a13;
	box-shadow: 0 14px 30px rgba(255, 106, 19, .22);
	color: #ffffff;
	font-size: 14px;
	font-weight: 900;
	letter-spacing: .035em;
	text-transform: uppercase;
	cursor: pointer;
	transition:
		background .2s ease,
		box-shadow .2s ease,
		transform .2s ease;
}

.odap-submit:hover,
.odap-submit:focus {
	background: #e65300;
	box-shadow: 0 17px 34px rgba(230, 83, 0, .26);
	transform: translateY(-2px);
}

.odap-notice {
	display: grid;
	gap: 4px;
	margin-bottom: 24px;
	padding: 18px 20px;
	border-radius: 13px;
}

.odap-notice--success {
	background: #e9f8ef;
	color: #176339;
}

.odap-notice--error {
	background: #f8e7e3;
	color: #842d20;
}

.odap-honeypot {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

/* ==========================================================
   HOMEPAGE – formularul este deja într-un card al template-ului
   ========================================================== */

.od-form-card {
	position: relative;
	overflow: hidden;
	padding: clamp(30px, 4vw, 46px) !important;
	border: 1px solid #ebe5e1 !important;
	border-radius: 24px !important;
	background:
		linear-gradient(145deg, #ffffff 0%, #fffaf7 100%) !important;
	box-shadow:
		0 28px 80px rgba(32, 37, 41, .09) !important;
}

.od-form-card::before {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 5px;
	background: #ff6a13;
	content: "";
}

.od-form-card .odap-section {
	padding: 0;
	background: transparent;
}

.od-form-card .odap-shell {
	width: 100%;
	margin: 0;
}

.od-form-card .odap-heading {
	display: none;
}

/*
 * Transformăm cele trei coloane tehnice într-un singur grid modern,
 * cu două câmpuri pe rând.
 */
.od-form-card .odap-form {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.od-form-card .odap-column {
	display: contents;
}

.od-form-card .odap-field--textarea,
.od-form-card .odap-consent,
.od-form-card .odap-submit {
	grid-column: 1 / -1;
}

.od-form-card .odap-field input,
.od-form-card .odap-field select {
	height: 54px;
}

.od-form-card .odap-field textarea {
	height: 150px;
	min-height: 150px;
}

.od-form-card .odap-consent {
	margin-top: 2px;
}

.od-form-card .odap-submit {
	margin-top: 2px;
}

@media (max-width: 960px) {
	.odap-form {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.odap-column--last {
		grid-column: 1 / -1;
	}

	.od-form-card .odap-form {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.odap-shell {
		width: min(100% - 28px, 1180px);
	}

	.odap-form,
	.od-form-card .odap-form {
		grid-template-columns: 1fr;
	}

	.odap-column {
		gap: 16px;
	}

	.od-form-card {
		padding: 25px 18px 22px !important;
		border-radius: 18px !important;
	}

	.od-form-card .odap-field--textarea,
	.od-form-card .odap-consent,
	.od-form-card .odap-submit {
		grid-column: auto;
	}

	.odap-field input,
	.odap-field select {
		height: 54px;
		padding-inline: 16px;
	}

	.odap-field textarea {
		padding: 16px;
	}

	.odap-consent {
		font-size: 13px;
	}
}

/* Întrebări vizibile în formularul de programare Ortodent */
.odap-field .odap-visible-question {
    display: block;
    position: static;
    width: auto;
    height: auto;
    margin: 0 0 6px;
    padding: 0;
    overflow: visible;
    clip: auto;
    clip-path: none;
    white-space: normal;
    color: #252525;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
}
