/* eHawu Affiliates front-end styles — v1.2.0 (gamification) */
.ehawu-aff-register,
.ehawu-aff-dashboard {
	max-width: 900px;
}

.ehawu-aff-notice {
	padding: 12px 16px;
	border-left: 4px solid #999;
	background: #f6f7f7;
	margin: 0 0 16px;
}

.ehawu-aff-notice.ehawu-aff-success {
	border-left-color: #00a32a;
}

.ehawu-aff-notice.ehawu-aff-error {
	border-left-color: #d63638;
}

.ehawu-aff-form input[type="text"],
.ehawu-aff-form input[type="email"],
.ehawu-aff-form textarea {
	width: 100%;
	max-width: 480px;
}

.ehawu-aff-table {
	border-collapse: collapse;
	margin: 0 0 24px;
	width: 100%;
}

.ehawu-aff-table th,
.ehawu-aff-table td {
	border: 1px solid #dcdcde;
	padding: 6px 10px;
	text-align: left;
}

.ehawu-aff-table th {
	background: #f6f7f7;
}

.ehawu-aff-hint {
	color: #646970;
	font-size: 0.9em;
}

/* ===== v1.2.0 gamification (dark eHawu theme) ===== */

/* Founding-cohort scarcity strip (register card) */
.ehawu-aff-cohort {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	background: rgba(255, 153, 0, 0.08);
	border: 1px solid rgba(255, 153, 0, 0.35);
	border-radius: 12px;
	padding: 12px 16px;
	margin-bottom: 20px;
	color: #FFD9A0;
	font-size: 0.95rem;
}
.ehawu-aff-cohort strong { color: #FF9900; }
.ehawu-aff-cohort .cohort-sub { opacity: 0.75; font-size: 0.82rem; }
.cohort-pulse {
	width: 10px; height: 10px; border-radius: 50%;
	background: #FF9900; flex: 0 0 auto;
	animation: ehawu-pulse 1.8s ease-in-out infinite;
}
@keyframes ehawu-pulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(255, 153, 0, 0.55); }
	55% { box-shadow: 0 0 0 8px rgba(255, 153, 0, 0); }
}

/* Month stat strip (dashboard) */
.ehawu-aff-monthstrip {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 12px;
	margin: 0 0 20px;
}
.ehawu-aff-monthstrip .ms-item {
	background: linear-gradient(160deg, rgba(255, 153, 0, 0.07), rgba(10, 11, 20, 0.9));
	border: 1px solid rgba(255, 153, 0, 0.25);
	border-radius: 14px;
	padding: 14px 12px;
	text-align: center;
}
.ehawu-aff-monthstrip .ms-num {
	display: block;
	font-size: 1.6rem;
	font-weight: 800;
	color: #FF9900;
	line-height: 1.1;
}
.ehawu-aff-monthstrip .ms-rank .ms-num { color: #FFD75E; }
.ehawu-aff-monthstrip .ms-lbl {
	display: block;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	opacity: 0.7;
	margin-top: 4px;
	color: #d8d8de;
}

/* Badges */
.ehawu-aff-badges {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin: 0 0 20px;
}
.ehawu-badge {
	display: flex;
	align-items: center;
	gap: 7px;
	border-radius: 999px;
	padding: 7px 14px;
	font-size: 0.82rem;
	font-weight: 600;
	border: 1px solid;
	transition: transform 0.12s;
}
.ehawu-badge.earned {
	background: rgba(255, 153, 0, 0.12);
	border-color: rgba(255, 153, 0, 0.5);
	color: #FFD9A0;
}
.ehawu-badge.earned:hover { transform: translateY(-2px); }
.ehawu-badge.locked {
	background: rgba(255, 255, 255, 0.03);
	border-color: rgba(255, 255, 255, 0.12);
	color: rgba(232, 232, 238, 0.35);
	filter: grayscale(1);
}
.ehawu-badge .b-icon { font-size: 1rem; }

/* Tier progress bar */
.ehawu-aff-progress { margin: 0 0 24px; }
.ehawu-aff-progress .pg-head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 8px;
	color: #e8e8ee;
}
.ehawu-aff-progress .pg-head strong { color: #FF9900; font-size: 1.05rem; }
.ehawu-aff-progress .pg-count { opacity: 0.7; font-size: 0.85rem; }
.pg-track {
	height: 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.08);
	overflow: hidden;
}
.pg-fill {
	height: 100%;
	border-radius: 999px;
	background: linear-gradient(90deg, #FF9900, #FFD75E);
	transition: width 0.6s ease;
}
.pg-hint { margin-top: 6px; }

/* Visibility toggle */
.ehawu-aff-visibility { margin: 0 0 14px; }
.ehawu-aff-vis-toggle {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 0.85rem;
	color: #c9cad2;
	cursor: pointer;
}
.ehawu-aff-vis-toggle input { accent-color: #FF9900; width: 16px; height: 16px; }

/* Leaderboard block (public) */
.ehawu-aff-lb {
	background: linear-gradient(170deg, #101220, #0a0b14);
	border: 1px solid rgba(255, 153, 0, 0.22);
	border-radius: 18px;
	padding: 26px 24px;
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.5);
	margin: 1.6rem 0;
}
.ehawu-aff-lb-head h3 {
	color: #FF9900;
	margin: 0 0 4px;
	font-size: 1.3rem;
}
.ehawu-aff-lb-sub {
	color: #9a9cab;
	font-size: 0.85rem;
	margin: 0 0 18px;
}
.ehawu-aff-lb-empty { color: #c9cad2; font-style: italic; }

/* Podium */
.ehawu-aff-podium {
	display: flex;
	gap: 12px;
	align-items: flex-end;
	justify-content: center;
	margin: 0 0 20px;
}
.ehawu-aff-pod {
	flex: 1 1 0;
	max-width: 200px;
	text-align: center;
	border-radius: 14px;
	padding: 14px 10px;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.1);
}
.ehawu-aff-pod-1 {
	background: linear-gradient(170deg, rgba(255, 153, 0, 0.16), rgba(10, 11, 20, 0.9));
	border-color: rgba(255, 153, 0, 0.55);
	padding-top: 22px;
	padding-bottom: 22px;
	order: 0;
}
.ehawu-aff-pod.is-you { box-shadow: 0 0 0 2px #FF9900; }
.pod-medal { font-size: 1.8rem; line-height: 1; }
.pod-name {
	color: #f0f0f2;
	font-weight: 700;
	margin-top: 6px;
	font-size: 0.95rem;
}
.pod-you { color: #FF9900; font-size: 0.75rem; font-weight: 800; }
.pod-sales { color: #FFD75E; font-weight: 800; margin-top: 4px; }
.pod-amount { color: #9a9cab; font-size: 0.8rem; margin-top: 2px; }

/* Leaderboard rows 4-10 */
.ehawu-aff-lb-table td {
	border-color: rgba(255, 255, 255, 0.08);
	color: #d8d8de;
	background: transparent;
	padding: 8px 10px;
}
.ehawu-aff-lb-table tr.is-you td { background: rgba(255, 153, 0, 0.08); }
.lb-rank { font-weight: 800; color: #FF9900; width: 44px; }
.lb-num { text-align: right; font-variant-numeric: tabular-nums; }

/* Your-rank strip + CTA */
.ehawu-aff-lb-you {
	margin-top: 14px;
	padding: 12px 16px;
	border-radius: 12px;
	background: rgba(255, 153, 0, 0.08);
	border: 1px dashed rgba(255, 153, 0, 0.4);
	color: #FFD9A0;
	font-size: 0.92rem;
	text-align: center;
}
.ehawu-aff-lb-cta { text-align: center; margin-top: 16px; }
.ehawu-aff-lb-cta a.button {
	display: inline-block;
	background: linear-gradient(90deg, #FF9900, #ffb02e);
	color: #141005 !important;
	font-weight: 800;
	border: 0;
	border-radius: 12px;
	padding: 13px 28px;
	text-decoration: none;
}
.ehawu-aff-lb-cta a.button:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(255, 153, 0, 0.35); }

@media (max-width: 600px) {
	.ehawu-aff-lb { padding: 20px 14px; }
	.ehawu-aff-podium { gap: 8px; }
	.ehawu-aff-pod { padding: 10px 6px; }
	.pod-medal { font-size: 1.4rem; }
}

/* v1.3.0 share kit + champion */
.ehawu-aff-sharekit{display:flex;flex-direction:column;gap:12px;margin:0 0 24px}
.sk-item{background:rgba(255,255,255,.03);border:1px solid rgba(255,153,0,.18);border-radius:12px;padding:14px 16px}
.sk-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.sk-channel{color:#FF9900;font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}
.sk-copy{background:transparent;border:1px solid rgba(255,153,0,.4);color:#FF9900;border-radius:8px;padding:5px 14px;font-size:.78rem;font-weight:700;cursor:pointer}
.sk-copy:hover{background:rgba(255,153,0,.12)}
.sk-text{color:#d8d8de;font-size:.9rem;line-height:1.6;margin:0;white-space:pre-wrap}
.ehawu-aff-lb-champ{color:#FFD75E;font-size:.88rem;margin:0 0 14px;font-weight:600}

.ehawu-aff-packcard{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:linear-gradient(135deg,rgba(201,162,39,.14),rgba(245,212,92,.07));border:1px solid rgba(201,162,39,.45);border-radius:12px;padding:18px 20px;margin:0 0 24px}
.ehawu-aff-packcard .pc-copy{flex:1 1 260px}
.ehawu-aff-packcard h3{margin:0 0 6px;color:#f5d45c;font-size:1.05rem}
.ehawu-aff-packcard p{margin:0;font-size:.9rem;opacity:.85;line-height:1.5}
.ehawu-aff-packcard .pc-btn{flex:0 0 auto;background:linear-gradient(135deg,#c9a227,#f5d45c);color:#111;font-weight:700;border-radius:8px;padding:10px 18px;text-decoration:none;white-space:nowrap;box-shadow:0 2px 10px rgba(201,162,39,.4)}
.ehawu-aff-packcard .pc-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(201,162,39,.6)}

/* ===== v1.4.1 button rescue + dark-surface hardening (marker: ehaff-hardening-20261026) ===== */
/* Kill-switch for theme gradient-text tricks: explicit fill + clip on every CTA rail. */
.ehawu-aff-lb-cta a.button,
.ehawu-aff-form button.button,
.ehawu-aff-form button[type="submit"] {
  color: #141005 !important;
  -webkit-text-fill-color: #141005 !important;
  background-clip: border-box !important;
  -webkit-background-clip: border-box !important;
  text-shadow: none !important;
  text-decoration: none !important;
}
.ehawu-aff-notice a.button {
  -webkit-text-fill-color: #FF9900 !important;
  background-clip: border-box !important;
  -webkit-background-clip: border-box !important;
  text-shadow: none !important;
}
.ehawu-aff-notice a.button:hover { -webkit-text-fill-color: #141005 !important; }
.ehawu-aff-lb-cta a.button:active,
.ehawu-aff-form button.button:active { transform: translateY(0) scale(0.99); }
.ehawu-aff-lb-cta a.button,
.ehawu-aff-form button.button,
.ehawu-aff-form button[type="submit"],
.ehawu-aff-notice a.button {
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.18s ease;
}
.ehawu-aff-lb-cta a.button:focus-visible,
.ehawu-aff-form button.button:focus-visible,
.ehawu-aff-form button[type="submit"]:focus-visible,
.ehawu-aff-notice a.button:focus-visible,
.ehawu-aff-form input:focus-visible,
.ehawu-aff-form textarea:focus-visible {
  outline: 3px solid #ffd28a;
  outline-offset: 3px;
}
/* Chrome autofill must not paint white/yellow sheets over the dark fields. */
.ehawu-aff-form input:-webkit-autofill,
.ehawu-aff-form textarea:-webkit-autofill,
.ehawu-aff-form input:-webkit-autofill:hover,
.ehawu-aff-form input:-webkit-autofill:focus {
  -webkit-text-fill-color: #e8e8ee !important;
  caret-color: #e8e8ee;
  -webkit-box-shadow: 0 0 0 1000px #151828 inset !important;
  transition: background-color 9999s ease-in-out 0s;
}
.ehawu-aff-form input:user-invalid,
.ehawu-aff-form textarea:user-invalid {
  border-color: #ff6b6b !important;
  box-shadow: 0 0 0 3px rgba(255, 107, 107, 0.15);
}
@media (prefers-reduced-motion: reduce) {
  .cohort-pulse { animation: none; }
  .ehawu-aff-lb-cta a.button,
  .ehawu-aff-form button.button,
  .ehawu-aff-form button[type="submit"],
  .ehawu-aff-notice a.button { transition: none; }
}
