/* ==========================================================================
   Green Roots Nursery Fees — Frontend styles
   ========================================================================== */

/* ------------------------------------------------------------------
   Session week table
   ------------------------------------------------------------------ */

.gr-session-week-container {
	overflow-x: auto;
}

.gr-session-table {
	border-collapse: collapse;
	width: 100%;
}

.gr-session-table th,
.gr-session-table td {
	border: 1px solid #ddd;
	padding: 8px 10px;
	text-align: center;
	font-size: 0.9em;
}

.gr-session-table thead th:first-child,
.gr-session-table tbody th {
	text-align: left;
	font-weight: 600;
	white-space: nowrap;
}

.gr-session-table thead th {
	background: #f9f9f9;
	font-weight: 600;
}

.gr-session-cell {
	position: relative;
}

.gr-session-cell input[type="radio"] {
	cursor: pointer;
	width: 18px;
	height: 18px;
	accent-color: #408a2f;
}

.gr-session-table-wrap {
	table.gr-session-table {
		tr {
			th {
				background: transparent;
				border-top: none;
				border-right: none;
			}

			th:first-child,
			td:first-child {
				border-left: none;
			}

			td {
				border-right: none;
			}
		}

		tr:last-child td,
		tbody tr:last-child th {
			border-bottom: none;
		}
	}
}

/* ------------------------------------------------------------------
   Funding field
   ------------------------------------------------------------------ */

.gr-funding-options {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex !important;
	flex-direction: column !important;
	gap: 8px;
}

.gr-funding-options li {
	margin-bottom: 6px;
	display: flex;
	align-items: center;
	gap: 8px;

	label {
		line-height: 1;
		margin: 0;
	}
}

.gr-funding-options input[type="radio"] {
	flex-shrink: 0;
	accent-color: #408a2f;
}

/* Hidden funded options when child is under 9 months old on start date */
.gr-funding-conditional--hidden {
	display: none !important;
}

/* ------------------------------------------------------------------
   Estimate result — two-card layout
   ------------------------------------------------------------------ */

.gr-estimate-wrap {
	margin-top: 8px;

	.gsection_description {
		font-weight: bold;
	}
}



.gr-estimate-cards {
	display: flex;
	gap: 24px;
	align-items: stretch;
	margin-top: 24px;
}

.gr-estimate-card {
	flex: 1 1 0;
	border-radius: 30px;
	padding: 28px 31px;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	font-size: 1rem;
}


.gr-estimate-card--next {
	background: #408A2F;
	color: #fff;

	h2 {
		font-size: 3rem !important;
		color: #fff;
	}

	.description {
		color: #fff;
	}
}

.results-large-text-green {
	font-size: 2em;
	font-weight: 700;
	color: #408a2f;
	line-height: 1.2;
	margin-bottom: 16px;
}

.gr-estimate-card--fee {
	background: #EEEFF0;
	padding-right: 166px;
	background-image: url('../img/calc.svg');
	background-repeat: no-repeat;
	background-position: calc(100% - 31px) calc(100% - 28px);
}


.gr-estimate-card--next h2 {
	margin: 0 0 12px;
	font-size: 1.2em;
}

.gr-estimate-buttons {
	display: flex;
	gap: 15px;
	flex-wrap: wrap;
	margin-top: 20px;
}

.gr-btn {
	display: inline-block;
	background: #fff;
	height: 38px;
	color: #408A2F !important;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 30px;
	font-weight: 500;
	font-size: 14px;
	line-height: 38px;
	padding: 0 13px;
	border: none;
	transition: background 0.2s, color 0.2s;
}

.gr-btn:hover {
	background: #ccc;
}

.gr-btn--outline {
	background: transparent;
	color: #408a2f !important;
}

.gr-btn--outline:hover {
	background: #408a2f;
	color: #fff !important;
}

@media (max-width: 600px) {
	.gr-estimate-cards {
		flex-direction: column;
	}

	.gr-estimate-card--fee {
		padding-right: 31px;
		background-image: none;
	}
}

.gr-estimate-error {
	color: #b32d2e;
}

.gr-estimate-footer-message {
	margin-top: 24px;
	font-weight: 500;
	color: #58595C;
}

.gr-estimate-footer-actions {
	margin-top: 16px;
}

.gr-back-btn {
	display: inline-block;
	background: none;
	border: none;
	padding: 0;
	color: #c7425d;
	text-decoration: underline;
	font-size: inherit;
	font-family: inherit;
	cursor: pointer;
}

.gr-back-btn:hover {
	text-decoration: none;
	background: transparent;
}

/* ------------------------------------------------------------------
   Fee Estimator CTA card  [gr_fee_estimator_cta]
   ------------------------------------------------------------------ */

.gr-cta-card {
	position: relative;
	background: #408A2F;
	border-radius: 15px;
	padding: 25px;
	overflow: hidden;
	background-image: url('../img/calc.svg');
	background-repeat: no-repeat;
	background-position: calc(100% - 20px) calc(100% - 20px);
	box-sizing: border-box;
}

.gr-cta-card__content {
}

.gr-cta-card__heading {
	color: #fff;
	font-size: 3rem;
	font-family: Neucha,cursive;
	font-weigth: normal;
	margin: 0 0 12px;
}

.gr-cta-card__description {
	color: #fff;
	margin: 0 0 20px;
	font-size: 0.95rem;
	padding-right: 120px;
}

.gr-cta-card__btn {
	display: inline-block;
	background: #fff;
	color: #408A2F !important;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-weight: 300;
	font-size: 0.85rem;
	text-decoration: none;
	border-radius: 30px;
	padding: 8px 20px;
	transition: background 0.2s, color 0.2s;
}

.gr-cta-card__btn:hover {
	background: #e8e8e8;
}

@media (max-width: 600px) {
	.gr-cta-card {
		background-image: none;
	}

	.gr-cta-card__content {
		padding-right: 0;
	}
}

/* ------------------------------------------------------------------
   Paging etc
   ------------------------------------------------------------------ */
.gform_required_legend {
	display: none;
}


.gform_wrapper.gravity-theme .gf_page_steps,
.gform_confirmation_wrapper .gf_page_steps,
.gr-confirmation-steps {
	border: none !important;
	margin-bottom: 2.8rem !important;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	position: relative;


	&:before {
		content: "";
		display: block;
		position: absolute;
		right: 0;
		left: 0;
		top: 12px;
		height: 7.5px;
		border-radius: 15px;
		background: #eeeff0;
		z-index: 1;
	}

	.gf_step {
		width: auto;
		margin: 0 auto;
		padding: 0 15px;
		text-align: center;
		height: auto;
		opacity: 1;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		position: relative;
		z-index: 2;

		&.gf_step_active .gf_step_number {
			background: #408a2f;
		}

		.gf_step_number {
			width: 30px;
			height: 30px;
			display: block;
			border-radius: 300px;
			background: #fff;
			border: 1px solid #eeeff0;
			text-indent: -9999px;
			opacity: 1;
		}

		.gf_step_label {
			font-weight: 700;
			font-size: 16px;
			line-height: 16px;
			padding-left: 16px;
			display: table-cell;
			vertical-align: middle;
			text-align: center;
			color: #aab2b5;
		}

		&.gf_step_active .gf_step_label {
			color: #408a2f;
		}
	}
}

.gform_wrapper.gravity-theme .gsection,
.gform_confirmation_wrapper .gsection {
	border: none !important;
}

h3.gsection_title {
	background: #408a2f;
	color: #fff;
	padding: 15px !important;
	border-radius: 4px;
	font-family: museo-sans, sans-serif;
	font-size: 16px;
	margin-bottom: 20px !important;
}

.gform_wrapper.gravity-theme .gf_step_completed .gf_step_number::before,
.gform_confirmation_wrapper .gf_step_completed .gf_step_number::before {
	display: none !important;
}

.gform_wrapper.gravity-theme .gform_previous_button.button {
	color: #c7425d !important;
	text-decoration: underline !important;
	padding-left: 0;

	&:hover {
		background: transparent !important;
		text-decoration: none !important;
	}
}

.gform_page_footer {
	justify-content: flex-start;
}

.gform_page_footer .button:not(.gform_previous_button) {
	margin-left: auto !important;
	background: #c7425d !important;
	border: none !important;

	&:hover {
		color: #fff !important;
	}
}

.gsection_description {
	padding-left: 0 !important;
}

/* ------------------------------------------------------------------
   Daisy Chain overrides
   ------------------------------------------------------------------ */
.page-template-page-daisy {
	h3.gsection_title {
		background: #000;
	}

	.gform_page_footer .button:not(.gform_previous_button) {
		background: #000 !important;
	}

	.gr-session-cell input[type="radio"],
	.gr-funding-options input[type="radio"] {
		accent-color: #FAAF2E;
	}

	.gform_wrapper.gravity-theme .gform_previous_button.button {
		color: #FAAF2E !important;
	}

	.gr-estimate-card {
		border-radius: 0;
	}

	.results-large-text-green {
		color: #000;
	}

	.gr-estimate-card--fee {
		background-image: url('../img/daisy.svg');
		background-position: 100% calc(100%-28px);
	}

	.gr-estimate-card--next {
		background: #FDD730;
		color: #000;

		h2 {
			font-family: arial, sans-serif;
			color: #000;
		}
		.description {
			color: #000;
		}
	}

	.gr-back-btn {
		color: #faaf2e;
	}

	.gform_wrapper.gravity-theme .gf_page_steps,
	.gform_confirmation_wrapper .gf_page_steps,
	.gr-confirmation-steps {
		& .gf_step {
			&.gf_step_active .gf_step_number {
				background: #FAAF2E;
			}
		}
	}

	.gform_wrapper.gravity-theme .gf_page_steps,
	.gform_confirmation_wrapper .gf_page_steps,
	.gr-confirmation-steps {
		& .gf_step {
			&.gf_step_active .gf_step_label {
				color: #FAAF2E;
			}
		}
	}

	.gr-btn {
		background: #000 !important;
		color: #fff !important;
	}
}


/*
------------------------------------------------------------------
   Fields
   ------------------------------------------------------------------ */
.gfield--type-date {
	input.datepicker {
		width: 100% !important;
		background: #eeeff0;
		border: none !important;
		font-size: 16px !important;
		padding: 10px 7.5px !important;
		height: auto !important;
		border-radius: 4px !important;
		box-shadow: none !important;
	}
}