/* EcoHealth CF7 Company Form – scoped hoàn toàn bằng .ehcf7-form */
.ehcf7-form {
	--eh-primary: #0a369d;
	--eh-primary-2: #234fd1;
	--eh-green: #087e57;
	--eh-green-dark: #035f41;
	--eh-title: #113b32;
	--eh-text: #596b65;
	--eh-border: #d8e6e0;
	--eh-danger: #d63638;
	width: 100%;
	max-width: none;
	margin: 0;
	color: var(--eh-text);
	background: #fff;
	border-radius: 18px;
	overflow: visible;
	box-shadow: none;
}
.ehcf7-form, .ehcf7-form *, .ehcf7-form *::before, .ehcf7-form *::after { box-sizing: border-box; }
.ehcf7-form p, .ehcf7-form h2, .ehcf7-form h3, .ehcf7-form label { margin: 0; padding: 0; }
.ehcf7-form label { display: block; width: 100%; min-height: 0; line-height: normal; }
.ehcf7-form br, .ehcf7-form p:empty { display: none; }
.ehcf7-form .wpcf7-form-control-wrap { display: block; width: 100%; margin: 0; line-height: normal; }

.ehcf7-form__intro {
	position: relative;
	padding: 36px 40px 32px;
	color: #fff;
	background:
		radial-gradient(circle at 91% 100%, rgba(255,255,255,.09) 0 15%, transparent 15.2%),
		radial-gradient(circle at 91% 100%, rgba(255,255,255,.06) 0 24%, transparent 24.2%),
		linear-gradient(135deg, var(--eh-primary), var(--eh-primary-2));
	overflow: hidden;
}
.ehcf7-form__eyebrow {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 18px;
	color: rgba(255,255,255,.82);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .09em;
}
.ehcf7-form__eyebrow::before { content:""; width:23px; height:2px; background:#dca93c; }
.ehcf7-form .ehcf7-form__title {
	max-width: 680px;
	margin: 0 0 18px;
	color: #fff;
	font-size: clamp(25px, 3vw, 35px);
	font-weight: 700;
	line-height: 1.18;
	letter-spacing: -.025em;
}
.ehcf7-form .ehcf7-form__description {
	max-width: 650px;
	color: rgba(255,255,255,.92);
	font-size: 14px;
	line-height: 1.65;
}
.ehcf7-form__body { padding: 28px 34px 32px; background:#fff; }
.ehcf7-section { margin:0 0 24px; padding:0 0 24px; border-bottom:1px solid #e5eeea; }
.ehcf7-section:last-of-type { margin-bottom:19px; }
.ehcf7-section__heading { display:flex; align-items:center; gap:11px; margin:0 0 18px; }
.ehcf7-section__number {
	display:inline-flex; align-items:center; justify-content:center;
	flex:0 0 34px; width:34px; height:34px; border-radius:9px;
	background:#e9f8f2; color:#0754c8; font-size:12px; font-weight:800;
}
.ehcf7-form .ehcf7-section__title { color:var(--eh-title); font-size:18px; line-height:1.35; }
.ehcf7-grid { display:grid; width:100%; gap:17px 20px; }
.ehcf7-grid--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ehcf7-field { min-width:0; min-height:0; margin:0; }
.ehcf7-field--full { grid-column:1/-1; }
.ehcf7-label { display:block; margin:0 0 7px; color:var(--eh-title); font-size:13px; font-weight:600; line-height:1.4; }
.ehcf7-required { color:var(--eh-danger); }

.ehcf7-form input.ehcf7-control,
.ehcf7-form select.ehcf7-control,
.ehcf7-form textarea.ehcf7-control {
	display:block; width:100%; min-width:0; margin:0;
	border:1px solid var(--eh-border); border-radius:9px;
	background-color:#fff; color:var(--eh-title);
	font:400 14px/1.4 inherit; box-shadow:none; outline:none;
	transition:border-color .2s ease, box-shadow .2s ease;
}
.ehcf7-form input.ehcf7-control,
.ehcf7-form select.ehcf7-control { height:47px; min-height:47px; padding:10px 13px; }
.ehcf7-form textarea.ehcf7-control { min-height:100px; max-height:190px; padding:12px 13px; resize:vertical; }
.ehcf7-form input.ehcf7-control:focus,
.ehcf7-form select.ehcf7-control:focus,
.ehcf7-form textarea.ehcf7-control:focus { border-color:var(--eh-green); box-shadow:0 0 0 3px rgba(8,126,87,.11); }
.ehcf7-form select.ehcf7-control {
	padding-right:40px; appearance:none; -webkit-appearance:none; cursor:pointer;
	background-image:linear-gradient(45deg,transparent 50%,var(--eh-green) 50%),linear-gradient(135deg,var(--eh-green) 50%,transparent 50%);
	background-position:calc(100% - 17px) 20px,calc(100% - 12px) 20px;
	background-size:5px 5px; background-repeat:no-repeat;
}
.ehcf7-form select.ehcf7-control:disabled { background-color:#f5f7f6; color:#95a29e; cursor:not-allowed; }

.ehcf7-address-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px 18px; }
.ehcf7-address-item { min-width:0; }
.ehcf7-address-item--full { grid-column:1/-1; }
.ehcf7-address-label { display:block; margin:0 0 7px; color:#52655f; font-size:12px; font-weight:500; }
.ehcf7-address-status { display:block; min-height:16px; margin-top:7px; color:#6d7f79; font-size:11px; }
.ehcf7-address-status.is-error { color:var(--eh-danger); }

.ehcf7-form__footer { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.ehcf7-privacy { flex:1 1 auto; max-width:520px; color:#72827d; font-size:11px; line-height:1.5; }
.ehcf7-submit-wrap { position:relative; flex:0 0 auto; }
.ehcf7-form input.ehcf7-submit {
	width:auto; min-width:210px; min-height:48px; margin:0; padding:12px 23px;
	border:0; border-radius:9px; color:#fff; background:linear-gradient(135deg,var(--eh-green),var(--eh-green-dark));
	font:700 14px/1.3 inherit; text-transform:none; letter-spacing:0; cursor:pointer;
	box-shadow:0 9px 20px rgba(8,126,87,.2);
}
.ehcf7-form .wpcf7-not-valid { border-color:var(--eh-danger)!important; }
.ehcf7-form .wpcf7-not-valid-tip { display:block; margin:5px 0 0; color:var(--eh-danger); font-size:11px; }
.ehcf7-form .wpcf7-response-output { margin:18px 0 0!important; padding:11px 13px!important; border-width:1px!important; border-radius:8px; font-size:12px; }

/* Popup wrapper phổ biến. Có thể thay bằng class thật của global_popup. */
.global-popup:has(.ehcf7-form),
.global-popup-content:has(.ehcf7-form),
.global-popup__content:has(.ehcf7-form),
.popup-content:has(.ehcf7-form),
.modal-content:has(.ehcf7-form) {
	/* width:min(920px,calc(100vw - 40px))!important;
	max-width:920px!important;
	max-height:calc(100dvh - 40px)!important; */
	margin:auto!important;
	padding:0!important;
	border:0!important;
	border-radius:18px!important;
	background:transparent!important;
	overflow-x:hidden!important;
	overflow-y:auto!important;
	box-shadow:none!important;
}
.page-template-ksk-dn .global-popup-body {
	padding: 0 !important;
}
.global-popup:has(.ehcf7-form) .wpcf7,
.global-popup-content:has(.ehcf7-form) .wpcf7,
.global-popup__content:has(.ehcf7-form) .wpcf7,
.popup-content:has(.ehcf7-form) .wpcf7,
.modal-content:has(.ehcf7-form) .wpcf7 { display:block; width:100%; max-width:none; margin:0; }

.ehcf7-form .ehcf7-native-select {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

.ehcf7-form .ehcf7-autocomplete {
	position: relative;
	width: 100%;
}

.ehcf7-form .ehcf7-autocomplete__input {
	display: block;
	width: 100%;
	height: 47px;
	padding: 10px 42px 10px 13px;
	border: 1px solid #d8e6e0;
	border-radius: 9px;
	background: #fff;
	color: #113b32;
	font-family: inherit;
	font-size: 14px;
	outline: none;
	box-shadow: none;
}

.ehcf7-form .ehcf7-autocomplete__input:focus {
	border-color: #087e57;
	box-shadow: 0 0 0 3px rgba(8, 126, 87, 0.11);
}

.ehcf7-form .ehcf7-autocomplete__input.is-selected {
	background: #f2faf7;
	border-color: #087e57;
	font-weight: 600;
}

.ehcf7-form .ehcf7-autocomplete__input:disabled {
	background: #f4f7f6;
	color: #9aa7a3;
	cursor: not-allowed;
}

.ehcf7-form .ehcf7-autocomplete__icon {
	position: absolute;
	top: 50%;
	right: 15px;
	width: 14px;
	height: 14px;
	border: 2px solid #16815e;
	border-radius: 50%;
	transform: translateY(-60%);
	pointer-events: none;
}

.ehcf7-form .ehcf7-autocomplete__icon::after {
	content: "";
	position: absolute;
	right: -5px;
	bottom: -4px;
	width: 6px;
	height: 2px;
	border-radius: 2px;
	background: #16815e;
	transform: rotate(45deg);
}

.ehcf7-form .ehcf7-autocomplete__dropdown {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	right: 0;
	z-index: 100;
	display: none;
	max-height: 240px;
	overflow-y: auto;
	padding: 6px;
	border: 1px solid #d8e6e0;
	border-radius: 9px;
	background: #fff;
	box-shadow: 0 14px 35px rgba(24, 63, 51, 0.16);
}

.ehcf7-form .ehcf7-autocomplete.is-open
	.ehcf7-autocomplete__dropdown {
	display: block;
}

.ehcf7-form .ehcf7-autocomplete__option {
	display: block;
	width: 100%;
	padding: 10px 11px;
	border: 0;
	border-radius: 7px;
	background: transparent;
	color: #113b32;
	font-family: inherit;
	font-size: 13px;
	line-height: 1.4;
	text-align: left;
	cursor: pointer;
}

.ehcf7-form .ehcf7-autocomplete__option:hover,
.ehcf7-form .ehcf7-autocomplete__option.is-active {
	background: #edf8f4;
	color: #087e57;
}

.ehcf7-form .ehcf7-autocomplete__empty {
	padding: 11px;
	color: #7a8984;
	font-size: 12px;
	text-align: center;
}

@media (max-width:767.98px) {
	.ehcf7-form__intro { padding:28px 24px 25px; }
	.ehcf7-form__body { padding:23px; }
	.ehcf7-grid--2, .ehcf7-address-grid { grid-template-columns:1fr; }
	.ehcf7-field--full, .ehcf7-address-item--full { grid-column:auto; }
	.ehcf7-form__footer { align-items:stretch; flex-direction:column; gap:13px; }
	.ehcf7-privacy { max-width:none; text-align:center; }
	.ehcf7-submit-wrap, .ehcf7-form input.ehcf7-submit { width:100%; }
}
@media (max-width:479.98px) {
	.ehcf7-form { border-radius:0; }
	.ehcf7-form__intro { padding:23px 17px 21px; }
	.ehcf7-form .ehcf7-form__title { font-size:21px; }
	.ehcf7-form__body { padding:20px 16px 24px; }
	.ehcf7-form input.ehcf7-control,
	.ehcf7-form select.ehcf7-control,
	.ehcf7-form textarea.ehcf7-control { font-size:16px; }
}
