/**
 * Goodinate SMS Verification Styles
 *
 * @package Goodinate_SMS_Verification
 * @version 1.3.0
 */

/* ============================================
   ACCOUNT VERIFICATION STEPS
   ============================================ */

.woocommerce-info[data-goodinate-verification="1"] {
	padding: 0;
	background: transparent;
	border: 0;
	color: var(--at-black, #111827);
}

.woocommerce-info[data-goodinate-verification="1"]::before,
.woocommerce-info[data-goodinate-verification="1"]::after {
	display: none;
}

.goodinate-account-verification,
.goodinate-account-verification * {
	box-sizing: border-box;
}

.goodinate-account-verification {
	width: 100%;
	padding: var(--at-padding--l, 1.5rem);
	background: var(--at-white, #ffffff);
	border: var(--at-border-width, 1px) solid var(--at-border-color, #d9d9d9);
	border-radius: var(--at-radius--m, 12px);
	box-shadow: var(--at-shadow--s, none);
	color: var(--at-black, #111827);
}

.goodinate-account-verification__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--at-space--m, 1rem);
	margin-bottom: var(--at-space--m, 1rem);
}

.goodinate-account-verification__title {
	display: block;
	margin: 0 0 var(--at-space--3xs, 0.25rem);
	color: var(--at-black, #111827);
	font-size: var(--at-text--l, 1.35rem);
	line-height: 1.2;
}

.goodinate-account-verification__header p,
.goodinate-verification-step p {
	margin: 0;
	color: var(--at-black, #111827);
	font-size: var(--at-text--s, 0.9375rem);
	line-height: 1.55;
}

.goodinate-account-verification__progress {
	flex: 0 0 auto;
	color: var(--at-black, #111827);
	font-size: var(--at-text--s, 0.9375rem);
	font-weight: 700;
}

.goodinate-account-verification__steps {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--at-space--m, 1rem);
	margin: 0;
	padding: 0;
	list-style: none;
}

.goodinate-verification-step {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
	padding: var(--at-padding--m, 1rem);
	border: var(--at-border-width, 1px) solid var(--at-border-color, #d9d9d9);
	border-radius: var(--at-radius--s, 8px);
	color: var(--at-black, #111827);
}

.goodinate-verification-step.is-current {
	border-color: var(--at-primary, #158f53);
}

.goodinate-verification-step.is-complete {
	border-color: var(--at-green, #158f53);
}

.goodinate-verification-step__topline {
	display: flex;
	align-items: center;
	gap: var(--at-space--xs, 0.5rem);
	margin-bottom: var(--at-space--xs, 0.5rem);
}

.goodinate-verification-step__number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	border: 1px solid currentColor;
	border-radius: 50%;
	color: var(--at-black, #111827);
	font-size: var(--at-text--xs, 0.8125rem);
	font-weight: 700;
}

.goodinate-verification-step.is-complete .goodinate-verification-step__number {
	color: var(--at-green, #158f53);
}

.goodinate-verification-step__label {
	color: var(--at-black, #111827);
	font-size: var(--at-text--xs, 0.8125rem);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.goodinate-verification-step__title {
	display: block;
	margin-bottom: var(--at-space--xs, 0.5rem);
	color: var(--at-black, #111827);
	font-size: var(--at-text--m, 1.05rem);
	line-height: 1.3;
}

.goodinate-verification-step__action,
.woocommerce-info .goodinate-verification-step__action.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	float: none;
	min-height: 2.75rem;
	margin: auto 0 0;
	padding: var(--at-padding--s, 0.75rem) var(--at-padding--m, 1rem);
	background: var(--at-primary, #158f53);
	border: 0;
	border-radius: var(--at-btn-border-radius, 6px);
	color: var(--at-white, #ffffff) !important;
	font-size: var(--at-text--s, 0.9375rem);
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	transition: var(--at-btn-transition, opacity 0.2s ease);
}

.goodinate-verification-step p + .goodinate-verification-step__action {
	margin-top: var(--at-space--m, 1rem);
}

.goodinate-verification-step__action:hover,
.goodinate-verification-step__action:focus-visible {
	background: var(--at-primary-d-1, #0f7543);
	color: var(--at-white, #ffffff) !important;
}

.goodinate-verification-step__status {
	display: inline-flex;
	align-items: center;
	margin-top: var(--at-space--m, 1rem);
	color: var(--at-green, #158f53);
	font-size: var(--at-text--s, 0.9375rem);
	font-weight: 700;
}

.goodinate-verification-step__status.is-locked {
	color: var(--at-black, #111827);
}

.goodinate-verification-step__status.is-pending {
	color: var(--at-black, #111827);
}

@media (max-width: 767px) {
	.goodinate-account-verification {
		padding: var(--at-padding--m, 1rem);
	}

	.goodinate-account-verification__header {
		flex-direction: column;
	}

	.goodinate-account-verification__steps {
		grid-template-columns: 1fr;
	}

	.goodinate-verification-step__action {
		width: 100%;
	}
}


/* ============================================
   VERIFICATION PAGE
   ============================================ */

.goodinate-verification-page {
	max-width: fit-content;
	margin-inline: auto;
}

.verification-status {
	padding: var(--at-padding--xl, 2rem);
	border-radius: var(--at-radius--m, 12px);
	text-align: center;
}

.verification-status--success {
	background: var(--at-success-bg, #D1FAE5);
	border: 1px solid var(--at-success-border, #A7F3D0);
}

.verification-status--pending {
	background: var(--at-neutral, #F3F4F6);
	border: 1px solid var(--at-neutral-border, #E5E7EB);
}

.verification-status-icon {
	margin-bottom: var(--at-padding--m, 1rem);
}

.verification-status--success .verification-status-icon {
	color: var(--at-green, #059669);
}

.verification-status--pending .verification-status-icon {
	color: var(--at-secondary, #000000);
}

.verification-status h2 {
	margin: 0 0 var(--at-padding--m, 1rem) 0;
	font-size: var(--at-text--xl, 1.5rem);
	color: var(--at-black, #000000);
}

.verification-intro {
	color: var(--at-black, #666666);
	margin-bottom: var(--at-padding--l, 1.5rem);
}

.verification-success-message {
	color: var(--at-green, #059669);
	font-weight: 600;
	margin: var(--at-padding--m, 1rem) 0 0;
}


/* ============================================
   VERIFICATION DETAILS (Success State)
   ============================================ */

.verification-details {
	display: flex;
	flex-direction: column;
	gap: var(--at-padding--s, 0.5rem);
	margin: var(--at-padding--l, 1.5rem) 0;
	padding: var(--at-padding--m, 1rem);
	background: rgba(255, 255, 255, 0.5);
	border-radius: var(--at-radius--s, 6px);
}

.verification-detail {
	display: flex;
	justify-content: space-between;
	gap: var(--at-padding--m, 1rem);
}

.verification-detail dt {
	color: var(--at-black, #666666);
	font-weight: 400;
}

.verification-detail dd {
	color: var(--at-black, #000000);
	font-weight: 600;
	margin: 0;
}


/* ============================================
   FORMS
   ============================================ */

.verification-form {
	margin-top: var(--at-padding--l, 1.5rem);
	text-align: left;
}

.verification-form--otp {
	margin-top: var(--at-padding--xl, 2rem);
	padding-top: var(--at-padding--l, 1.5rem);
	border-top: 1px solid var(--at-neutral-border, #E5E7EB);
}

.form-group {
	margin-bottom: var(--at-padding--m, 1rem);
}

.form-label {
	display: block;
	margin-bottom: var(--at-padding--xs, 0.5rem);
	font-weight: 600;
	color: var(--at-black, #000000);
}

.form-label .required {
	color: var(--at-red, #DC2626);
}

.input-group {
	display: flex;
	align-items: stretch;
	border: 2px solid var(--at-neutral-border, #E5E7EB);
	border-radius: var(--at-radius--s, 6px);
	overflow: hidden;
	background: var(--at-white, #ffffff);
	transition: border-color 0.2s ease;
}

.input-group:focus-within {
	border-color: var(--at-secondary, #000000);
}

.input-prefix {
	display: flex;
	align-items: center;
	padding: 0 var(--at-padding--s, 0.75rem);
	background: var(--at-neutral, #F3F4F6);
	color: var(--at-black, #666666);
	font-weight: 600;
	border-right: 2px solid var(--at-neutral-border, #E5E7EB);
}

.form-input {
	flex: 1;
	padding: var(--at-padding--s, 0.75rem);
	border: none;
	font-size: var(--at-text--m, 1rem);
	background: transparent;
}

.form-input:focus {
	outline: none;
}

.form-input--otp {
	text-align: center;
	font-size: var(--at-text--xl, 1.5rem);
	font-weight: 700;
	letter-spacing: 0.5em;
	padding: var(--at-padding--m, 1rem);
	border: 2px solid var(--at-neutral-border, #E5E7EB);
	border-radius: var(--at-radius--s, 6px);
}

.form-input--otp:focus {
	outline: none;
	border-color: var(--at-secondary, #000000);
}

.form-hint {
	margin-top: var(--at-padding--xs, 0.5rem);
	font-size: var(--at-text--s, 0.875rem);
	color: var(--at-black, #666666);
}


/* ============================================
   BUTTONS
   ============================================ */

.button-group {
	display: flex;
	gap: var(--at-padding--s, 0.75rem);
}

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--at-padding--xs, 0.5rem);
	padding: var(--at-padding--s, 0.75rem) var(--at-padding--l, 1.5rem);
	font-size: var(--at-text--m, 1rem);
	font-weight: 600;
	border: none;
	border-radius: var(--at-radius--s, 6px);
	cursor: pointer;
	transition: all 0.2s ease;
}

.button-primary {
	background: var(--at-secondary, #000000);
	color: var(--at-white, #ffffff);
}

.button-primary:hover:not(:disabled) {
	opacity: 0.9;
}

.button-primary:focus {
	outline: 3px solid var(--at-secondary, #000000);
	outline-offset: 2px;
}

.button-secondary {
	background: transparent;
	color: var(--at-secondary, #000000);
	border: 2px solid var(--at-secondary, #000000);
}

.button-secondary:hover:not(:disabled) {
	background: rgba(0, 0, 0, 0.05);
}

.button-secondary:focus {
	outline: 3px solid var(--at-secondary, #000000);
	outline-offset: 2px;
}

.button:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

/* Button Spinner */
.button-spinner {
	width: 16px;
	height: 16px;
	border: 2px solid transparent;
	border-top-color: currentColor;
	border-radius: 50%;
	animation: spin 0.8s linear infinite;
}

@keyframes spin {
	to { transform: rotate(360deg); }
}


/* ============================================
   MESSAGES
   ============================================ */

.form-message {
	margin-top: var(--at-padding--m, 1rem);
	padding: var(--at-padding--s, 0.75rem) var(--at-padding--m, 1rem);
	border-radius: var(--at-radius--s, 6px);
	font-size: var(--at-text--s, 0.875rem);
}

.form-message:empty {
	display: none;
}

.form-message--success {
	background: var(--at-success-bg, #D1FAE5);
	color: var(--at-green, #059669);
	border: 1px solid var(--at-success-border, #A7F3D0);
}

.form-message--error {
	background: var(--at-error-bg, #FEE2E2);
	color: var(--at-red, #DC2626);
	border: 1px solid var(--at-error-border, #FECACA);
}


/* ============================================
   MOBILE
   ============================================ */

@media (max-width: 600px) {
	.verification-status {
		padding: var(--at-padding--l, 1.5rem);
	}

	.button-group {
		flex-direction: column;
	}

	.button-group .button {
		width: 100%;
	}
}
