.wahaha-loyalty-register {
	box-sizing: border-box;
	width: 100%;
	padding: clamp(1.25rem, 5vw, 4rem) 1rem;
	color: #f4f0e8;
	background: #080d17;
	border: 1px solid rgba(202, 169, 97, 0.18);
	border-radius: 1.25rem;
	font-family: inherit;
	color-scheme: dark;
}

.wahaha-loyalty-register *,
.wahaha-loyalty-register *::before,
.wahaha-loyalty-register *::after {
	box-sizing: border-box;
}

.wahaha-loyalty-register__card {
	width: min(100%, 38rem);
	margin-inline: auto;
	padding: clamp(1.25rem, 4vw, 2.75rem);
	background: #111a29;
	border: 1px solid rgba(221, 190, 126, 0.2);
	border-radius: 1rem;
	box-shadow: 0 1.25rem 3.5rem rgba(0, 0, 0, 0.3);
}

.wahaha-loyalty-register__header {
	margin-bottom: 2rem;
}

.wahaha-loyalty-register .wahaha-loyalty-register__eyebrow {
	margin: 0 0 0.75rem;
	color: #d0b16e;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.wahaha-loyalty-register .wahaha-loyalty-register__header h2 {
	margin: 0;
	color: #ead6a4;
	font-size: clamp(1.7rem, 4vw, 2.35rem);
	font-weight: 600;
	letter-spacing: 0.015em;
	line-height: 1.2;
}

.wahaha-loyalty-register .wahaha-loyalty-register__intro {
	max-width: 32rem;
	margin: 0.85rem 0 0;
	color: #b5bdc9;
	font-size: 1rem;
	line-height: 1.65;
}

.wahaha-loyalty-register .wahaha-loyalty-notice {
	margin: 0 0 1.25rem;
	padding: 0.9rem 1rem;
	color: #f4ead2;
	background: #1d2634;
	border: 1px solid rgba(221, 190, 126, 0.38);
	border-radius: 0.65rem;
	font-size: 0.95rem;
	line-height: 1.5;
}

.wahaha-loyalty-register form {
	margin: 0;
}

.wahaha-loyalty-register form p {
	margin: 0 0 1.15rem;
}

.wahaha-loyalty-register form label {
	display: grid;
	gap: 0.5rem;
	color: #e5e8ed;
	font-size: 0.94rem;
	font-weight: 500;
}

.wahaha-loyalty-register form input[type="text"],
.wahaha-loyalty-register form input[type="tel"],
.wahaha-loyalty-register form input[type="email"],
.wahaha-loyalty-register form input[type="password"],
.wahaha-loyalty-register form input[type="date"],
.wahaha-loyalty-register form select {
	width: 100%;
	min-width: 0;
	min-height: 3.15rem;
	padding: 0.75rem 0.9rem;
	color: #f4f0e8;
	background: #0b121e;
	border: 1px solid #354052;
	border-radius: 0.65rem;
	font: inherit;
	font-size: 1rem;
	transition: border-color 140ms ease, box-shadow 140ms ease, background-color 140ms ease;
}

.wahaha-loyalty-register form input::placeholder {
	color: #98a2b2;
	opacity: 1;
}

.wahaha-loyalty-register form input:focus-visible,
.wahaha-loyalty-register form select:focus-visible,
.wahaha-loyalty-register form button:focus-visible {
	outline: 3px solid #d3b46f;
	outline-offset: 3px;
}

.wahaha-loyalty-register form input:focus,
.wahaha-loyalty-register form select:focus {
	border-color: #d3b46f;
	background: #0e1725;
	box-shadow: 0 0 0 2px rgba(211, 180, 111, 0.16);
}

.wahaha-loyalty-register form select {
	cursor: pointer;
}

.wahaha-loyalty-register form button[type="submit"] {
	display: inline-flex;
	width: 100%;
	min-height: 3.25rem;
	align-items: center;
	justify-content: center;
	margin-top: 0.35rem;
	padding: 0.8rem 1.25rem;
	color: #15120a;
	background: #c7a65d;
	border: 1px solid #d9bd7d;
	border-radius: 0.65rem;
	font: inherit;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.015em;
	cursor: pointer;
	transition: background-color 140ms ease, border-color 140ms ease, transform 140ms ease;
}

.wahaha-loyalty-register form button[type="submit"]:hover {
	background: #d5b76f;
	border-color: #e6cd96;
}

.wahaha-loyalty-register form button[type="submit"]:active {
	transform: translateY(1px);
}

@media (max-width: 40rem) {
	.wahaha-loyalty-register {
		padding: 1rem 0.75rem;
		border-radius: 0.9rem;
	}

	.wahaha-loyalty-register__card {
		padding: 1.25rem 1rem;
		border-radius: 0.8rem;
	}

	.wahaha-loyalty-register__header {
		margin-bottom: 1.5rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wahaha-loyalty-register form input,
	.wahaha-loyalty-register form select,
	.wahaha-loyalty-register form button {
		transition: none;
	}
}

/* WAHAHA LOYALTY+ member dashboard */
.wl-dashboard { padding: clamp(1rem, 3vw, 2rem); }
.wl-dashboard__wrap { width: min(100%, 68rem); margin: 0 auto; }
.wl-dashboard__hero { position: relative; overflow: hidden; padding: clamp(1.4rem, 4vw, 2.5rem); border: 1px solid rgba(211,180,111,.32); border-radius: 1rem; background: radial-gradient(circle at 90% 10%, rgba(199,166,93,.16), transparent 35%), #111a29; }
.wl-dashboard__hero h2 { margin: .2rem 0 .65rem; color: #f4e5bd; font-size: clamp(1.8rem, 5vw, 3rem); letter-spacing: .04em; }
.wl-dashboard__hero h2 span { color: #c7a65d; }
.wl-dashboard__hero > p:not(.wahaha-loyalty-register__eyebrow) { color: #c1c8d3; margin: 0; }
.wl-member-id { display: inline-flex; flex-wrap: wrap; gap: .6rem; align-items: center; margin-top: 1.4rem; padding: .65rem .9rem; color: #d8c28f; border: 1px solid rgba(211,180,111,.3); border-radius: .5rem; font-size: .75rem; letter-spacing: .1em; }
.wl-member-id strong { color: #fff5d9; font-size: .95rem; letter-spacing: .04em; }
.wl-dashboard__grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1rem; margin: 1rem 0; }
.wl-stat, .wl-panel { min-width: 0; padding: 1.25rem; border: 1px solid rgba(211,180,111,.18); border-radius: .85rem; background: #111a29; }
.wl-stat { display: flex; flex-direction: column; gap: .55rem; }
.wl-stat > span { color: #aeb8c7; font-size: .82rem; }
.wl-stat > strong { color: #f1dfb2; font-size: clamp(1.35rem, 2.5vw, 1.9rem); line-height: 1.2; overflow-wrap: anywhere; }
.wl-stat > small, .wl-muted { color: #9da8b8; font-size: .82rem; line-height: 1.6; }
.wl-panel { margin-top: 1rem; }
.wl-panel__heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.1rem; }
.wl-panel__heading h3, .wl-panel h3 { margin: .2rem 0 0; color: #f1e6ca; font-size: 1.25rem; }
.wl-panel__heading > strong { color: #d9bd7d; font-size: 1.25rem; }
.wl-kicker { margin: 0; color: #c7a65d; font-size: .68rem; font-weight: 700; letter-spacing: .16em; }
.wl-progress { height: .65rem; overflow: hidden; border-radius: 999px; background: #080d17; border: 1px solid #30394a; }
.wl-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#8d7138,#e1c783); }
.wl-progress__labels { display: flex; justify-content: space-between; gap: .75rem; margin-top: .6rem; color: #b6bfcc; font-size: .78rem; }
.wl-tier-list { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .65rem; margin-top: 1.2rem; }
.wl-tier-list > span { padding: .75rem .5rem; text-align: center; color: #aab3c1; border: 1px solid #30394a; border-radius: .55rem; font-weight: 700; }
.wl-tier-list > span small { display: inline-block; margin-top: .25rem; font-size: .7rem; font-weight: 400; }
.wl-tier-list > span.is-current { color: #f3dfad; border-color: #c7a65d; background: rgba(199,166,93,.12); }
.wl-empty { padding: 1.2rem; border: 1px dashed #3b4658; border-radius: .65rem; }
.wl-empty strong { color: #e9d8ad; }
.wl-empty p { margin-bottom: 0; color: #aeb8c7; line-height: 1.6; }
.wl-table-wrap { width: 100%; overflow-x: auto; }
.wl-table { width: 100%; border-collapse: collapse; color: #e8eaf0; font-size: .88rem; }
.wl-table th, .wl-table td { padding: .85rem .7rem; text-align: left; border-bottom: 1px solid #30394a; white-space: nowrap; }
.wl-table th { color: #d7bd7f; font-weight: 600; }
.wl-rewards { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.wl-rewards__points { display: flex; flex-direction: column; align-items: flex-end; color: #d8bd7d; }
.wl-rewards__points strong { font-size: 1.8rem; }
.wl-rewards__points span { font-size: .68rem; letter-spacing: .13em; }
.wl-dashboard__footer { display: flex; justify-content: space-between; gap: 1rem; padding: 1.2rem .2rem .2rem; color: #aeb8c7; font-size: .85rem; }
.wl-dashboard__footer a { color: #d8bd7d; }
@media (max-width: 850px) { .wl-dashboard__grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 480px) { .wl-dashboard__grid { grid-template-columns: 1fr 1fr; gap: .6rem; } .wl-stat { padding: .9rem; } .wl-stat > strong { font-size: 1.25rem; } .wl-tier-list { gap: .35rem; } .wl-tier-list > span { padding: .6rem .2rem; font-size: .8rem; } .wl-rewards { align-items: flex-start; flex-direction: column; } .wl-rewards__points { align-items: flex-start; } .wl-progress__labels { font-size: .7rem; } }

/* WAHAHA LOYALTY+ Reward & Redemption */
.wl-reward-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: .85rem; margin: 1rem 0 1.5rem; }
.wl-reward-card { min-width: 0; padding: 1rem; border: 1px solid rgba(211,180,111,.22); border-radius: .75rem; background: #0c1422; }
.wl-reward-card h4 { margin: 0 0 .5rem; color: #f1e6ca; font-size: 1rem; }
.wl-reward-card p { color: #aeb9ca; font-size: .85rem; }
.wl-reward-card > strong { display: block; margin: .8rem 0; color: #d9bd7d; }
.wl-reward-card form { margin: 0; }
.wl-reward-card button { width: 100%; }
.wl-reward-card button:disabled { cursor: not-allowed; opacity: .45; }
.wl-notice { padding: .75rem 1rem; border: 1px solid rgba(211,180,111,.25); border-radius: .5rem; color: #f1e6ca; background: #172235; }
.wl-notice--success { border-color: rgba(93,190,135,.4); }
.wl-rewards { display: block; }
.wl-rewards .wl-panel__heading { align-items: flex-start; }
@media (max-width: 480px) { .wl-reward-grid { grid-template-columns: 1fr; } .wl-rewards .wl-panel__heading { flex-direction: column; } }
