/* ============================================================
 * Sima vásárlói regisztráció — reg-card design (sablon port)
 * ============================================================ */

.reg-wrap {
	max-width: 560px;
	margin: 0 auto;
}

.reg-card {
	background: #ffffff;
	border: 1px solid #ece5d8;
	border-radius: 22px;
	box-shadow: 0 12px 34px rgba(40, 34, 28, 0.08);
	padding: 34px 32px 30px;
}

.reg-title {
	font-size: 26px;
	font-weight: 700;
	color: #26331f;
	margin: 0;
	letter-spacing: -0.02em;
}

.reg-req-note {
	font-size: 13.5px;
	line-height: 1.6;
	font-weight: 400;
	color: #6b6657;
	margin-top: 6px;
}

.reg-star {
	color: #c19b5f;
}

/* ---- Mezők ---- */
.reg-name-row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 14px;
	margin-top: 24px;
}

.reg-field {
	margin-top: 14px;
}

.reg-label {
	display: block;
	font-size: 12px;
	font-weight: 700;
	color: #4b5540;
	margin-bottom: 7px;
}

.reg-wrap .reg-input,
.reg-wrap .reg-select,
.reg-wrap .reg-textarea {
	width: 100%;
	padding: 13px 14px;
	border: 1.5px solid #e3ddd0;
	border-radius: 13px;
	font-size: 14px;
	font-weight: 500;
	color: #26331f;
	background: #fdfcf8;
	transition: border-color 0.16s, box-shadow 0.16s;
}

.reg-wrap .reg-input:focus,
.reg-wrap .reg-select:focus,
.reg-wrap .reg-textarea:focus {
	outline: none;
	border-color: #c19b5f;
	box-shadow: 0 0 0 3px rgba(193, 155, 95, 0.16);
}

.reg-select {
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%234b5540' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	padding-right: 38px;
}

.reg-textarea {
	resize: vertical;
}

/* ---- Jelszó erősség-mérő ---- */
.reg-meter-row {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-top: 9px;
}

.reg-meter {
	flex: 1;
	height: 5px;
	border-radius: 999px;
	background: #eeeade;
	overflow: hidden;
}

.reg-meter-fill {
	display: block;
	height: 100%;
	border-radius: 999px;
	transition: width 0.2s, background 0.2s;
}

.reg-meter-fill--0 { width: 0; background: #e3ddd0; }
.reg-meter-fill--1 { width: 25%; background: #c0705a; }
.reg-meter-fill--2 { width: 50%; background: #c19b5f; }
.reg-meter-fill--3 { width: 75%; background: #7a9a5a; }
.reg-meter-fill--4 { width: 100%; background: #2f7d4f; }

.reg-meter-label {
	font-size: 11.5px;
	font-weight: 700;
	min-width: 74px;
	text-align: right;
	color: #a7a08e;
}

.reg-meter-label--1 { color: #c0705a; }
.reg-meter-label--2 { color: #c19b5f; }
.reg-meter-label--3 { color: #7a9a5a; }
.reg-meter-label--4 { color: #2f7d4f; }

/* ---- Extra mezők: chipek (rádiógomb / checkbox) ---- */
.reg-sources {
	margin-top: 22px;
}

.reg-sources-label,
.reg-extra-label {
	display: block;
	font-size: 12px;
	font-weight: 700;
	color: #4b5540;
	margin-bottom: 9px;
}

.reg-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.reg-wrap .reg-chip {
	display: inline-flex;
	align-items: center;
	cursor: pointer;
	border-radius: 999px;
	padding: 10px 16px;
	font-size: 12.5px;
	font-weight: 700;
	border: 1.5px solid #e3ddd0;
	background: #fdfcf8;
	color: #4b5540;
	transition: all 0.16s;
	user-select: none;
}

.reg-wrap .reg-chip:hover {
	border-color: #c8bfa8;
}

.reg-chip input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.reg-wrap .reg-chip.is-checked,
.reg-wrap .reg-chip:has(input:checked) {
	border-color: #2b3a25;
	background: #2b3a25;
	color: #f4f1e7;
}

/* Extra: egyéb típusok (szöveg / hosszú szöveg / legördülő) */
.reg-extra-field {
	margin-top: 22px;
}

.reg-extra-field .reg-input,
.reg-extra-field .reg-textarea,
.reg-extra-field .reg-select {
	margin-top: 2px;
}

/* ---- Pipálható sorok (saját pipa-ikon, lucide) ---- */
.reg-check {
	display: flex;
	gap: 11px;
	margin-top: 22px;
	cursor: pointer;
	position: relative;
}

.reg-check--news {
	margin-top: 12px;
}

.reg-check input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.reg-wrap .reg-check-box {
	width: 21px;
	height: 21px;
	border-radius: 7px;
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 1px;
	transition: all 0.16s;
	background: #fdfcf8;
	border: 1.5px solid #d6cfc0;
}

.reg-wrap .reg-check input:checked ~ .reg-check-box {
	background: linear-gradient(135deg, #d9bd86, #c19b5f);
	border-color: #c19b5f;
}

.reg-wrap .reg-check input:focus-visible ~ .reg-check-box {
	box-shadow: 0 0 0 3px rgba(193, 155, 95, 0.3);
}

.reg-check-tick {
	display: none;
}

.reg-check input:checked ~ .reg-check-box .reg-check-tick {
	display: block;
}

.reg-check-text {
	font-size: 12.5px;
	line-height: 1.65;
	font-weight: 400;
	color: #54544a;
}

/* A pipás sorokban a linkek a szöveg színét viselik (a téma link-stílusa ellen),
   de maradjanak vastagok és arany aláhúzásuk. */
.reg-check .reg-check-text a.reg-inline-link,
.reg-check .reg-check-text .reg-inline-link {
	color: #54544a;
	font-weight: 700;
}

.reg-check-muted {
	color: #8a8470;
}

.reg-inline-link {
	color: #2b3a25;
	font-weight: 600;
	border-bottom: 1.5px solid #c19b5f;
	text-decoration: none;
}

.reg-inline-link--bold {
	font-weight: 700;
}

/* ---- Állapot-dobozok (lucide ikonokkal) ---- */
.reg-status {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 14px 16px;
	border-radius: 13px;
	font-size: 13px;
	line-height: 1.6;
	font-weight: 600;
	margin-bottom: 4px;
}

.reg-status--ok {
	background: #eef4ea;
	color: #2f7d4f;
}

.reg-status--ok .reg-status-icon {
	color: #2f7d4f;
	flex: none;
	margin-top: 1px;
}

.reg-status--err {
	background: #fbeeea;
	color: #9b4a35;
}

.reg-status--err .reg-status-icon {
	color: #9b4a35;
	flex: none;
	margin-top: 1px;
}

.reg-status--err strong {
	color: #7d3a29;
}

/* ---- Beküldés ---- */
.reg-wrap .reg-submit {
	width: 100%;
	margin-top: 22px;
	cursor: pointer;
	border: none;
	border-radius: 999px;
	padding: 16px;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: -0.01em;
	background: linear-gradient(135deg, #d9bd86, #c19b5f);
	color: #3a2d05;
	box-shadow: 0 10px 22px rgba(150, 110, 30, 0.24);
	transition: background 0.16s, color 0.16s, transform 0.12s;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
}

.reg-wrap .reg-submit:hover {
	transform: translateY(-1px);
}

.reg-wrap .reg-submit.is-done {
	background: #2f7d4f;
	color: #fff;
	box-shadow: none;
	pointer-events: none;
}

.reg-submit-done {
	display: none;
}

.reg-submit.is-done .reg-submit-label {
	display: none;
}

.reg-submit.is-done .reg-submit-done {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

/* ---- Hiba-doboz ---- */
.reg-err {
	display: none;
	align-items: center;
	gap: 8px;
	margin-top: 11px;
	background: #fbeeea;
	color: #9b4a35;
	border-radius: 12px;
	padding: 11px 14px;
	font-size: 12.5px;
	line-height: 1.5;
	font-weight: 600;
}

.reg-err.is-visible {
	display: flex;
}

.reg-err .reg-status-icon {
	color: #9b4a35;
	flex: none;
}

/* ---- Alsó linkek ---- */
.reg-login-note {
	margin-top: 20px;
	font-size: 13px;
	color: #6b6657;
	text-align: center;
}

.reg-divider {
	height: 1px;
	background: #eeeade;
	margin: 20px 0 16px;
}

.reg-links {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.reg-link-row {
	display: flex;
	align-items: center;
	gap: 9px;
	font-size: 13px;
	color: #6b6657;
}

.reg-link-icon {
	flex: none;
}

.reg-link-text {
	line-height: 1.55;
}

/* ---- Újraküldés (animált lenyíló pill) ---- */
.reg-resend {
	margin-top: 16px;
	text-align: center;
}

.reg-resend-body form {
	text-align: left;
}

.reg-resend-toggle {
	cursor: pointer;
	list-style: none;
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 11px 18px;
	border-radius: 999px;
	border: 1.5px dashed #d6cfc0;
	background: #fdfcf8;
	font-size: 13px;
	font-weight: 500;
	color: #6b6657;
	transition: border-color 0.16s, background 0.16s, color 0.16s;
}

.reg-resend-toggle::-webkit-details-marker {
	display: none;
}

.reg-resend-toggle .reg-link-icon {
	color: #8a8470;
	transition: color 0.16s;
}

.reg-resend-toggle strong {
	font-weight: 700;
	border-bottom: 1.5px solid #c19b5f;
}

.reg-resend-toggle:hover {
	border-color: #c19b5f;
	border-style: solid;
	background: #fbf6ec;
	color: #2b3a25;
}

.reg-resend-toggle:hover .reg-link-icon {
	color: #c19b5f;
}

.reg-resend[open] .reg-resend-toggle {
	border-style: solid;
	border-color: #c19b5f;
	background: #fbf6ec;
	color: #2b3a25;
}

.reg-resend-chev {
	margin-left: auto;
	color: #a7a08e;
	transition: transform 0.22s ease, color 0.16s;
}

.reg-resend-toggle:hover .reg-resend-chev {
	color: #c19b5f;
}

.reg-resend[open] .reg-resend-chev {
	transform: rotate(180deg);
	color: #c19b5f;
}

.reg-resend-body {
	animation: reg-resend-open 0.3s ease;
	overflow: hidden;
}

@keyframes reg-resend-open {
	from {
		opacity: 0;
		transform: translateY(-6px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

.reg-resend-body form {
	margin-top: 12px;
	padding: 16px;
	background: #faf7f3;
	border: 1px solid #eeeade;
	border-radius: 14px;
}

.reg-resend .vj-auth-field span {
	display: block;
	font-size: 12px;
	font-weight: 700;
	color: #4b5540;
	margin-bottom: 6px;
}

.reg-wrap .reg-resend input {
	width: 100%;
	padding: 12px 14px;
	border: 1.5px solid #e3ddd0;
	border-radius: 13px;
	font-size: 14px;
	background: #fdfcf8;
	margin-bottom: 10px;
}

.reg-wrap .reg-resend button {
	display: block;
	margin: 0 auto;
	cursor: pointer;
	border: 1.5px solid #2b3a25;
	background: #fff;
	color: #2b3a25;
	border-radius: 999px;
	padding: 11px 20px;
	font-size: 13px;
	font-weight: 700;
	transition: background 0.16s, color 0.16s;
}

.reg-wrap .reg-resend button:hover {
	background: #2b3a25;
	color: #fff;
}

/* ---- Honeypot (soha nem látszik) ---- */
.reg-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0 !important;
	pointer-events: none;
}

/* ---- Mobilon ---- */
@media (max-width: 767px) {
	.reg-card {
		padding: 26px 20px 24px;
		border-radius: 18px;
	}

	.reg-title {
		font-size: 22px;
	}
}
