/* ==========================================================================
   gform-light.css — Shared Gravity Forms card, styled to match dispatchers
   (page-truck-dispatch-v2.php .v2-form__wrap) EXACTLY — colors, sizes, shadow.
   Used by: page-collections.php, page-colecciones.php (and any future page)
   Markup: wrap the gravity_form() call in <div class="gform-light-wrap">...
   Sibling of: gform-dark.css (same card/fields/button, dark palette instead)
   ========================================================================== */

/* Card container */
.gform-light-wrap {
	background: #ffffff;
	border: 1px solid rgba(0, 0, 0, 0.09);
	border-radius: 22px;
	padding: 2.5rem 2rem;
	box-shadow: 0 4px 32px rgba(0, 0, 0, 0.09);
}

.gform-light-wrap .gform_wrapper,
.gform-light-wrap .gform_wrapper.gravity-theme {
	margin: 0;
	padding: 0;
	max-width: none;
	background: none;
	border: none;
	box-shadow: none;
}

.gform-light-wrap .gform_body,
.gform-light-wrap .gform-body {
	margin: 0;
	padding: 0;
}

.gform-light-wrap .gform_fields {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.gform-light-wrap .gfield {
	margin: 0;
	padding: 0;
}

.gform-light-wrap .gfield_label,
.gform-light-wrap .gfield > label {
	display: block;
	margin: 0 0 8px !important;
	color: #02172F !important;
	font-size: 0.82rem !important;
	font-weight: 700 !important;
	line-height: 1.4;
	text-transform: none !important;
	letter-spacing: normal !important;
}

/* This card is white (#ffffff) — was the bright brand cyan, which is
   1.76:1 here (fails WCAG AA's 4.5:1). !important to stay correct
   regardless of what the global .gfield_required default in style.css
   does in the future. */
.gform-light-wrap .gfield_required {
	color: var(--nw-cyan-text) !important;
	font-weight: 700 !important;
}

.gform-light-wrap .ginput_container input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="image"]):not([type="hidden"]),
.gform-light-wrap .ginput_container select,
.gform-light-wrap .ginput_container textarea {
	width: 100% !important;
	box-sizing: border-box !important;
	padding: 14px 16px !important;
	border: 1px solid rgba(0, 0, 0, 0.14) !important;
	border-radius: 10px !important;
	background-color: #f8fafc !important;
	background-image: none !important;
	color: #02172F !important;
	font-family: inherit !important;
	font-size: 0.95rem !important;
	line-height: 1.4 !important;
	box-shadow: none !important;
	transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
	-webkit-appearance: none;
	appearance: none;
	margin: 0 !important;
}

.gform-light-wrap .ginput_container input::placeholder,
.gform-light-wrap .ginput_container textarea::placeholder {
	color: #a0aec0;
}

.gform-light-wrap .ginput_container input:focus:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="image"]):not([type="hidden"]),
.gform-light-wrap .ginput_container select:focus,
.gform-light-wrap .ginput_container textarea:focus {
	outline: none !important;
	border-color: #27D6FF !important;
	box-shadow: 0 0 0 3px rgba(39, 214, 255, 0.18) !important;
	background-color: #ffffff !important;
}

.gform-light-wrap .ginput_container select {
	cursor: pointer !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2302172F' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 16px center !important;
	padding-right: 44px !important;
}

.gform-light-wrap .ginput_container_name {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.gform-light-wrap .ginput_container_name span {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.gform-light-wrap .ginput_container_name .name_first label,
.gform-light-wrap .ginput_container_name .name_last label {
	display: none !important;
}

.gform-light-wrap .gfield--type-hidden,
.gform-light-wrap .gfield_visibility_hidden {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	position: absolute !important;
	pointer-events: none !important;
}

.gform-light-wrap .gform_footer,
.gform-light-wrap .gform_page_footer {
	margin: 8px 0 0 !important;
	padding: 0 !important;
	border: none !important;
	background: none !important;
	text-align: left;
}

.gform-light-wrap .gform_button,
.gform-light-wrap input[type="submit"].gform_button {
	display: block !important;
	width: 100% !important;
	box-sizing: border-box !important;
	padding: 16px 26px !important;
	background-color: #27D6FF !important;
	background-image: none !important;
	border: 2px solid #27D6FF !important;
	border-radius: 999px !important;
	color: #02172F !important;
	font-family: inherit !important;
	font-size: 0.9rem !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	letter-spacing: 0.02em !important;
	text-align: center !important;
	text-transform: none !important;
	box-shadow: none !important;
	cursor: pointer !important;
	-webkit-appearance: none;
	appearance: none;
	transition: background-color 0.22s ease, border-color 0.22s ease, transform 0.22s ease;
}

.gform-light-wrap .gform_button:hover,
.gform-light-wrap input[type="submit"].gform_button:hover {
	background-color: #50E0FF !important;
	border-color: #50E0FF !important;
	color: #02172F !important;
	transform: translateY(-2px) !important;
}

.gform-light-wrap .gform_button:focus-visible,
.gform-light-wrap input[type="submit"].gform_button:focus-visible {
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(39, 214, 255, 0.5) !important;
}

.gform-light-wrap .gform_validation_errors,
.gform-light-wrap .validation_error {
	margin: 0 0 16px !important;
	padding: 16px 24px !important;
	background-color: rgba(248, 113, 113, 0.08) !important;
	border: 1px solid rgba(248, 113, 113, 0.30) !important;
	border-radius: 10px !important;
	color: #dc2626 !important;
	font-size: 0.82rem !important;
	font-weight: 600;
}

.gform-light-wrap .gfield_error .gfield_label,
.gform-light-wrap .gfield_error > label {
	color: #dc2626 !important;
}

.gform-light-wrap .gfield_error .ginput_container input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="image"]):not([type="hidden"]),
.gform-light-wrap .gfield_error .ginput_container select,
.gform-light-wrap .gfield_error .ginput_container textarea {
	border-color: rgba(220, 38, 38, 0.5) !important;
	background-color: rgba(254, 242, 242, 0.5) !important;
}

.gform-light-wrap .validation_message,
.gform-light-wrap .gfield_validation_message {
	margin: 8px 0 0 !important;
	padding: 0 !important;
	background: none !important;
	border: none !important;
	color: #dc2626 !important;
	font-size: 0.72rem !important;
	font-weight: 600;
}

.gform-light-wrap .gform_confirmation_wrapper {
	padding: 32px !important;
	background-color: rgba(39, 214, 255, 0.06) !important;
	border: 1px solid rgba(39, 214, 255, 0.28) !important;
	border-radius: 16px !important;
	text-align: center;
}

.gform-light-wrap .gform_confirmation_message {
	color: #02172F !important;
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.65;
}

.gform-light-wrap .gform_ajax_spinner {
	display: inline-block;
	margin-left: 12px;
	vertical-align: middle;
}

.gform-light-wrap .gfield_description {
	margin: 8px 0 0;
	color: #718096;
	font-size: 0.72rem;
	line-height: 1.5;
}

.gform-light-wrap .gfields > .gfield:last-of-type {
	margin-bottom: 0;
}

/* Consent checkbox (label is nested inside .ginput_container_consent, not a direct .gfield child) */
.gform-light-wrap .gfield_consent_description,
.gform-light-wrap .ginput_container_consent label {
	color: #4a5568 !important;
	font-size: 0.82rem !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	text-transform: none !important;
}

.gform-light-wrap .ginput_container_consent label a {
	color: #27D6FF !important;
}

.gform-light-wrap .ginput_container_consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

/* Intl-tel-input: room for the flag/country-code selector */
.gform-light-wrap .iti.iti--separate-dial-code input {
	padding-left: 96px !important;
	padding-right: 48px !important;
}

@media (max-width: 640px) {
	.gform-light-wrap {
		padding: 1.75rem 1.25rem;
	}
}
