/* Faisal Growth Audit — public funnel (scoped, lightweight, RTL-first). */
.fga-wrapper {
	--fga-primary: #0f766e;
	--fga-primary-d: #0b4f49;
	--fga-ink: #0f172a;
	--fga-muted: #64748b;
	--fga-line: #e6e9ef;
	--fga-bg: #ffffff;
	--fga-soft: #f6f8fb;
	--fga-radius: 16px;
	--fga-shadow: 0 18px 50px rgba(15, 23, 42, 0.10);
	max-width: 720px;
	margin: 0 auto;
	color: var(--fga-ink);
	font-family: inherit;
	line-height: 1.7;
	direction: rtl;
	text-align: right;
}

.fga-wrapper *,
.fga-wrapper *::before,
.fga-wrapper *::after {
	box-sizing: border-box;
}

/* Cards */
.fga-card {
	background: var(--fga-bg);
	border: 1px solid var(--fga-line);
	border-radius: var(--fga-radius);
	box-shadow: var(--fga-shadow);
	padding: 28px;
	margin-bottom: 16px;
}

@media (max-width: 600px) {
	.fga-card { padding: 20px; }
}

/* Hero / URL input */
.fga-eyebrow {
	display: inline-block;
	padding: 5px 12px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--fga-primary) 12%, #fff);
	color: var(--fga-primary-d);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .04em;
	margin-bottom: 14px;
}

.fga-headline {
	margin: 0 0 10px;
	font-size: 30px;
	line-height: 1.35;
	font-weight: 900;
	color: var(--fga-ink);
}

.fga-sub {
	margin: 0 0 20px;
	font-size: 17px;
	color: var(--fga-muted);
}

@media (max-width: 600px) {
	.fga-headline { font-size: 24px; }
	.fga-sub { font-size: 15px; }
}

/* Fields */
.fga-field { margin-bottom: 16px; }

.fga-label {
	display: block;
	margin-bottom: 8px;
	font-size: 14px;
	font-weight: 800;
}

.fga-input {
	width: 100%;
	border: 1.5px solid var(--fga-line);
	border-radius: 12px;
	background: #fff;
	color: var(--fga-ink);
	font: inherit;
	transition: border-color .15s ease, box-shadow .15s ease;
}

.fga-input-lg {
	padding: 16px 16px;
	font-size: 18px;
	min-height: 58px;
	text-align: left;
	direction: ltr;
}

.fga-input:focus {
	outline: none;
	border-color: var(--fga-primary);
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--fga-primary) 16%, transparent);
}

.fga-help {
	display: block;
	margin-top: 7px;
	font-size: 13px;
	color: var(--fga-muted);
}

/* Buttons */
.fga-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border: 0;
	border-radius: 12px;
	padding: 13px 22px;
	font: inherit;
	font-weight: 800;
	font-size: 16px;
	cursor: pointer;
	text-decoration: none;
	transition: transform .12s ease, background .15s ease, opacity .15s ease;
}

.fga-btn:active { transform: translateY(1px); }

.fga-btn-lg {
	width: 100%;
	min-height: 56px;
	font-size: 17px;
}

.fga-btn-primary {
	background: linear-gradient(135deg, var(--fga-primary), var(--fga-primary-d));
	color: #fff;
}

.fga-btn-primary:hover { opacity: .94; color: #fff; }

.fga-btn-ghost {
	background: #fff;
	color: var(--fga-primary-d);
	border: 1.5px solid var(--fga-line);
}

.fga-btn-ghost:hover { border-color: var(--fga-primary); color: var(--fga-primary-d); }

.fga-btn-wa { background: #25d366; color: #fff; }
.fga-btn-wa:hover { opacity: .94; color: #fff; }

.fga-btn[disabled] { opacity: .7; cursor: wait; }

.fga-microcopy {
	margin: 12px 0 0;
	text-align: center;
	font-size: 13px;
	color: var(--fga-muted);
}

/* Benefit bullets */
.fga-benefits {
	list-style: none;
	margin: 22px 0 0;
	padding: 18px 0 0;
	border-top: 1px solid var(--fga-line);
	display: grid;
	gap: 10px;
}

.fga-benefits li {
	position: relative;
	padding-inline-start: 28px;
	font-weight: 600;
	color: #334155;
}

.fga-benefits li::before {
	content: "✓";
	position: absolute;
	inset-inline-start: 0;
	top: 1px;
	width: 20px;
	height: 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: color-mix(in srgb, var(--fga-primary) 14%, #fff);
	color: var(--fga-primary-d);
	font-size: 12px;
	font-weight: 900;
}

/* Honeypot */
.fga-honeypot {
	position: absolute !important;
	left: -9999px !important;
	top: -9999px !important;
	width: 1px; height: 1px; overflow: hidden;
}

/* Alerts */
.fga-alert {
	margin-bottom: 16px;
	padding: 12px 16px;
	border-radius: 12px;
	font-weight: 600;
}

.fga-alert-error {
	background: #fff1f2;
	border: 1px solid #fecdd3;
	color: #be123c;
}

.fga-alert ul { margin: 0; padding-inline-start: 18px; }

/* Loading */
.fga-loading-card { text-align: center; padding: 44px 28px; }

.fga-spinner {
	width: 46px; height: 46px;
	margin: 0 auto 18px;
	border-radius: 50%;
	border: 4px solid var(--fga-line);
	border-top-color: var(--fga-primary);
	animation: fga-spin .8s linear infinite;
}

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

.fga-loading-title { margin: 0 0 6px; font-size: 20px; font-weight: 900; }
.fga-loading-text { margin: 0; color: var(--fga-muted); }

/* Preview */
.fga-preview-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
	padding-bottom: 16px;
	margin-bottom: 18px;
	border-bottom: 1px solid var(--fga-line);
}

.fga-preview-url {
	font-weight: 800;
	font-size: 15px;
	color: var(--fga-muted);
	direction: ltr;
	word-break: break-all;
}

.fga-scorewrap { display: inline-flex; align-items: baseline; gap: 6px; }
.fga-score-number { font-size: 42px; font-weight: 900; line-height: 1; color: var(--fga-primary); }
.fga-score-total { font-size: 15px; font-weight: 700; color: var(--fga-muted); }

.fga-grade-badge {
	margin-inline-start: 10px;
	padding: 6px 12px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--fga-primary) 12%, #fff);
	color: var(--fga-primary-d);
	font-size: 13px;
	font-weight: 800;
	align-self: center;
}

.fga-cat-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-bottom: 18px;
}

@media (max-width: 520px) { .fga-cat-grid { grid-template-columns: 1fr; } }

.fga-cat-card {
	border: 1px solid var(--fga-line);
	border-radius: 12px;
	padding: 14px;
	background: var(--fga-soft);
}

.fga-cat-card-label { font-weight: 800; font-size: 14px; margin-bottom: 6px; }
.fga-cat-card-val { font-size: 26px; font-weight: 900; color: var(--fga-primary); line-height: 1; }
.fga-cat-card-val span { font-size: 14px; color: var(--fga-muted); margin-inline-start: 2px; }

.fga-cat-card-bar {
	margin-top: 10px;
	height: 8px;
	border-radius: 999px;
	background: #e2e8f0;
	overflow: hidden;
}

.fga-cat-card-bar span { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--fga-primary), var(--fga-primary-d)); }

.fga-preview-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }

.fga-chip {
	display: inline-block;
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--fga-soft);
	border: 1px solid var(--fga-line);
	font-size: 13px;
}

.fga-chip-accent {
	background: color-mix(in srgb, var(--fga-primary) 10%, #fff);
	border-color: color-mix(in srgb, var(--fga-primary) 30%, #fff);
	color: var(--fga-primary-d);
}

.fga-findings { margin: 0; padding-inline-start: 20px; display: grid; gap: 7px; color: #334155; }

/* Unlock */
.fga-unlock-card { border: 1.5px dashed color-mix(in srgb, var(--fga-primary) 40%, #fff); }
.fga-unlock-title { margin: 0 0 6px; font-size: 19px; font-weight: 900; }
.fga-unlock-note { margin: 0 0 16px; color: var(--fga-muted); }

.fga-consent label { display: flex; align-items: flex-start; gap: 8px; font-size: 14px; color: #334155; cursor: pointer; }
.fga-consent input { margin-top: 4px; }

/* Success */
.fga-success-card { text-align: center; }

.fga-success-icon {
	width: 56px; height: 56px;
	margin: 0 auto 14px;
	display: flex; align-items: center; justify-content: center;
	border-radius: 50%;
	background: #dcfce7;
	color: #166534;
	font-size: 28px;
	font-weight: 900;
}

.fga-success-title { margin: 0 0 8px; font-size: 24px; font-weight: 900; }
.fga-success-text { margin: 0 0 20px; color: var(--fga-muted); }

.fga-btn-row { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.fga-btn-row .fga-btn { flex: 1 1 auto; min-width: 150px; }

.fga-disclaimer { margin: 18px 0 0; font-size: 12px; color: #94a3b8; }

.fga-note { font-size: 13px; color: var(--fga-muted); }

/* Scoped premium footer */
.fga-public-footer {
	margin-top: 18px;
	padding-top: 14px;
	border-top: 1px solid var(--fga-line);
	text-align: center;
}

.fga-public-copyright { font-size: 12px; color: #94a3b8; }
.fga-public-tagline { font-size: 12px; color: var(--fga-muted); margin-top: 2px; }
