.g6-form-wrapper {
	--g6-navy: #101a4c;
	--g6-blue: #1c2c78;
	--g6-border: #101a4c;
	max-width: 800px;
	margin: 30px auto;
	padding: 30px 35px;
	border: 3px solid var(--g6-navy);
	border-radius: 6px;
	font-family: 'Segoe UI', Arial, sans-serif;
	color: #222;
	background: #fff;
}

/* Header */
.g6-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	border-bottom: 2px solid var(--g6-navy);
	padding-bottom: 15px;
	margin-bottom: 15px;
	flex-wrap: nowrap;
	gap: 15px;
}
.g6-header-right {
	flex-shrink: 0;
}
.g6-header-left h1 {
	color: var(--g6-navy);
	font-size: 26px;
	margin: 0 0 8px;
	letter-spacing: 0.5px;
}
.g6-header-left p {
	margin: 2px 0;
	font-size: 13px;
}
.g6-logo {
	width: 150px;
	height: 150px;
	max-width: 150px !important;
	object-fit: contain;
	display: block;
}

/* Section badges */
.g6-section-title {
	display: inline-block;
	background: var(--g6-navy);
	color: #fff;
	padding: 6px 14px;
	font-weight: bold;
	font-size: 13px;
	border-radius: 3px;
	margin: 20px 0 12px;
}
.g6-badge {
	background: var(--g6-navy);
	color: #fff;
	padding: 6px 12px;
	font-weight: bold;
	font-size: 12px;
	border-radius: 3px;
	margin: 15px 0 8px;
	text-align: center;
}

/* Layout */
.g6-row-split {
	display: flex;
	gap: 25px;
	flex-wrap: wrap;
}
.g6-fields-col { flex: 2; min-width: 280px; }
.g6-photo-col { flex: 1; min-width: 200px; }

.g6-field {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 8px;
	margin-bottom: 14px;
    flex-direction: column;
}
textarea.g6-underline-input {
	min-height: 50px;
	max-height: 120px;
	resize: vertical;
	flex-basis: 100%;
	width: 100%;
	line-height: 1.4;
	margin-top: 0 !important;
	display: block;
}
.g6-form-wrapper .g6-field label {
	min-width: 200px;
	font-weight: 600;
	font-size: 14px;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.4 !important;
	display: inline-block;
}
.g6-form-wrapper .g6-field {
	margin-top: 0 !important;
}
.g6-form-wrapper .g6-field > label + textarea,
.g6-form-wrapper .g6-field > label + input,
.g6-form-wrapper .g6-field > label + select {
	margin-top: 4px !important;
}
.g6-underline-input {
	flex: 1;
	min-width: 150px;
	border: none;
	border-bottom: 1.5px solid #444;
	background: transparent;
	padding: 4px 2px;
	font-size: 14px;
	outline: none;
}
.g6-underline-input:focus {
	border-bottom-color: var(--g6-navy);
}
.g6-select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>") no-repeat right 12px center;
	background-size: 14px;
	border: 1.5px solid #999 !important;
	border-radius: 4px;
	padding: 8px 34px 8px 14px;
	font-weight: 500;
	color: #222;
	cursor: pointer;
}
.g6-select:focus {
	outline: none;
	border-color: #101a4c !important;
	box-shadow: 0 0 0 2px rgba(16, 26, 76, 0.15);
}
.g6-hint { font-size: 11px; color: #666; }

.g6-check-inline { margin-right: 20px; font-size: 14px; }

.g6-gender-group {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

/* Photo upload box */
.g6-photo-box {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	width: 150px;
	height: 190px;
	margin: 0 auto;
	border: 2px dashed #888;
	border-radius: 4px;
	cursor: pointer;
	font-size: 12px;
	color: #555;
	font-weight: 600;
	overflow: hidden;
	background: #fafafa;
}
.g6-photo-box:hover { border-color: var(--g6-navy); background: #f0f2fa; }
#g6-photo-preview { width: 100%; height: 100%; object-fit: cover; }

.g6-mode-box { border: 1px solid #ccc; border-radius: 4px; padding: 10px 15px; }
.g6-mode-box label { display: block; margin: 6px 0; font-size: 14px; cursor: pointer; }

/* Course selection */
.g6-course-box {
	border: 1px solid #ccc;
	border-radius: 4px;
	padding: 12px 16px;
	margin-bottom: 15px;
}
.g6-course-box label { display: block; margin: 6px 0; font-size: 14px; cursor: pointer; }

/* Consent */
.g6-consent-row {
	border: 1px solid #ccc;
	border-radius: 4px;
	padding: 12px 16px;
	margin-bottom: 15px;
}
.g6-consent-checkbox {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 13px;
	cursor: pointer;
}
.g6-consent-checkbox input[type="checkbox"] {
	margin-top: 3px;
	flex-shrink: 0;
}

/* Submit button */
.g6-submit-btn {
	background: var(--g6-navy);
	color: #fff;
	border: none;
	padding: 12px 30px;
	font-size: 15px;
	font-weight: 600;
	border-radius: 4px;
	cursor: pointer;
	margin-top: 15px;
}
.g6-submit-btn:hover { background: var(--g6-blue); }
.g6-submit-btn:disabled { opacity: 0.6; cursor: not-allowed; }

#g6-form-message {
	margin-top: 12px;
	font-size: 14px;
	font-weight: 600;
}
#g6-form-message.success { color: #1c7a34; }
#g6-form-message.error { color: #c0392b; }

@media (max-width: 600px) {
	.g6-field label { min-width: 100%; }
	.g6-form-wrapper { padding: 20px; }
}
.g6-required {
	color: #c0392b;
	font-weight: 700;
	margin-left: 2px;
}
/* ── Field-level validation ── */
.g6-invalid {
	border-color: #c0392b !important;
	background: #fff5f5 !important;
}
.g6-field-error {
	color: #c0392b;
	font-size: 12px;
	font-weight: 600;
	margin-top: 4px;
	display: block;
	width: 100%;
}