/* RTKSA Contact Widget — default styles.
   !important is used on the form's own look-and-feel (borders, radius,
   background, font) because many WordPress themes ship global
   `input, select, textarea, button { border/radius/font... }` rules that
   otherwise load after this file and silently override it. */

.rtksa-ew-contact { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; width: 100%; box-sizing: border-box; overflow-x: hidden; }
.rtksa-ew-contact *, .rtksa-ew-contact *::before, .rtksa-ew-contact *::after { box-sizing: border-box; }

.rtksa-ew-contact-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: start; width: 100%; }
.rtksa-ew-contact-grid > * { min-width: 0; max-width: 100%; }
@media (max-width: 900px) { .rtksa-ew-contact-grid { grid-template-columns: 1fr; } }

/* Form card */
.rtksa-ew-cf-card {
	background: #fff !important; border: 1px solid #DDE2E9 !important;
	border-radius: 20px !important; padding: 36px !important;
	box-shadow: 0 4px 20px rgba(6,26,51,.05) !important;
}
.rtksa-ew-cf-heading {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	font-size: 19px !important; font-weight: 800 !important; color: #14181F !important; margin: 0 0 22px !important;
}

.rtksa-ew-cf-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
@media (max-width: 520px) { .rtksa-ew-cf-row { grid-template-columns: 1fr; } }

.rtksa-ew-cf-field { margin-bottom: 18px; }
.rtksa-ew-cf-field label {
	display: block !important; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	font-weight: 700 !important; font-size: 13px !important; margin: 0 0 7px !important; color: #14181F !important;
}
.rtksa-ew-cf-optional { font-weight: 400 !important; color: #8B93A1 !important; font-size: 12px !important; }

.rtksa-ew-cf-input,
select.rtksa-ew-cf-input,
textarea.rtksa-ew-cf-input {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 12px 14px !important;
	border: 1.5px solid #DDE2E9 !important;
	border-radius: 10px !important;
	font-size: 14px !important;
	background-color: #fff !important;
	background-image: none;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	color: #14181F !important;
	box-shadow: none !important;
	-webkit-appearance: none;
	appearance: none;
	height: auto !important;
	line-height: normal !important;
	min-height: 0 !important;
}
select.rtksa-ew-cf-input {
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3e%3cpath d='M1 1l6 6 6-6' stroke='%235B6472' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
	padding-right: 36px !important;
}
textarea.rtksa-ew-cf-input { resize: vertical; }
.rtksa-ew-cf-input:focus { outline: none !important; border-color: #1470D6 !important; }
.rtksa-ew-cf-field-error { display: block; color: #D64545; font-size: 12px; margin-top: 5px; min-height: 14px; }
.rtksa-ew-cf-field.has-error .rtksa-ew-cf-input { border-color: #D64545 !important; }

.rtksa-ew-cf-hp { position: absolute; left: -9999px; top: -9999px; opacity: 0; height: 0; overflow: hidden; }

.rtksa-ew-cf-submit {
	position: relative !important; display: inline-flex !important; align-items: center !important; justify-content: center !important;
	gap: 8px !important; width: 100% !important;
	background: #0F55A8 !important; color: #fff !important; border: none !important;
	padding: 15px 26px !important; border-radius: 99px !important;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	font-weight: 800 !important; font-size: 14px !important; cursor: pointer; transition: background .15s ease;
	box-shadow: none !important; text-transform: none !important; letter-spacing: normal !important;
}
.rtksa-ew-cf-submit:hover { background: #1470D6 !important; color: #fff !important; }
.rtksa-ew-cf-submit[disabled] { opacity: .65; pointer-events: none; }
.rtksa-ew-cf-spinner { display: none; width: 15px; height: 15px; border-radius: 50%; border: 2px solid rgba(255,255,255,.4); border-top-color: #fff; animation: rtksa-ew-cf-spin .7s linear infinite; }
.rtksa-ew-cf-submit.is-loading .rtksa-ew-cf-spinner { display: inline-block; }
.rtksa-ew-cf-submit.is-loading .rtksa-ew-cf-submit-text { opacity: .75; }
@keyframes rtksa-ew-cf-spin { to { transform: rotate(360deg); } }

.rtksa-ew-cf-form-error { color: #D64545; font-size: 13px; margin-top: 14px; text-align: center; min-height: 14px; }

.rtksa-ew-cf-success {
	display: none; align-items: flex-start !important; gap: 12px !important; margin-top: 18px !important;
	background: #E1FAF0 !important; border: 1px solid #A9E9CD !important; border-radius: 14px !important; padding: 16px 18px !important;
	color: #0E9E64 !important;
}
.rtksa-ew-cf-success svg { flex-shrink: 0; margin-top: 2px; }
.rtksa-ew-cf-success strong { display: block !important; color: #0E9E64 !important; font-size: 14px !important; }
.rtksa-ew-cf-success p { margin: 4px 0 0 !important; color: #146B4B !important; font-size: 13px !important; }

/* Info cards */
.rtksa-ew-info-list { display: flex; flex-direction: column; gap: 20px; }
.rtksa-ew-info-card { display: flex; align-items: flex-start; gap: 16px; background: #fff !important; border: 1px solid #DDE2E9 !important; border-radius: 16px !important; padding: 22px !important; }
a.rtksa-ew-info-card { text-decoration: none; color: inherit; transition: border-color .15s, box-shadow .15s, transform .15s; cursor: pointer; }
a.rtksa-ew-info-card:hover { border-color: #0F55A8 !important; box-shadow: 0 6px 18px rgba(6,26,51,.1); transform: translateY(-2px); }

.rtksa-ew-icon-badge {
	width: 44px; height: 44px; border-radius: 12px !important; display: flex; align-items: center; justify-content: center;
	flex-shrink: 0; font-size: 18px;
}
.rtksa-ew-icon-badge.is-blue { background: #E4F0FE !important; color: #0F55A8 !important; }
.rtksa-ew-icon-badge.is-green { background: #E1FAF0 !important; color: #0E9E64 !important; }

.rtksa-ew-info-title { font-size: 15px !important; font-weight: 700 !important; color: #14181F !important; margin: 0 !important; }
.rtksa-ew-info-desc { font-size: 13px !important; color: #5B6472 !important; margin: 5px 0 0 !important; line-height: 1.55 !important; }
