/* Backup Resilience Scorecard: form styles.
   Answers become full-width cards that are easy to tap on a phone. Buttons match
   the site: Next and "See my score" use the sky button, Back uses lavender.
   The site's color variables come first, with the hex values as a fallback.
   Every rule is scoped to this form, so other forms are untouched. */

.gform_wrapper.dataprise-scorecard_wrapper {
	--dps-sky: var(--wp--preset--color--sky, #55bff2);
	--dps-sky-medium: var(--wp--preset--color--sky-medium, #3daee0);
	--dps-lavender: var(--wp--preset--color--lavender, #eba9ff);
	--dps-lavender-medium: var(--wp--preset--color--lavender-medium, #d990f5);
	--dps-navy: var(--wp--preset--color--navy, #1c2b4e);
	--dps-blue: #007dba;
	--dps-line: #c5ceda;
	--dps-surface: #f2f6f9;
}

.dataprise-scorecard_wrapper .dps-intro { font-size: 18px; line-height: 1.55; margin: 0 0 8px; }

/* Area headings inside the question pages. */
.dataprise-scorecard_wrapper .dps-section.gsection { border-bottom: 2px solid var(--dps-navy); padding-bottom: 6px; margin-top: 8px; }
.dataprise-scorecard_wrapper .dps-section .gsection_title { font-size: 21px; color: var(--dps-navy); }
.dataprise-scorecard_wrapper .dps-section .gsection_description { font-size: 15px; color: #555; }

/* Question label. */
.dataprise-scorecard_wrapper .dps-question { margin-bottom: 12px; }
.dataprise-scorecard_wrapper .dps-question > legend.gfield_label,
.dataprise-scorecard_wrapper .dps-question > .gfield_label {
	font-size: 18px;
	line-height: 1.35;
	font-weight: 700;
	margin-bottom: 10px;
	color: var(--dps-navy);
}

/* Answer cards. */
.dataprise-scorecard_wrapper .dps-question .gfield_radio { display: block; }
.dataprise-scorecard_wrapper .dps-question .gchoice { position: relative; display: block; margin: 0 0 8px; }
.dataprise-scorecard_wrapper .dps-question .gchoice input[type="radio"] { position: absolute; left: 16px; top: 16px; margin: 0; }
.dataprise-scorecard_wrapper .dps-question .gchoice label {
	display: block;
	max-width: none;
	width: 100%;
	margin: 0;
	padding: 12px 16px 12px 46px;
	border: 1px solid var(--dps-line);
	border-radius: 6px;
	background: #fff;
	font-size: 16px;
	line-height: 1.45;
	cursor: pointer;
	transition: border-color .12s ease, background-color .12s ease;
}
.dataprise-scorecard_wrapper .dps-question .gchoice label:hover { border-color: var(--dps-navy); }
.dataprise-scorecard_wrapper .dps-question .gchoice input[type="radio"]:checked + label {
	border-color: var(--dps-navy);
	background: var(--dps-surface);
	box-shadow: inset 0 0 0 1px var(--dps-navy);
	font-weight: 600;
}
.dataprise-scorecard_wrapper .dps-question .gchoice input[type="radio"]:focus-visible + label {
	outline: 3px solid var(--dps-blue);
	outline-offset: 2px;
}
/* The three answers sit side by side on wider screens. */
@media (min-width: 641px) {
	.dataprise-scorecard_wrapper .dps-question .gfield_radio { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
	.dataprise-scorecard_wrapper .dps-question .gchoice { margin: 0; }
	.dataprise-scorecard_wrapper .dps-question .gchoice label { height: 100%; }
	/* Qualifying questions on page 1 have longer answers, so they stack. */
	.dataprise-scorecard_wrapper .dps-question .gfield_radio:has(.gchoice:nth-child(4)) { display: block; }
	.dataprise-scorecard_wrapper .dps-question .gfield_radio:has(.gchoice:nth-child(4)) .gchoice { margin: 0 0 8px; }
}

/* Notice above the submit button. */
.dataprise-scorecard_wrapper .dps-notice { margin: 4px 0 0; font-size: 14px; line-height: 1.5; color: #555; }
.dataprise-scorecard_wrapper .dps-notice a { color: var(--dps-blue); text-decoration: underline; }

/* Yes / No on one line. */
.dataprise-scorecard_wrapper .dps-inline .gfield_radio { display: flex; gap: 24px; }

/* Buttons. !important is needed to beat the Gravity Forms theme. */
.gform_wrapper.dataprise-scorecard_wrapper .gform_next_button,
.gform_wrapper.dataprise-scorecard_wrapper .gform_previous_button,
.gform_wrapper.dataprise-scorecard_wrapper .gform_button {
	font-family: var(--wp--preset--font-family--roboto, inherit) !important;
	font-size: var(--wp--preset--font-size--text-sm, 0.875rem) !important;
	font-weight: 600 !important;
	line-height: 1.5 !important;
	padding: .5rem 1rem !important;
	min-height: 0 !important;
	border: 1.5px solid var(--dps-sky) !important;
	border-radius: 6px !important;
	background: var(--dps-sky) !important;
	color: var(--dps-navy) !important;
	box-shadow: none !important;
	cursor: pointer;
	transition: background-color .2s ease, border-color .2s ease;
}
.gform_wrapper.dataprise-scorecard_wrapper .gform_next_button:hover,
.gform_wrapper.dataprise-scorecard_wrapper .gform_button:hover {
	background: var(--dps-sky-medium) !important;
	border-color: var(--dps-sky-medium) !important;
}
.gform_wrapper.dataprise-scorecard_wrapper .gform_previous_button {
	background: var(--dps-lavender) !important;
	border-color: var(--dps-lavender) !important;
}
.gform_wrapper.dataprise-scorecard_wrapper .gform_previous_button:hover {
	background: var(--dps-lavender-medium) !important;
	border-color: var(--dps-lavender-medium) !important;
}
.gform_wrapper.dataprise-scorecard_wrapper .gform_next_button:focus-visible,
.gform_wrapper.dataprise-scorecard_wrapper .gform_previous_button:focus-visible,
.gform_wrapper.dataprise-scorecard_wrapper .gform_button:focus-visible {
	outline: 3px solid var(--dps-navy) !important;
	outline-offset: 2px;
}
