/**
 * Safety Awards Form Styles
 *
 * Styles for the Safety Awards eligibility form.
 * Layout: two-column sections with left title area and right fields area.
 *
 * Structure:
 *   .sa-section-row       - Flex wrapper per section (left: section, right: fields)
 *     .gsection            - Left column: section title, icon, description
 *     .sa-fields-col       - Right column: contains all fields for that section
 *       .gfield            - Individual form fields
 *       .osha-year-data-group - Year group wrapper (inside OSHA section)
 */

/* ==========================================================================
   Section Row Layout (flex wrapper)
   ========================================================================== */

.safety-awards-form .sa-section-row {
	grid-column: span 12;
	display: flex;
	gap: 80px;
	align-items: flex-start;
	padding: 80px 0;
	border-bottom: 1px solid #B9C7D4;
}
.safety-awards-form .sa-section-row:last-of-type {
	border-bottom: 0px;
	padding-bottom: 40px;
}

.safety-awards-form .gform_fields {
	grid-row-gap: 0px !important;
}

/* ==========================================================================
   Section Header (left column)
   ========================================================================== */

.safety-awards-form .gsection {
	display: inline-flex;
	gap: 16px;
	flex-direction: column;
	flex-wrap: wrap;
	align-items: stretch;
	flex: 0 0 335px;
	border: 0px !important;
	padding: 0px !important;
	margin: 0px !important;
}

.safety-awards-form .gsection .gsection_title {
	font-size: 40px;
	font-weight: 600;
	color: #2B313F;
	margin: 0;
	line-height: 1.2;
}

.safety-awards-form .gsection .gsection_description {
	font-size: 0.875rem;
	color: #64748b;
	line-height: 1.6;
	margin-top: 8px;
	padding: 0;
}

.safety-awards-form .top_label .gsection_description {
	font-size: 18px !important;
	line-height: 1.6 !important;
	padding: 0px !important;
	margin: 0px !important;
}

/* ==========================================================================
   Section Icons
   ========================================================================== */

.safety-awards-form .gsection .gsection_title::before {
	content: '';
	display: block;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M20 4C28.8366 4 36 11.1634 36 20C36 28.8366 28.8366 36 20 36C11.1634 36 4 28.8366 4 20C4 11.1634 11.1634 4 20 4ZM20 24C16.083 24.0001 12.6042 25.8769 10.4141 28.7803C12.7906 31.3735 16.2053 32.9999 20 33C23.7944 32.9999 27.2084 31.3731 29.585 28.7803C27.3948 25.8772 23.9167 24.0001 20 24ZM20 10C17.2386 10 15 12.2386 15 15C15 17.7614 17.2386 20 20 20C22.7614 20 25 17.7614 25 15C25 12.2386 22.7614 10 20 10Z' fill='%230D70C0'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	width: 40px;
	height: 40px;
	margin-bottom: 16px;
}

.safety-awards-form .safety-awards-company.gsection .gsection_title::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7.5 3.75C6.80964 3.75 6.25 4.30964 6.25 5C6.25 5.69036 6.80964 6.25 7.5 6.25V33.75H6.25C5.55964 33.75 5 34.3096 5 35C5 35.6904 5.55964 36.25 6.25 36.25H33.75C34.4404 36.25 35 35.6904 35 35C35 34.3096 34.4404 33.75 33.75 33.75H32.5V6.25C33.1904 6.25 33.75 5.69036 33.75 5C33.75 4.30964 33.1904 3.75 32.5 3.75H7.5ZM15 10C14.3096 10 13.75 10.5596 13.75 11.25C13.75 11.9404 14.3096 12.5 15 12.5H17.5C18.1904 12.5 18.75 11.9404 18.75 11.25C18.75 10.5596 18.1904 10 17.5 10H15ZM13.75 16.25C13.75 15.5596 14.3096 15 15 15H17.5C18.1904 15 18.75 15.5596 18.75 16.25C18.75 16.9404 18.1904 17.5 17.5 17.5H15C14.3096 17.5 13.75 16.9404 13.75 16.25ZM15 20C14.3096 20 13.75 20.5596 13.75 21.25C13.75 21.9404 14.3096 22.5 15 22.5H17.5C18.1904 22.5 18.75 21.9404 18.75 21.25C18.75 20.5596 18.1904 20 17.5 20H15ZM21.25 11.25C21.25 10.5596 21.8096 10 22.5 10H25C25.6904 10 26.25 10.5596 26.25 11.25C26.25 11.9404 25.6904 12.5 25 12.5H22.5C21.8096 12.5 21.25 11.9404 21.25 11.25ZM22.5 15C21.8096 15 21.25 15.5596 21.25 16.25C21.25 16.9404 21.8096 17.5 22.5 17.5H25C25.6904 17.5 26.25 16.9404 26.25 16.25C26.25 15.5596 25.6904 15 25 15H22.5ZM21.25 21.25C21.25 20.5596 21.8096 20 22.5 20H25C25.6904 20 26.25 20.5596 26.25 21.25C26.25 21.9404 25.6904 22.5 25 22.5H22.5C21.8096 22.5 21.25 21.9404 21.25 21.25ZM15 32.5V28.75C15 28.0596 15.5596 27.5 16.25 27.5H23.75C24.4404 27.5 25 28.0596 25 28.75V32.5C25 33.1904 24.4404 33.75 23.75 33.75H16.25C15.5596 33.75 15 33.1904 15 32.5Z' fill='%230D70C0'/%3E%3C/svg%3E");
}

.safety-awards-form .safety-awards-osha.gsection .gsection_title::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12.5031 9.99999H18.7461L18.75 10H24.3831C27.4859 10.0045 29.9998 12.5212 29.9998 15.625V31.25C32.7612 31.25 34.9998 29.0114 34.9998 26.25V10.1804C34.9998 7.67136 33.1252 5.49433 30.5597 5.2814C30.1868 5.25045 29.8131 5.22201 29.4387 5.19611C28.6055 3.59412 26.9305 2.5 25 2.5H22.5C20.5695 2.5 18.8945 3.59411 18.0613 5.19609C17.6868 5.22199 17.313 5.25044 16.9399 5.2814C14.4361 5.48921 12.5904 7.56782 12.5031 9.99999ZM22.5 5C21.1193 5 20 6.11929 20 7.5H27.5C27.5 6.11929 26.3807 5 25 5H22.5Z' fill='%230D70C0'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M5 15.625C5 13.8991 6.39911 12.5 8.125 12.5H24.375C26.1009 12.5 27.5 13.8991 27.5 15.625V34.375C27.5 36.1009 26.1009 37.5 24.375 37.5H8.125C6.39911 37.5 5 36.1009 5 34.375V15.625ZM10 20C10 19.3096 10.5596 18.75 11.25 18.75H11.2625C11.9529 18.75 12.5125 19.3096 12.5125 20V20.0125C12.5125 20.7029 11.9529 21.2625 11.2625 21.2625H11.25C10.5596 21.2625 10 20.7029 10 20.0125V20ZM13.75 20C13.75 19.3096 14.3096 18.75 15 18.75H21.25C21.9404 18.75 22.5 19.3096 22.5 20C22.5 20.6904 21.9404 21.25 21.25 21.25H15C14.3096 21.25 13.75 20.6904 13.75 20ZM10 25C10 24.3096 10.5596 23.75 11.25 23.75H11.2625C11.9529 23.75 12.5125 24.3096 12.5125 25V25.0125C12.5125 25.7029 11.9529 26.2625 11.2625 26.2625H11.25C10.5596 26.2625 10 25.7029 10 25.0125V25ZM13.75 25C13.75 24.3096 14.3096 23.75 15 23.75H21.25C21.9404 23.75 22.5 24.3096 22.5 25C22.5 25.6904 21.9404 26.25 21.25 26.25H15C14.3096 26.25 13.75 25.6904 13.75 25ZM10 30C10 29.3096 10.5596 28.75 11.25 28.75H11.2625C11.9529 28.75 12.5125 29.3096 12.5125 30V30.0125C12.5125 30.7029 11.9529 31.2625 11.2625 31.2625H11.25C10.5596 31.2625 10 30.7029 10 30.0125V30ZM13.75 30C13.75 29.3096 14.3096 28.75 15 28.75H21.25C21.9404 28.75 22.5 29.3096 22.5 30C22.5 30.6904 21.9404 31.25 21.25 31.25H15C14.3096 31.25 13.75 30.6904 13.75 30Z' fill='%230D70C0'/%3E%3C/svg%3E");
}

.safety-awards-form .safety-awards-submission.gsection .gsection_title::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M3.75 20C3.75 11.0254 11.0254 3.75 20 3.75C28.9746 3.75 36.25 11.0254 36.25 20C36.25 28.9746 28.9746 36.25 20 36.25C11.0254 36.25 3.75 28.9746 3.75 20ZM26.0172 16.9765C26.4184 16.4148 26.2883 15.6341 25.7265 15.2328C25.1648 14.8316 24.3841 14.9617 23.9828 15.5235L18.5905 23.0727L15.8839 20.3661C15.3957 19.878 14.6043 19.878 14.1161 20.3661C13.628 20.8543 13.628 21.6457 14.1161 22.1339L17.8661 25.8839C18.1259 26.1437 18.4869 26.276 18.8531 26.2457C19.2193 26.2154 19.5536 26.0255 19.7672 25.7265L26.0172 16.9765Z' fill='%230D70C0'/%3E%3C/svg%3E");
}

/* ==========================================================================
   Fields Column (right column)
   ========================================================================== */

.safety-awards-form .sa-fields-col {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

/* Reset GF grid positioning - fields are now inside flexbox, not GF grid */
.safety-awards-form .sa-fields-col > .gfield {
	grid-column: unset;
}

/* Half-width fields in a row */
.safety-awards-form .sa-fields-col .gfield--width-half {
	display: inline-block;
	width: calc(50% - 6px);
	vertical-align: top;
}

/* ==========================================================================
   Field Labels & Inputs
   ========================================================================== */

.safety-awards-form .gfield_label {
	font-size: 16px !important;
	font-weight: 600 !important;
	color: #161E22;
	line-height: 1.6;
	margin: 0px 0px 4px !important;
	border: 0px;
}

.safety-awards-form .gfield .ginput_container input,
.safety-awards-form .gfield .ginput_container select,
.safety-awards-form .gfield .ginput_container textarea {
	border: 1px solid #B9C7D4 !important;
	border-radius: 6px !important;
	padding: 8px 12px !important;
	font-size: 16px !important;
	background-color: #FFF;
	transition: border-color 0.15s ease;
}

.safety-awards-form .gfield .ginput_container input:focus,
.safety-awards-form .gfield .ginput_container select:focus,
.safety-awards-form .gfield .ginput_container textarea:focus {
	border-color: #2b6cb0;
	outline: none;
	box-shadow: 0 0 0 3px rgba(43, 108, 176, 0.1);
}

/* Sub-labels (First Name, Last Name, City, etc.) */
.safety-awards-form .gfield .gform-field-label--type-sub {
	font-size: 13px !important;
	font-weight: 400;
	color: #6B7D8C;
	margin: 0px;
}

/* Field descriptions */
.safety-awards-form .gfield_description:not(.gfield_validation_message, .gfield_consent_description) {
	font-size: 13px !important;
	font-weight: 400;
	color: #6B7D8C;
	padding-top: 5px !important;
}

/* ==========================================================================
   Radio / Checkbox Fields & Radio Fields
   ========================================================================== */

.safety-awards-form .gfield .ginput_container input[type="radio"],
.safety-awards-form .gfield .ginput_container input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	border: 2px solid #6B7D8C;
	border-radius: 4px !important;
	margin: 5px 3px 0px 0px;
	padding: 0px !important;
	width: 20px;
	min-width: 20px;
	height: 20px;
	cursor: pointer;
}

.safety-awards-form .gfield .ginput_container input[type="radio"]:checked,
.safety-awards-form .gfield .ginput_container input[type="checkbox"]:checked {
	background-color: #004976;
	border-color: #004976;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='white' d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E");
	background-size: 14px;
	background-position: center;
	background-repeat: no-repeat;
}
.safety-awards-form .gfield .ginput_container input[type="radio"]:checked {
	background-image: none;
	box-shadow: inset 0 0 0 3px white;
}
.safety-awards-form .gfield .gfield_radio {
	width: 100%;
}
.safety-awards-form .gfield-choice-input[type="radio"]+label {
	color: #6B7D8C;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.8;
}
.safety-awards-form .ginput_container {
	display: flex;
	align-items: flex-start;
	gap: 8px;
}

/* ==========================================================================
   Consent Field
   ========================================================================== */

.safety-awards-form .gfield_consent_label {
	color: #6B7D8C;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.6;
	margin: 0px;
}
.safety-awards-form .gfield_consent_description {
	font-size: 16px !important;
	font-style: italic;
	line-height: 1.6;
	margin: 0px !important;
	border: 0px !important;
	padding: 10px 0px 20px 28px !important;
	max-height: 100% !important;
	overflow-y: auto !important;
}
.safety-awards-form .sa-section-row:last-of-type .gfield_consent_description {
	font-size: 18px !important;
	font-style: normal;
	color: #6B7D8C;
	padding: 20px 0px 0px 28px !important;
}

/* ==========================================================================
   OSHA Year Data Groups
   ========================================================================== */

.safety-awards-form .osha-year-data-group {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 16px;
	background-color: #FFF;
	border-radius: 16px;
	padding: 32px;
}

.safety-awards-form .osha-year-data-label {
	font-size: 24px;
	font-weight: 600;
	line-height: 1.6;
	color: #161E22;
	margin: 0px;
}

.safety-awards-form .osha-year-group {
	padding: 4px 0;
	margin: 0;
}

/* ==========================================================================
   Submit Button
   ========================================================================== */

.gform_wrapper.gravity-theme .safety-awards-form .gform_footer,
.gform_wrapper.gravity-theme .safety-awards-form .gform_page_footer {
	margin: 0px !important;
}
.gform_wrapper.gravity-theme .safety-awards-form .gform_footer {
	justify-content: flex-end !important;
}
.safety-awards-form .gform_footer .gform_button {
	background-color: #B62020;
	color: #F8FAFB;
	border: none;
	border-radius: 100px;
	padding: 12px 24px;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.8;
	cursor: pointer;
	margin: 0px;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
}
.safety-awards-form .gform_footer .gform_button:hover {
	background-color: #D72F2F;
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 768px) {
	.safety-awards-form .sa-section-row {
		flex-direction: column;
		gap: 20px;
		padding: 24px 0;
	}

	.safety-awards-form .gsection {
		flex: none;
		width: 100%;
	}

	.safety-awards-form .sa-fields-col .gfield--width-half {
		width: 100%;
		display: block;
	}

	.safety-awards-form .gsection .gsection_title {
		font-size: 24px;
	}
	.safety-awards-form .top_label .gsection_description {
		font-size: 16px !important;
	}
}


.safety-awards-form .gform_wrapper.gravity-theme .gsection  {
	border-bottom: none !important;
}

/* ==========================================================================
   Winner Display Shortcodes
   ========================================================================== */

.safety-winners {
	max-width: 720px;
}

.safety-winners__year-group {
	margin-bottom: 32px;
}

.safety-winners__year {
	font-size: 24px;
	font-weight: 600;
	color: #2B313F;
	margin: 0 0 12px;
	padding-bottom: 8px;
	border-bottom: 1px solid #B9C7D4;
}

.safety-winners__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.safety-winners__list li {
	font-size: 16px;
	line-height: 1.6;
	color: #2B313F;
	padding: 6px 0;
}

.safety-winners__empty {
	font-size: 16px;
	color: #6B7D8C;
	font-style: italic;
}
