﻿
/* Essentials multi-step signup (login theme) */

/* Steps numbers */
.signup-steps {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	margin-bottom: 22px;
}

.signup-step {
	position: relative;
	width: 110px;
	text-align: center;
	font-size: 12px;
	color: #9E9E9E;
}

.signup-step:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 13px;
	left: calc(50% + 18px);
	width: calc(100% - 36px);
	height: 1px;
	background: #757575;
}

.signup-step.is-done:not(:last-child)::after,
.signup-step.is-active:not(:last-child)::after {
	background: #C6FCFF;
}

.signup-step .step-num {
	width: 26px;
	height: 26px;
	line-height: 24px;
	border-radius: 50%;
	border: 1px solid #757575;
	margin: 0 auto 6px;
	box-sizing: border-box;
	color: #9E9E9E;
	background: #424242;
	position: relative;
	z-index: 2;
	font-size: 12px;
}

.signup-step.is-active {
	color: #FAFAFA;
	font-weight: bold;
}

.signup-step.is-active .step-num {
	border-color: #C6FCFF;
	background: #C6FCFF;
	color: #000000;
}

.signup-step.is-done .step-num {
	border-color: #C6FCFF;
	color: #C6FCFF;
}

.signup-step-label {
	white-space: nowrap;
}
/* END */

.signup-plan-label {
	font-size: 85%;
	color: #9E9E9E;
	margin-bottom: 18px;
}

.signup-plan-label strong {
	color: #C6FCFF;
	font-weight: normal;
}

#container.signup-form-wide {
	width: 420px;
	max-width: 100%;
}

.signup-agree {
	align-items: flex-start;
	gap: 8px;
	margin: 0 0 15px 0;
	text-align: left;
	font-size: 90%;
	line-height: 1.45;
}

.signup-agree input[type="checkbox"] {
	margin-top: 3px;
	flex-shrink: 0;
}

.signup-agree label {
	flex: 1;
}

.signup-form-actions {
	display: flex;
	gap: 5%;
	justify-content: space-between;
	align-items: stretch;
}

.signup-form-actions .btn {
	float: none;
	width: 35%;
	margin: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1.2;
}

.signup-form-actions input.btn {
	width: 60%;
}

/* Override shared login theme accent for Essentials signup only */
#container a:link,
#container a:visited,
#container-pricing a:link,
#container-pricing a:visited {
	color: #C6FCFF;
}

#container a.gray-link:link,
#container a.gray-link:visited,
#container-pricing a.gray-link:link,
#container-pricing a.gray-link:visited {
	color: #9E9E9E;
}

#container a.gray-link:hover,
#container-pricing a.gray-link:hover {
	color: #FAFAFA;
}

#container #flash-message,
#container-pricing #flash-message {
	color: #C6FCFF;
}

#container .btn,
#container-pricing .btn {
	border-color: #C6FCFF;
	color: #C6FCFF;
}

#container a.btn,
#container-pricing a.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1.2;
	text-align: center;
}

#container .btn:link,
#container .btn:visited,
#container-pricing .btn:link,
#container-pricing .btn:visited {
	color: #C6FCFF;
}

#container .btn:hover,
#container-pricing .btn:hover {
	background-color: #C6FCFF;
	border-color: #C6FCFF;
	color: #000000;
}

#container form input[type="text"]:focus,
#container form input[type="email"]:focus,
#container form input[type="password"]:focus,
#container form select:focus,
#container form textarea:focus,
#container-pricing form input[type="text"]:focus,
#container-pricing form input[type="email"]:focus,
#container-pricing form input[type="password"]:focus,
#container-pricing form select:focus,
#container-pricing form textarea:focus {
	border-color: #C6FCFF;
}

#container .btn.btn-solid,
#container-pricing .btn.btn-solid {
	background-color: #C6FCFF;
	color: #000000;
	border-color: #C6FCFF;
}

#container .btn.btn-solid:link,
#container .btn.btn-solid:visited,
#container-pricing .btn.btn-solid:link,
#container-pricing .btn.btn-solid:visited {
	color: #000000;
}

#container .btn.btn-solid:hover,
#container-pricing .btn.btn-solid:hover {
	background-color: #a8f0f5;
	border-color: #a8f0f5;
	color: #000000;
}

#container .btn.btn-solid:disabled,
#container-pricing .btn.btn-solid:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.signup-form-actions-payment {
	margin-top: 12px;
}

.signup-form-actions-payment .btn {
	width: 48%;
}

.signup-form-actions-payment.signup-form-actions-single .btn {
	width: 100%;
}

.signup-form-actions-payment .btn-secondary,
#container-pricing .signup-form-actions-payment .btn-secondary {
	border-color: #9E9E9E;
	color: #BDBDBD;
}

.signup-form-actions-payment .btn-secondary:hover,
#container-pricing .signup-form-actions-payment .btn-secondary:hover {
	background-color: #555555;
	border-color: #BDBDBD;
	color: #FAFAFA;
}

.signup-payment-note {
	text-align: left;
	margin: 12px 0 0 0;
}

.signup-payment-card-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	margin-top: 10px;
}

.signup-payment-card-grid input[type="text"] {
	width: 100%;
	box-sizing: border-box;
}

.signup-payment-card-full {
	grid-column: 1 / -1;
}

.signup-payment-recurring {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 12px 0 0 0;
	text-align: left;
	font-size: 90%;
	line-height: 1.45;
}

.signup-payment-recurring input[type="checkbox"] {
	margin-top: 3px;
	flex-shrink: 0;
}

.signup-payment-recurring label {
	flex: 1;
}

.signup-skip-message {
	text-align: left;
}

.signup-skip-lead {
	color: #FAFAFA;
	margin: 0 0 12px 0;
	line-height: 1.5;
}

#btnPay:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

form select {
	padding: 10px;
	margin: 0 0 15px 0;
	background-color: #FAFAFA;
	border: 1px solid #424242;
	font-family: 'Helvetica', Arial, sans-serif;
	font-size: 95%;
	box-sizing: border-box;
	width: 100%;
	color: #333333;
}

form select:focus {
	border: 1px solid #C6FCFF;
}

form textarea {
	padding: 10px;
	margin: 0 0 15px 0;
	background-color: #FAFAFA;
	border: 1px solid #424242;
	font-family: 'Helvetica', Arial, sans-serif;
	font-size: 95%;
	box-sizing: border-box;
	width: 100%;
	resize: vertical;
}

form textarea:focus {
	border: 1px solid #C6FCFF;
}

/* Plan & add-ons step (login_pricing layout) */

.plan-section-title {
	font-size: 90%;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #BDBDBD;
	margin: 18px 0 10px 0;
	text-align: left;
}

.plan-base-card {
	background-color: #383838;
	border: 1px solid #C6FCFF;
	border-radius: 4px;
	padding: 16px;
	text-align: left;
	margin-bottom: 8px;
}

.plan-base-header {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 8px;
}

.plan-base-price {
	color: #C6FCFF;
	font-size: 110%;
}

/* Plan modules list */

.plan-addon-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
	text-align: left;
}

.plan-addon-item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 12px;
	margin-bottom: 0;
	background-color: #383838;
	border: 1px solid #555555;
	border-radius: 4px;
	cursor: pointer;
	height: 100%;
	box-sizing: border-box;
}

.plan-addon-item:hover {
	border-color: #C6FCFF;
}

.plan-addon-item input {
	margin-top: 4px;
	flex-shrink: 0;
}

.plan-addon-body {
	display: flex;
	flex-direction: column;
	gap: 4px;
	flex: 1;
}

.plan-addon-name {
	font-weight: bold;
	color: #FAFAFA;
}

.plan-addon-desc {
	font-size: 85%;
	color: #BDBDBD;
}

.plan-addon-price {
	font-size: 85%;
	color: #C6FCFF;
}

.plan-addon-annual-hint {
	color: #9E9E9E;
	font-size: 90%;
}

/* END */

.plan-options-row {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: 16px;
	align-items: start;
	margin: 18px 0 8px 0;
}

.plan-options-row--billing-only {
	grid-template-columns: 1fr;
}

.plan-options-col {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.plan-options-col .plan-section-title {
	margin: 0 0 10px 0;
	min-height: 2.7em;
	line-height: 1.35;
}

.plan-options-billing .plan-billing-toggle {
	flex-direction: row;
	flex-wrap: nowrap;
	gap: 8px;
	margin-bottom: 0;
}

.plan-options-billing .plan-billing-option {
	flex: 1 1 auto;
	min-width: auto;
	margin: 0;
	height: 46px;
	padding: 0 10px;
	box-sizing: border-box;
	gap: 6px;
}

.plan-options-billing .plan-billing-option:first-child {
	flex: 0 0 auto;
}

.plan-options-billing .plan-billing-option span {
	white-space: nowrap;
	flex-shrink: 0;
}

.plan-integration-select {
	margin-bottom: 0;
}

#container-pricing form select.plan-integration-select {
	padding: 0 12px;
	margin: 0;
	height: 46px;
	line-height: 46px;
	background-color: #383838;
	border: 1px solid #555555;
	border-radius: 4px;
	font-family: 'Helvetica', Arial, sans-serif;
	font-size: 95%;
	box-sizing: border-box;
	width: 100%;
	color: #FAFAFA;
}

#container-pricing form select.plan-integration-select:focus {
	border-color: #C6FCFF;
	outline: none;
}

#container-pricing form select.plan-integration-select option {
	background-color: #383838;
	color: #FAFAFA;
}

.plan-billing-toggle {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 8px;
}

.plan-billing-option {
	flex: 1 1 140px;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px;
	background-color: #383838;
	border: 1px solid #555555;
	border-radius: 4px;
	cursor: pointer;
	text-align: left;
}

.plan-billing-option:has(input:checked) {
	border-color: #C6FCFF;
}

.plan-billing-option em {
	color: #C6FCFF;
	font-style: normal;
	font-size: 85%;
}

.plan-options-billing .plan-billing-option em {
	font-size: 90%;
}

.plan-summary-box {
	background-color: #383838;
	border: 1px solid #555555;
	border-radius: 4px;
	padding: 16px;
	text-align: left;
	margin: 16px 0;
}

.plan-summary-line {
	display: flex;
	justify-content: space-between;
	font-size: 90%;
	padding: 4px 0;
	color: #E0E0E0;
}

.plan-summary-line.muted {
	color: #9E9E9E;
}

.plan-summary-total {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid #555555;
	font-size: 100%;
	color: #FAFAFA;
}

#container-pricing .plan-summary-total .small-text {
	font-size: 80%;
	color: #9E9E9E;
}

/* Payment / activation step */

#container-pricing.signup-payment-wide {
	width: 700px;
	max-width: 100%;
}

.signup-payment-layout {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	align-items: start;
	text-align: left;
}

.signup-payment-col {
	min-width: 0;
}

.signup-payment-section-title {
	margin-top: 0;
}

.signup-payment-billing {
	margin-bottom: 16px;
}

.signup-payment-billing .plan-section-title {
	margin-bottom: 10px;
}

.signup-payment-billing .plan-billing-option,
.signup-payment-billing .plan-billing-option:first-child {
	flex: 1 1 0;
}

.signup-payment-summary {
	margin: 0;
}

.signup-payment-note-lead {
	margin-top: 0;
}

.signup-payment-pay-action {
	margin-top: 16px;
}

.signup-payment-footer-actions {
	margin-top: 35px;
	justify-content: center;
	gap: 16px;
}

.signup-payment-footer-actions .btn {
	width: auto;
	min-width: 150px;
	padding-left: 30px;
	padding-right: 30px;
}

@media (max-width: 520px) {
	.plan-addon-list {
		grid-template-columns: 1fr;
	}

	.plan-options-row {
		grid-template-columns: 1fr;
	}

	.signup-payment-layout {
		grid-template-columns: 1fr;
		gap: 20px;
	}
}
