@charset "utf-8";

/**
 * @author https://www.cosmosfarm.com/
 */
.cosmosfarm-members-form {
	display: block;
	margin: 60px auto;
	width: 100%;
	max-width: 500px;
	font-family: 'Pretendard', sans-serif;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
	border: 1px solid #eaeaea;
	padding: 40px;
	box-sizing: border-box;
}

/*.cosmosfarm-members-form:first-child { display: block; }*/

.cosmosfarm-members-form.signin-form {
	width: 100%;
	max-width: 420px;
	background: none;
	border: 0;
	box-shadow: none;
	padding: 0;
	border-radius: 0;
	font-family: "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.cosmosfarm-members-form .form-wrap {
	overflow: hidden;
}

.cosmosfarm-members-form .form-top {
	border: 0;
	text-align: left;
}

.cosmosfarm-members-form .form-top .form-top-wrap {
	padding: 0;
}

.cosmosfarm-members-form .form-top .form-top-wrap .form-top-fields {
	display: block;
	width: 100%;
	vertical-align: top;
}

.cosmosfarm-members-form .form-top .form-top-wrap .form-top-button {
	display: block;
	padding-left: 0;
	margin-top: 20px;
	width: 100%;
}

.cosmosfarm-members-form .form-top .form-top-wrap .form-top-button .login-button {
	margin: 0;
	padding: 0;
	width: 100%;
	height: 50px;
	border: 0;
	background-color: #169cee;
	color: white;
	vertical-align: middle;
	cursor: pointer;
	transition: background-color 0.2s;
	border-radius: 10px;
}

.cosmosfarm-members-form .form-top .form-top-wrap .form-input-row {
	position: relative;
	margin: 0;
	padding-bottom: 12px;
	overflow: hidden;
}

.cosmosfarm-members-form .form-top .form-top-wrap .form-input-row label {
	display: block;
	float: none;
	margin: 0;
	padding: 0;
	width: 100%;
	height: auto;
	line-height: 1.5;
	margin-bottom: 8px;
	font-weight: 500;
	font-size: 14px;
	color: #333;
	text-align: left;
	box-sizing: content-box;
}

.cosmosfarm-members-form .form-top .form-top-wrap .form-input-row input {
	float: none;
	margin: 0;
	padding: 0 10px;
	width: 100%;
	height: 36px;
	line-height: 36px;
	font-size: 15px;
	border: 1px solid #cdcdcd;
	box-sizing: content-box;
	margin-bottom: 0px;
}

.cosmosfarm-members-form .form-top .form-top-wrap .form-checkbox-row {
	overflow: hidden;
	padding-left: 85px;
	text-align: left;
}

.cosmosfarm-members-form .form-top .form-top-wrap .form-checkbox-row label {
	letter-spacing: -1px;
	font-size: 13px;
	cursor: pointer;
}

.cosmosfarm-members-form .form-top .form-top-wrap .form-checkbox-row label input[type=checkbox] {
	margin: 4px;
	font-size: 13px;
	cursor: pointer;
	vertical-align: middle;
}

.cosmosfarm-members-form .form-bottom {
	padding: 20px 0 0 0;
	border: 0;
	background-color: transparent;
	text-align: center;
	border-top: 1px solid #eee;
	margin-top: 20px;
}

.cosmosfarm-members-form .form-bottom .form-link-item {
	display: inline;
}

.cosmosfarm-members-form .form-bottom .form-button {
	display: inline-block;
	width: 226px;
	height: 49px;
	line-height: 49px;
	background-color: white;
	border: 1px solid #b6b6b6;
	color: #333333;
	vertical-align: middle;
	cursor: pointer;
}

.cosmosfarm-members-form form {
	margin: 0;
	padding: 0;
}

.cosmosfarm-members-form img {
	display: inline;
	border: 0;
}

.cosmosfarm-members-form a {
	position: static;
	display: inline-block;
	margin: 0;
	padding: 0;
	border: 0;
	font-weight: normal;
	background-image: none;
	cursor: pointer;
	vertical-align: middle;
	text-shadow: none;
	text-decoration: none;
	box-shadow: none;
	outline: none;
}

.cosmosfarm-members-form fieldset {
	position: static;
	display: block;
	margin: 0;
	padding: 0;
	min-width: 0;
	border: 0;
	background-color: transparent;
	overflow: hidden;
}

.cosmosfarm-members-form legend {
	display: none;
}

.cosmosfarm-members-form label {
	float: none;
	position: static;
	display: block;
	margin: 0;
	padding: 0 0 10px 0;
	font-size: 15px;
	line-height: 20px;
}

.cosmosfarm-members-form select,
.cosmosfarm-members-form input[type=text],
.cosmosfarm-members-form input[type=email],
.cosmosfarm-members-form input[type=date],
.cosmosfarm-members-form input[type=url],
.cosmosfarm-members-form input[type=number],
.cosmosfarm-members-form input[type=password] {
	position: static;
	display: block;
	margin: 0 0 15px 0;
	padding: 0 16px;
	width: 100%;
	max-width: 100%;
	height: 50px;
	line-height: 50px;
	border: 1px solid #e1e1e1;
	font-size: 15px;
	box-sizing: border-box;
	outline: none;
	color: #333;
	background: #fcfcfc;
	background-color: #fcfcfc;
	box-shadow: none;
	border-radius: 10px;
	cursor: text;
	transition: all 0.2s ease;
}

.cosmosfarm-members-form select:hover,
.cosmosfarm-members-form input[type=text]:hover,
.cosmosfarm-members-form input[type=email]:hover,
.cosmosfarm-members-form input[type=date]:hover,
.cosmosfarm-members-form input[type=url]:hover,
.cosmosfarm-members-form input[type=number]:hover,
.cosmosfarm-members-form input[type=password]:hover,
.cosmosfarm-members-form select:focus,
.cosmosfarm-members-form input[type=text]:focus,
.cosmosfarm-members-form input[type=email]:focus,
.cosmosfarm-members-form input[type=date]:focus,
.cosmosfarm-members-form input[type=url]:focus,
.cosmosfarm-members-form input[type=number]:focus,
.cosmosfarm-members-form input[type=password]:focus {
	border: 1px solid #169cee;
	background: none;
	background-color: white;
	box-shadow: none;
}

.cosmosfarm-members-form input[type=checkbox] {
	position: static;
	height: auto;
	width: auto;
}

.cosmosfarm-members-form button,
.cosmosfarm-members-form input[type=submit] {
	position: static;
	display: block;
	margin: 20px 0 0 0;
	padding: 0 20px !important;
	width: 100%;
	max-width: 100%;
	height: 52px;
	line-height: 52px;
	font-size: 16px;
	font-weight: 600;
	box-sizing: border-box;
	outline: none;
	color: white;
	border: 0;
	background: none;
	background-color: #169cee !important;
	box-shadow: 0 4px 12px rgba(22, 156, 238, 0.2);
	border-radius: 10px;
	cursor: pointer;
	transition: all 0.2s;
}

.cosmosfarm-members-form button:hover,
.cosmosfarm-members-form input[type=submit]:hover,
.cosmosfarm-members-form button:focus,
.cosmosfarm-members-form input[type=submit]:focus {
	color: white;
	border: 0;
	background: none;
	background-color: #1280c4 !important;
	box-shadow: 0 6px 15px rgba(22, 156, 238, 0.3);
	transform: translateY(-1px);
}

.cosmosfarm-members-form textarea {
	position: static;
	display: block;
	margin: 0;
	padding: 16px;
	width: 100%;
	max-width: 100%;
	height: 150px;
	line-height: 1.5;
	border: 1px solid #e1e1e1;
	font-size: 15px;
	box-sizing: border-box;
	outline: none;
	color: #333;
	background: #fcfcfc;
	background-color: #fcfcfc;
	box-shadow: none;
	border-radius: 10px;
	cursor: text;
	transition: all 0.2s ease;
	resize: vertical;
}

.cosmosfarm-members-form textarea:hover,
.cosmosfarm-members-form textarea:focus {
	border: 1px solid #169cee;
	background: none;
	background-color: white;
	box-shadow: 0 0 0 3px rgba(22, 156, 238, 0.1);
}

.cosmosfarm-members-form input.cursor-pointer {
	cursor: pointer;
}

.cosmosfarm-members-form input.cursor-default {
	cursor: default;
}

.cosmosfarm-members-form .policy_content {
	padding: 12px;
	height: 200px;
	border: 0;
	cursor: pointer;
	font-size: 15px;
	box-sizing: border-box;
	overflow-y: auto;
	color: #1a1a1a;
	background-color: #f2f2f2;
	border-radius: 2px;
}

.cosmosfarm-members-form .policy_content:hover,
.cosmosfarm-members-form .policy_content:focus {
	border: 0;
}

.cosmosfarm-members-form .req {
	color: #ff4d4f;
	margin-left: 4px;
	font-weight: bold;
}

.cosmosfarm-members-form .div_multicheckbox,
.cosmosfarm-members-form .div_multiselect,
.cosmosfarm-members-form .div_checkbox,
.cosmosfarm-members-form .div_textarea,
.cosmosfarm-members-form .div_select,
.cosmosfarm-members-form .div_number,
.cosmosfarm-members-form .div_image,
.cosmosfarm-members-form .div_radio,
.cosmosfarm-members-form .div_file,
.cosmosfarm-members-form .div_date,
.cosmosfarm-members-form .div_text {
	margin: 0 0 20px 0;
	overflow: hidden;
}

.cosmosfarm-members-form .div_radio,
.cosmosfarm-members-form .div_multicheckbox {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	font-size: 0;
	/* Hide text nodes like &nbsp; */
	gap: 0;
	margin-bottom: 24px;
	overflow: visible;
}

.cosmosfarm-members-form .div_radio br,
.cosmosfarm-members-form .div_multicheckbox br {
	display: none;
}

/* Hide default inputs visually but keep accessible */
.cosmosfarm-members-form .div_radio input[type="radio"],
.cosmosfarm-members-form .div_multicheckbox input[type="checkbox"] {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

/* Style Labels as Buttons (Chips) */
.cosmosfarm-members-form .div_radio label,
.cosmosfarm-members-form .div_multicheckbox label {
	display: inline-block;
	vertical-align: middle;
	padding: 12px 20px;
	margin: 0 8px 8px 0;
	border: 1px solid #e1e1e1;
	border-radius: 10px;
	background-color: #fff;
	color: #666;
	font-size: 15px;
	/* Restore text size */
	font-weight: 500;
	cursor: pointer;
	text-align: center;
	transition: all 0.2s ease;
	min-width: 60px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
}

/* Hover Effect */
.cosmosfarm-members-form .div_radio label:hover,
.cosmosfarm-members-form .div_multicheckbox label:hover {
	border-color: #b0bfd9;
	background-color: #fcfcfc;
	color: #333;
	transform: translateY(-1px);
}

/* Checked State */
.cosmosfarm-members-form .div_radio input[type="radio"]:checked+label,
.cosmosfarm-members-form .div_multicheckbox input[type="checkbox"]:checked+label {
	background-color: #fff;
	/* White fill as requested */
	border-color: #169cee;
	color: #169cee;
	box-shadow: 0 2px 5px rgba(22, 156, 238, 0.15);
	/* Shallower, softer shadow */
	font-weight: 600;
	z-index: 1;
}

/* Multiselect specific */
.cosmosfarm-members-form select[multiple] {
	height: auto;
	min-height: 120px;
	padding: 12px;
	background-image: none;
	overflow-y: auto;
}

/* File Input Styling */
.cosmosfarm-members-form input[type="file"] {
	display: block;
	width: 100%;
	padding: 10px;
	background: #fcfcfc;
	border: 1px dashed #ddd;
	border-radius: 10px;
	height: auto;
	line-height: normal;
	cursor: pointer;
	transition: all 0.2s;
	font-size: 14px;
	box-sizing: border-box;
}

.cosmosfarm-members-form input[type="file"]:hover {
	background: #fff;
	border-color: #169cee;
}

.cosmosfarm-members-form .add-buttons {
	position: relative;
}

.cosmosfarm-members-form .add-buttons input[type=text],
.cosmosfarm-members-form .add-buttons input[type=email] {
	padding-right: 100px;
}

.cosmosfarm-members-form .add-buttons .add-buttons-wrap {
	position: absolute;
	right: 5px;
	top: 0;
	height: 50px;
	display: flex;
	align-items: center;
}

.cosmosfarm-members-form .add-buttons .add-buttons-wrap button {
	display: inline-block;
	margin: 0;
	padding: 0 14px;
	width: auto;
	height: 34px;
	line-height: 34px;
	font-size: 13px;
	font-weight: normal;
	color: white;
	background-color: #999999;
	border-radius: 6px;
}

.cosmosfarm-members-form .button_div {
	margin: 0 0 20px 0;
	overflow: hidden;
}

.cosmosfarm-members-form .button_div label {
	letter-spacing: -1px;
	font-size: 13px;
	cursor: pointer;
}

.cosmosfarm-members-form .button_div label input[type=checkbox] {
	margin: 4px;
	cursor: pointer;
	vertical-align: middle;
}

.cosmosfarm-members-form .link-text {
	margin: 0 0 5px 0;
	text-align: right;
}

.cosmosfarm-members-form .captcha {
	margin: 0 0 20px 0;
	text-align: left;
}

.cosmosfarm-members-form .captcha .g-recaptcha {
	display: block;
	margin: 0 auto;
	width: 304px;
}

.cosmosfarm-members-form .agree {
	margin: 0 0 20px 0;
}

.cosmosfarm-members-form .policy-agree-section {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

/* 전체 동의하기 */
/* 커스텀 체크박스 공통 */
.cosmosfarm-members-form .cfm-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	border: 0;
	overflow: hidden;
	margin: -1px;
	clip-path: inset(50%);
}

.cosmosfarm-members-form .cfm-checkbox-wrap {
	display: flex;
	position: relative;
	align-items: center;
	margin-bottom: 10px;
}

.cosmosfarm-members-form .cfm-label-box {
	display: flex;
	align-items: center;
	position: relative;
	cursor: pointer;
	flex: 1;
}

.cosmosfarm-members-form .cfm-check-icon {
	width: 20px;
	height: 20px;
	min-width: 20px;
	border-radius: 50%;
	background-color: #fff;
	border: 1.5px solid #ccc;
	position: relative;
	transition: background-color 0.2s, border-color 0.2s;
}

.cosmosfarm-members-form .cfm-check-icon::before {
	content: "";
	position: absolute;
	box-sizing: border-box;
	width: 30%;
	height: 55%;
	left: 50%;
	top: 50%;
	transform: translateX(-50%) translateY(-70%) rotateZ(40deg);
	border-right: 1.7px solid #ccc;
	border-bottom: 1.7px solid #ccc;
	transition: border-color 0.2s;
}

.cosmosfarm-members-form .cfm-sr-only:checked + .cfm-label-box .cfm-check-icon {
	border-color: #169cee;
	background-color: #169cee;
}

.cosmosfarm-members-form .cfm-sr-only:checked + .cfm-label-box .cfm-check-icon::before {
	border-color: #fff;
}

.cosmosfarm-members-form .cfm-label-box {
	display: flex !important;
	align-items: center;
	flex: 1;
	cursor: pointer;
	padding: 0 !important;
	margin: 0 !important;
	font-size: 14px;
	line-height: 1.5;
}

.cosmosfarm-members-form .cfm-label-text {
	padding-left: 10px;
	font-size: 14px;
	color: #333;
	line-height: 1.5;
}

/* 전체 동의하기 */
.cosmosfarm-members-form .agree-all-wrap {
	padding: 14px 16px;
	background: #f4f8fd;
	border: 1px solid #d0e6f7;
	border-radius: 8px;
	margin-bottom: 20px;
}

.cosmosfarm-members-form .cfm-agree-all-cb .cfm-label-text {
	font-size: 15px;
	font-weight: 700;
	color: #111;
}

.cosmosfarm-members-form .agree-all-desc {
	margin: 4px 0 0 0;
	font-size: 12px;
	color: #888;
	line-height: 1.6;
	padding-left: 32px;
}

.cosmosfarm-members-form .cfm-agree-all-cb .cfm-check-icon {
	width: 22px;
	height: 22px;
	min-width: 22px;
}

.cosmosfarm-members-form .agree-all-label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 15px;
	font-weight: 700;
	color: #111;
	cursor: pointer;
	margin: 0;
}

.cosmosfarm-members-form .agree-all-checkbox {
	width: 18px !important;
	height: 18px !important;
	cursor: pointer;
	accent-color: #169cee;
}

/* 보기/닫기 버튼 */
.cosmosfarm-members-form .btn-view-policy {
	display: inline-block !important;
	margin: 0 0 0 8px !important;
	padding: 2px 10px !important;
	width: auto !important;
	height: auto !important;
	line-height: 1.6 !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	color: #169cee !important;
	background-color: transparent !important;
	border: 1px solid #169cee !important;
	border-radius: 4px !important;
	box-shadow: none !important;
	cursor: pointer;
	vertical-align: middle;
	transition: all 0.2s;
}

.cosmosfarm-members-form .btn-view-policy:hover {
	background-color: #169cee !important;
	color: #fff !important;
}

/* sw-bulk-email 구독 체크박스 - 커스텀 디자인으로 통합 처리됨 */
.cosmosfarm-members-form .signup-step-policy .div_checkbox:not(.agree) {
	overflow: visible;
}

/* 회원정보수정: sw_subscribe 체크박스 인라인 정렬 */
.cosmosfarm-members-form .sw-checkbox-row {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 8px;
	overflow: visible;
}

.cosmosfarm-members-form .sw-checkbox-row input[type="checkbox"] {
	width: 16px !important;
	height: 16px !important;
	min-width: 16px;
	flex-shrink: 0;
	accent-color: #169cee;
	cursor: pointer;
	margin: 0 !important;
	padding: 0 !important;
	position: static !important;
}

.cosmosfarm-members-form .sw-checkbox-row label {
	display: inline !important;
	padding: 0 !important;
	margin: 0 !important;
	cursor: pointer;
	font-size: 14px;
	line-height: 1.5;
}

/* 2단계 회원가입 - 단계 표시기 */
.cosmosfarm-members-form .signup-step-indicator {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 32px;
	gap: 0;
}

.cosmosfarm-members-form .step-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
}

.cosmosfarm-members-form .step-num {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 15px;
	font-weight: 700;
	background: #e0e0e0;
	color: #999;
	transition: all 0.3s;
}

.cosmosfarm-members-form .step-label {
	font-size: 13px;
	color: #aaa;
	font-weight: 500;
	transition: all 0.3s;
}

.cosmosfarm-members-form .step-item.active .step-num {
	background: #169cee;
	color: #fff;
}

.cosmosfarm-members-form .step-item.active .step-label {
	color: #169cee;
	font-weight: 700;
}

.cosmosfarm-members-form .step-item.done .step-num {
	background: #c0e0f8;
	color: #169cee;
}

.cosmosfarm-members-form .step-line {
	flex: 1;
	height: 2px;
	background: #e0e0e0;
	margin: 0 12px 20px;
	transition: background 0.3s;
	min-width: 40px;
}

.cosmosfarm-members-form .step-line.done {
	background: #169cee;
}

/* 다음/이전 버튼 */
.cosmosfarm-members-form .btn-step-next {
	background-color: #169cee !important;
}

.cosmosfarm-members-form .btn-step-prev {
	background-color: #888 !important;
	margin-bottom: 0;
}

.cosmosfarm-members-form .agree textarea {
	cursor: default;
	height: 100px;
}

.cosmosfarm-members-form .agree label {
	cursor: pointer;
}

.cosmosfarm-members-form .password-strength-meter-display {
	font-size: 13px;
}

.cosmosfarm-members-form .password-strength-meter-display.good {
	color: #18509d;
}

.cosmosfarm-members-form .password-strength-meter-display.bad {
	color: #ed1c24;
}

.cosmosfarm-members-form .field-description {
	font-size: 13px;
}

.cosmosfarm-members-form .message {
	margin: 20px 0;
	padding: 20px;
	background-color: #f0f0f0;
	text-align: center;
}

.cosmosfarm-members-form .message p {
	margin: 10px 0;
}

.cosmosfarm-members-form .message a {
	font-size: 14px;
	padding: 0 30px;
	height: 40px;
	line-height: 40px;
	border: 1px solid #c4c4c4;
	outline: none;
	background-color: transparent;
	cursor: pointer;
}

.cosmosfarm-members-form .profile-header {
	position: relative;
	margin: 30px 0;
}

.cosmosfarm-members-form .profile-header input[type=file] {
	position: absolute !important;
	margin: -1px !important;
	padding: 0 !important;
	width: 1px !important;
	height: 1px !important;
	border: 0 !important;
	box-shadow: none !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
}

.cosmosfarm-members-form .profile-header .avatar-img {
	margin-bottom: 15px;
	text-align: center;
}

.cosmosfarm-members-form .profile-header .avatar-img .change-avatar-message {
	display: block;
	margin: 4px 0;
	font-size: 12px;
	line-height: 12px;
	color: RGBA(0, 0, 0, 0.5);
}

.cosmosfarm-members-form .profile-header .avatar-img img {
	float: none;
	display: inline;
	margin: 0;
	padding: 0;
	width: 120px;
	height: 120px;
	border-radius: 50%;
	border: 4px solid #fff;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
	vertical-align: middle;
	pointer-events: none;
	transition: all 0.2s ease;
}

.cosmosfarm-members-form .profile-header .avatar-img label:hover img {
	transform: scale(1.05);
	box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15);
}

.cosmosfarm-members-form .profile-header .avatar-img label {
	float: none;
	display: inline-block;
	margin: 0;
	padding: 0;
	cursor: pointer;
}

.cosmosfarm-members-form .profile-header .display-name {
	text-align: center;
	font-size: 24px;
	font-weight: bold;
	color: #444444;
}

.cosmosfarm-members-form .members-link {
	margin: 20px 0 0 0;
	padding: 0;
	list-style: none;
	background-color: transparent;
	border-top: 1px solid #eee;
	border-left: 0;
	overflow: hidden;
}

.cosmosfarm-members-form .members-link li {
	display: block;
	float: none;
	margin: 0;
	padding: 0;
	list-style: none;
	width: 100%;
	background: none;
}

.cosmosfarm-members-form .members-link li a {
	display: block;
	padding: 16px 20px;
	height: auto;
	color: #333;
	text-align: left;
	background: none;
	border-right: 0;
	border-bottom: 1px solid #f1f1f1;
	text-decoration: none;
	font-weight: 500;
	transition: all 0.2s;
	font-size: 15px;
}

.cosmosfarm-members-form .members-link li a:hover {
	background-color: #f8f9fa;
	color: #169cee;
	border-bottom: 1px solid #f1f1f1;
	text-decoration: none;
	padding-left: 25px;
}

.cosmosfarm-members-form .members-link li:last-child a {
	border-bottom: 0;
}

.cosmosfarm-social-login {
	text-align: center;
}

.cosmosfarm-social-login .cosmosfarm-social-login-title {
	padding: 10px 0 0 0;
}

.cosmosfarm-social-login a {
	position: static;
	display: inline-block;
	*display: inline;
	zoom: 1;
	padding: 5px;
	box-shadow: none;
}

.cosmosfarm-social-login a img {
	display: inline;
	width: 40px !important;
	border: 0;
	box-shadow: none;
	vertical-align: middle;
}

.cosmosfarm-members-form .cosmosfarm-social-login {
	padding-bottom: 40px;
}


@media screen and (max-width: 600px) {
	.cosmosfarm-members-form {
		width: 100% !important;
	}

	.cosmosfarm-members-form .form-top {
		border: 0;
	}

	.cosmosfarm-members-form .form-top .form-top-wrap {
		padding: 0 0 40px 0;
	}

	.cosmosfarm-members-form .form-top .form-top-wrap .form-top-fields {
		width: 100%;
	}

	.cosmosfarm-members-form .form-top .form-top-wrap .form-input-row label {
		padding: 0 0 10px 0;
		height: 20px;
		line-height: 20px;
	}

	.cosmosfarm-members-form .form-top .form-top-wrap .form-input-row input {
		margin: 0 0 8px 0;
		width: 100%;
		height: 40px;
		line-height: 40px;
		box-sizing: border-box;
	}

	.cosmosfarm-members-form .form-top .form-top-wrap .form-checkbox-row {
		padding-left: 0;
	}

	.cosmosfarm-members-form .form-top .form-top-wrap .form-top-button {
		padding: 0;
		width: 100%;
	}

	.cosmosfarm-members-form .form-top .form-top-wrap .form-top-button .login-button {
		width: 100%;
		height: 40px;
	}

	.cosmosfarm-members-form .form-bottom {
		border: 0;
	}

	.cosmosfarm-members-form .cosmosfarm-social-login {
		padding-bottom: 20px;
	}

	.cosmosfarm-members-form .form-bottom {
		padding: 20px 0;
	}

	.cosmosfarm-members-form .form-bottom .form-button {
		margin: 5px 0;
		width: 90%;
	}

	.cosmosfarm-members-form .members-link li {
		width: 100% !important;
	}
}

/* 회원가입 소셜 로그인 divider */
.cosmosfarm-members-form .signup-social-divider {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 24px 0 16px;
	color: #aaa;
	font-size: 13px;
}

.cosmosfarm-members-form .signup-social-divider::before,
.cosmosfarm-members-form .signup-social-divider::after {
	content: "";
	flex: 1;
	height: 1px;
	background: #e8e8e8;
}

.cosmosfarm-members-form .signup-social-hidden .cosmosfarm-social-login {
	padding-bottom: 0 !important;
}

/* Modern Login Form Styles (Skin Three) */
.cosmosfarm-members-form.signin-form .login-card {
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
	border: 1px solid #eaeaea;
	padding: 40px;
	box-sizing: border-box;
}

.cosmosfarm-members-form.signin-form .login-header {
	text-align: center;
	margin-bottom: 32px;
}

.cosmosfarm-members-form.signin-form .login-header h2 {
	font-size: 26px;
	font-weight: 700;
	color: #111;
	margin: 0 0 8px;
	letter-spacing: -0.5px;
}

.cosmosfarm-members-form.signin-form .login-subtitle {
	font-size: 15px;
	color: #666;
	margin: 0;
	line-height: 1.5;
}

.cosmosfarm-members-form.signin-form .form-group {
	margin-bottom: 20px;
}

.cosmosfarm-members-form.signin-form .screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.cosmosfarm-members-form.signin-form .form-control {
	width: 100%;
	height: 50px;
	padding: 0 16px;
	font-size: 15px;
	border: 1px solid #e1e1e1;
	border-radius: 10px;
	box-sizing: border-box;
	transition: all 0.2s ease;
	background-color: #fcfcfc;
	color: #333;
}

.cosmosfarm-members-form.signin-form .form-control:focus {
	border-color: #169cee;
	background-color: #fff;
	outline: none;
	box-shadow: 0 0 0 3px rgba(22, 156, 238, 0.1);
}

.cosmosfarm-members-form.signin-form .form-actions {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 28px;
	font-size: 14px;
}

.cosmosfarm-members-form.signin-form .remember-me {
	display: flex;
	align-items: center;
	color: #555;
	cursor: pointer;
	font-size: 14px;
}

.cosmosfarm-members-form.signin-form .remember-me input {
	margin: 0 8px 0 0;
	accent-color: #169cee;
	width: 16px;
	height: 16px;
	cursor: pointer;
}

.cosmosfarm-members-form.signin-form .forgot-password {
	color: #777;
	text-decoration: none;
	font-size: 13px;
	transition: color 0.2s;
}

.cosmosfarm-members-form.signin-form .forgot-password:hover {
	color: #169cee;
	text-decoration: underline;
}

.cosmosfarm-members-form.signin-form .btn-submit {
	display: block;
	width: 100%;
	height: 52px;
	background-color: #169cee;
	color: #fff;
	border: none;
	border-radius: 10px;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.2s;
	margin-bottom: 24px;
	box-shadow: 0 4px 12px rgba(22, 156, 238, 0.2);
}

.cosmosfarm-members-form.signin-form .btn-submit:hover {
	background-color: #1280c4;
	transform: translateY(-1px);
	box-shadow: 0 6px 15px rgba(22, 156, 238, 0.3);
}

.cosmosfarm-members-form.signin-form .social-login-section {
	position: relative;
	text-align: center;
	padding-top: 24px;
	margin-top: 4px;
	/* Adjustment needed due to separation lines usually */
}

.cosmosfarm-members-form.signin-form .social-login-section::before {
	content: "";
	display: block;
	height: 1px;
	width: 100%;
	background: #eee;
	position: absolute;
	top: 0;
	left: 0;
}

.cosmosfarm-members-form.signin-form .social-login-section .cosmosfarm-social-login {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 6px;
	padding-bottom: 0 !important;
}

.cosmosfarm-members-form.signin-form .cosmosfarm-social-login .cosmosfarm-social-login-title {
	flex-basis: 100%;
	width: 100%;
}

.cosmosfarm-members-form.signin-form .cosmosfarm-social-login a {
	margin: 0;
	padding: 2px;
	transition: transform 0.2s;
	opacity: 0.9;
}

.cosmosfarm-members-form.signin-form .cosmosfarm-social-login a:hover {
	transform: translateY(-3px);
	opacity: 1;
}

.cosmosfarm-members-form.signin-form .login-footer {
	text-align: center;
	margin-top: 24px;
	font-size: 14px;
	color: #666;
}

.cosmosfarm-members-form.signin-form .link-register {
	color: #169cee;
	font-weight: 600;
	text-decoration: none;
	margin-left: 5px;
	transition: color 0.2s;
}

.cosmosfarm-members-form.signin-form .link-register:hover {
	color: #1280c4;
	text-decoration: underline;
}

@media screen and (max-width: 480px) {
	.cosmosfarm-members-form.signin-form {
		margin: 20px auto;
		padding: 0 15px;
	}

	.cosmosfarm-members-form.signin-form .login-card {
		padding: 30px 20px;
	}

	.cosmosfarm-members-form.signin-form .login-header h2 {
		font-size: 22px;
	}
}

/* 보유 포인트 팝업 */
#cfm-point-popup-overlay {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
	z-index: 9998;
}

#cfm-point-popup {
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 9999;
	width: 92%;
	max-width: 520px;
	max-height: 80vh;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.15);
	overflow: hidden;
	flex-direction: column;
}

.cfm-popup-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px 24px;
	border-bottom: 1px solid #f0f0f0;
	flex-shrink: 0;
}

.cfm-popup-title {
	font-size: 17px;
	font-weight: 700;
	color: #111;
}

.cfm-popup-close {
	background: none;
	border: none;
	font-size: 22px;
	line-height: 1;
	color: #999;
	cursor: pointer;
	padding: 0;
	margin: 0;
	width: auto;
	height: auto;
	box-shadow: none;
	border-radius: 0;
}

.cfm-popup-close:hover {
	color: #333;
	background: none;
	transform: none;
	box-shadow: none;
}

.cfm-popup-body {
	overflow-y: auto;
	padding: 20px 24px;
}

.cfm-point-summary {
	font-size: 15px;
	color: #333;
	font-weight: 500;
	margin-bottom: 16px;
	padding: 12px 16px;
	background: #f0f8ff;
	border-radius: 10px;
}

.cfm-point-summary strong {
	color: #169cee;
	font-size: 18px;
}

.cfm-point-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}

.cfm-point-table thead th {
	padding: 10px 12px;
	background: #f8f9fa;
	color: #555;
	font-weight: 600;
	text-align: left;
	border-bottom: 2px solid #eee;
}

.cfm-point-table thead th:last-child {
	text-align: right;
}

.cfm-point-table tbody tr {
	border-bottom: 1px solid #f0f0f0;
}

.cfm-point-table tbody tr:hover {
	background: #fafafa;
}

.cfm-point-table tbody td {
	padding: 10px 12px;
	color: #333;
	vertical-align: middle;
}

.cfm-point-table tbody td.point-cell {
	text-align: right;
	color: #169cee;
	font-weight: 600;
}

.cfm-point-tfoot-row td {
	padding: 12px 12px;
	font-weight: 700;
	color: #333;
	border-top: 2px solid #eee;
	background: #f8f9fa;
}

.cfm-tfoot-total {
	text-align: right;
	color: #169cee !important;
	font-size: 15px;
}

.cfm-point-loading {
	text-align: center;
	padding: 24px 0;
	color: #999;
	font-size: 14px;
}

.cfm-no-point {
	text-align: center;
	padding: 24px 0;
	color: #aaa;
	font-size: 14px;
}

/* 회원 목록 링크 아이콘 - 클래스 없는 WP-Members 기본 항목 */
.cosmosfarm-members-form .members-link li a {
	display: flex;
	align-items: center;
}

.cosmosfarm-members-form .members-link li:not([class]) a::before {
	content: '';
	display: inline-block;
	width: 15px;
	height: 15px;
	margin-right: 6px;
	flex-shrink: 0;
	background-color: currentColor;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z'/%3E%3C/svg%3E");
}

/* 회원가입 완료 환영 화면 */
.cosmosfarm-members-form .signup-welcome {
	text-align: center;
	padding: 40px 20px;
}

.cosmosfarm-members-form .signup-welcome-icon {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: #169cee;
	color: #fff;
	font-size: 36px;
	line-height: 72px;
	margin: 0 auto 24px;
}

.cosmosfarm-members-form .signup-welcome-title {
	font-size: 22px;
	font-weight: 700;
	color: #111;
	margin: 0 0 12px;
}

.cosmosfarm-members-form .signup-welcome-desc {
	font-size: 15px;
	color: #666;
	line-height: 1.7;
	margin: 0 0 32px;
}

.cosmosfarm-members-form .signup-welcome-btn {
	display: inline-block;
	padding: 0 40px;
	height: 52px;
	line-height: 52px;
	background-color: #169cee;
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	border-radius: 10px;
	text-decoration: none;
	transition: background-color 0.2s;
}

.cosmosfarm-members-form .signup-welcome-btn:hover {
	background-color: #1189d4;
	color: #fff;
}

/* WooCommerce cart count badge */
.cosmosfarm-members-header .wc-cart-count {
	display: inline-block;
	background-color: #169cee;
	color: #fff;
	border-radius: 50%;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	text-align: center;
	vertical-align: middle;
	box-sizing: border-box;
	margin-left: 4px;
	line-height: 18px;
}