/**
 * NISM WPForms styling
 *
 * WPForms runs in "Modern Markup" mode, which styles fields through CSS custom
 * properties set per-form (inline). Plain input rules get out-specified, so the
 * primary mechanism here is overriding those CSS variables with !important
 * (beats the per-form inline values regardless of specificity). Direct rules
 * below cover focus, hover, spacing and classic-markup fallback.
 *
 * Brand: blue #009fc6 / hover #007a99, ink #161721, border #e5e7eb.
 */

/* ── Modern Markup CSS variables (primary control) ────────────────────── */
.wpforms-container-full,
div.wpforms-container-full {
	--wpforms-field-border-radius: 12px !important;
	--wpforms-field-border-style: solid !important;
	--wpforms-field-border-size: 1px !important;
	--wpforms-field-background-color: #ffffff !important;
	--wpforms-field-border-color: #e5e7eb !important;
	--wpforms-field-text-color: #161721 !important;
	--wpforms-field-menu-color: #ffffff !important;

	--wpforms-label-color: #161721 !important;
	--wpforms-label-sublabel-color: #9ca3af !important;
	--wpforms-label-error-color: #ef4444 !important;

	--wpforms-button-border-radius: 9999px !important;
	--wpforms-button-border-style: none !important;
	--wpforms-button-background-color: #009fc6 !important;
	--wpforms-button-text-color: #ffffff !important;

	--wpforms-page-break-color: #009fc6 !important;
}

/* ── Field + label rhythm ─────────────────────────────────────────────── */
.wpforms-container .wpforms-field { padding: 0 0 18px; }

.wpforms-container .wpforms-field-label {
	font-weight: 600 !important;
	color: #161721 !important;
	font-size: 15px !important;
	line-height: 1.4 !important;
	margin: 0 0 8px !important;
}

.wpforms-container .wpforms-field-sublabel {
	font-weight: 400 !important;
	color: #9ca3af !important;
	font-size: 12px !important;
}

.wpforms-container .wpforms-required-label { color: #ef4444 !important; }

.wpforms-container .wpforms-field-description {
	color: #6b7280;
	font-size: 13px;
	line-height: 1.5;
	margin-top: 6px;
}

/* ── Inputs (classic fallback + reinforce modern) ─────────────────────── */
.wpforms-container input[type="text"],
.wpforms-container input[type="email"],
.wpforms-container input[type="tel"],
.wpforms-container input[type="url"],
.wpforms-container input[type="number"],
.wpforms-container input[type="password"],
.wpforms-container input[type="date"],
.wpforms-container input[type="search"],
.wpforms-container textarea,
.wpforms-container select {
	width: 100% !important;
	padding: 12px 16px !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 12px !important;
	background-color: #fff !important;
	color: #161721 !important;
	font-size: 15px !important;
	line-height: 1.5 !important;
	box-shadow: none;
	transition: border-color .2s ease, box-shadow .2s ease;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.wpforms-container textarea { min-height: 120px !important; resize: vertical; }

/* Ignore WPForms "field size" (small/medium/large) width caps — fields fill their
   column so they match the container instead of stopping short. */
.wpforms-container .wpforms-field-small,
.wpforms-container .wpforms-field-medium,
.wpforms-container .wpforms-field-large,
.wpforms-container input.wpforms-field-small,
.wpforms-container input.wpforms-field-medium,
.wpforms-container input.wpforms-field-large,
.wpforms-container textarea.wpforms-field-small,
.wpforms-container textarea.wpforms-field-medium,
.wpforms-container textarea.wpforms-field-large,
.wpforms-container select.wpforms-field-small,
.wpforms-container select.wpforms-field-medium,
.wpforms-container select.wpforms-field-large { max-width: 100% !important; width: 100% !important; }

.wpforms-container input::placeholder,
.wpforms-container textarea::placeholder { color: #9ca3af; }

.wpforms-container input:focus,
.wpforms-container textarea:focus,
.wpforms-container select:focus {
	outline: none !important;
	border-color: #009fc6 !important;
	box-shadow: 0 0 0 3px rgba(0, 159, 198, 0.15) !important;
}

.wpforms-container select {
	padding-right: 40px !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 14px;
}

.wpforms-container input[type="checkbox"],
.wpforms-container input[type="radio"] { accent-color: #009fc6; width: auto !important; }

/* Smart phone field: leave room for the intl-tel-input country flag so it
   doesn't overlap the number (our blanket padding above would otherwise clear
   the space the flag needs). */
.wpforms-container .iti { display: block; width: 100%; }
.wpforms-container .iti input[type="tel"],
.wpforms-container .iti input.wpforms-field-phone { padding-left: 52px !important; }

/* ── Submit + multi-step buttons ──────────────────────────────────────── */
.wpforms-container .wpforms-submit,
.wpforms-container button.wpforms-page-button {
	display: inline-block;
	background: #009fc6 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 9999px !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	padding: 13px 34px !important;
	line-height: 1.2 !important;
	cursor: pointer;
	transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
	box-shadow: 0 4px 14px rgba(0, 159, 198, 0.25);
}

.wpforms-container .wpforms-submit:hover,
.wpforms-container button.wpforms-page-button:hover {
	background: #007a99 !important;
	transform: translateY(-1px);
	box-shadow: 0 8px 20px rgba(0, 159, 198, 0.30);
}

.wpforms-container button.wpforms-page-prev {
	background: #fff !important;
	color: #009fc6 !important;
	border: 1px solid #009fc6 !important;
	box-shadow: none;
}
.wpforms-container button.wpforms-page-prev:hover { background: #e6f5f8 !important; transform: none; box-shadow: none; }

/* ── Multi-step progress ──────────────────────────────────────────────── */
.wpforms-container .wpforms-page-indicator { color: #161721; margin-bottom: 22px; }
.wpforms-container .wpforms-page-indicator-page-progress,
.wpforms-container .wpforms-page-indicator.progress .wpforms-page-indicator-page-progress { background-color: #009fc6 !important; }
.wpforms-container .wpforms-page-indicator.circles .active,
.wpforms-container .wpforms-page-indicator.connector .active { background-color: #009fc6 !important; }

/* ── Errors ───────────────────────────────────────────────────────────── */
.wpforms-container label.wpforms-error { color: #ef4444 !important; font-size: 12px; margin-top: 6px; }
.wpforms-container input.wpforms-error,
.wpforms-container textarea.wpforms-error,
.wpforms-container select.wpforms-error { border-color: #ef4444 !important; }
