/* TheThinker Site Core 0.2.0 */

body.tt-core-replace-footer footer.site-footer,
body.tt-core-replace-footer .site-footer,
body.tt-core-replace-footer #colophon,
body.tt-core-replace-footer .ast-small-footer,
body.tt-core-replace-footer .ast-footer-overlay {
	display: none !important;
}

#tt-core-footer,
#tt-core-footer * {
	box-sizing: border-box;
}

#tt-core-footer {
	width: 100%;
	margin: 0;
	padding: 0;
	background: #f7f7f5;
	border-top: 1px solid #e6e6e2;
	color: #222;
	font-family: inherit;
	word-break: keep-all;
}

.ttcf-inner {
	width: min(1180px, calc(100% - 40px));
	margin: 0 auto;
	padding: 52px 0 30px;
}

.ttcf-top {
	display: grid;
	grid-template-columns: minmax(220px, .8fr) minmax(520px, 1.7fr);
	gap: 64px;
	align-items: start;
}

.ttcf-brand {
	margin: 0 0 12px;
	color: #111;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -.03em;
}

.ttcf-tagline {
	margin: 0;
	color: #5f6368;
	font-size: 15px;
	line-height: 1.75;
	letter-spacing: -.015em;
}

.ttcf-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 24px;
	margin: 0 0 23px;
	padding: 0 0 20px;
	border-bottom: 1px solid #dfdfda;
}

.ttcf-links a,
.ttcf-business a {
	color: inherit;
	text-decoration: none;
	text-underline-offset: 3px;
}

.ttcf-links a {
	color: #303030;
	font-size: 14px;
	font-weight: 650;
	line-height: 1.5;
}

.ttcf-links a.ttcf-privacy {
	color: #111;
	font-weight: 800;
}

.ttcf-links a:hover,
.ttcf-business a:hover {
	text-decoration: underline;
}

.ttcf-business {
	display: flex;
	flex-wrap: wrap;
	gap: 7px 0;
	margin: 0;
	color: #686868;
	font-size: 13px;
	line-height: 1.7;
	letter-spacing: -.012em;
}

.ttcf-business span {
	display: inline-flex;
	align-items: center;
}

.ttcf-business span:not(:last-child)::after {
	content: "";
	width: 1px;
	height: 11px;
	margin: 0 12px;
	background: #d4d4cf;
}

.ttcf-business .ttcf-wide {
	flex-basis: 100%;
}

.ttcf-business .ttcf-wide::after {
	display: none;
}

.ttcf-business strong {
	margin-right: 5px;
	color: #4b4b4b;
	font-weight: 650;
}

.ttcf-verify {
	display: inline-flex;
	align-items: center;
	margin-left: 7px;
	padding: 1px 7px;
	border: 1px solid #cfcfca;
	border-radius: 999px;
	color: #4e4e4e !important;
	font-size: 11px;
	line-height: 1.6;
	white-space: nowrap;
}

.ttcf-bottom {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	margin-top: 30px;
	padding-top: 22px;
	border-top: 1px solid #dfdfda;
	color: #858585;
	font-size: 12px;
	line-height: 1.6;
}

.ttcf-bottom p {
	margin: 0;
}

body:not(.wp-admin) a[href*="pf.kakao.com"]:not(.ttcf-footer-kakao) {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 48px !important;
	padding: 13px 22px !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: #FEE500 !important;
	color: #191919 !important;
	text-decoration: none !important;
	font-weight: 750 !important;
	box-shadow: none !important;
}

/* 로그인·회원가입 */

.tt-member-core {
	--tt-member-accent: #071B3B;
	--tt-member-text: #172033;
	--tt-member-muted: #667085;
	--tt-member-line: #e5e8ee;
	--tt-member-bg: #f7f8fa;
}

.tt-member-auth-page .woocommerce {
	max-width: 680px;
	margin: 42px auto 60px;
	padding: 0 18px;
}

.tt-service-guide {
	margin: 0 0 18px;
	padding: 17px 19px;
	border: 1px solid #e4e7ec;
	border-radius: 14px;
	background: #f8f9fb;
	color: #344054;
	font-size: 14px;
	line-height: 1.65;
}

.tt-service-guide strong {
	display: block;
	margin-bottom: 5px;
	color: var(--tt-member-text);
	font-size: 15px;
}

.tt-service-guide p {
	margin: 0;
}

.tt-service-guide a {
	color: var(--tt-member-accent);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.tt-service-guide__sub {
	margin-top: 5px !important;
	color: #7a8190;
	font-size: 12px;
}

.tt-member-auth-page #customer_login.tt-auth-shell {
	width: 100%;
	margin: 0;
	padding: 0;
	border: 1px solid var(--tt-member-line);
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 18px 50px rgba(7, 27, 59, .08);
	overflow: hidden;
}

.tt-member-auth-page #customer_login.tt-auth-shell::before,
.tt-member-auth-page #customer_login.tt-auth-shell::after {
	display: none;
}

.tt-member-auth-page #customer_login .tt-auth-panel {
	float: none;
	width: 100%;
	padding: 34px 42px 42px;
	box-sizing: border-box;
}

.tt-member-auth-page #customer_login .tt-auth-panel[hidden] {
	display: none !important;
}

.tt-auth-tabs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	padding: 8px;
	background: var(--tt-member-bg);
	border-bottom: 1px solid var(--tt-member-line);
}

.tt-auth-tabs button {
	appearance: none;
	border: 0;
	border-radius: 12px;
	padding: 13px 14px;
	background: transparent;
	color: var(--tt-member-muted);
	font: inherit;
	font-weight: 750;
	cursor: pointer;
}

.tt-auth-tabs button.is-active {
	color: var(--tt-member-text);
	background: #fff;
	box-shadow: 0 3px 12px rgba(23, 32, 51, .08);
}

.tt-member-auth-page #customer_login h2 {
	margin: 0 0 24px;
	color: var(--tt-member-text);
	font-size: clamp(23px, 4vw, 31px);
	line-height: 1.3;
	letter-spacing: -.035em;
}

.tt-member-core .woocommerce form.login,
.tt-member-core .woocommerce form.register,
.tt-member-core .woocommerce form.woocommerce-EditAccountForm {
	border: 0;
	padding: 0;
	margin: 0;
}

.tt-member-core .woocommerce form .form-row {
	margin: 0 0 17px;
}

.tt-member-core .woocommerce form .form-row label {
	margin-bottom: 7px;
	color: var(--tt-member-text);
	font-size: 14px;
	font-weight: 650;
}

.tt-member-core .woocommerce form .input-text,
.tt-member-core .woocommerce form select {
	width: 100%;
	min-height: 48px;
	border: 1px solid #d9dee7;
	border-radius: 11px;
	background: #fff;
	color: var(--tt-member-text);
	box-sizing: border-box;
	padding: 11px 13px;
	font-size: 15px;
	transition: border-color .18s ease, box-shadow .18s ease;
}

.tt-member-core .woocommerce form .input-text:focus,
.tt-member-core .woocommerce form select:focus {
	outline: none;
	border-color: var(--tt-member-accent);
	box-shadow: 0 0 0 3px rgba(7, 27, 59, .11);
}

.tt-member-core .woocommerce button.button,
.tt-member-core .woocommerce a.button,
.tt-member-core .woocommerce input.button {
	min-height: 48px;
	border-radius: 11px;
	padding: 12px 20px;
	background: var(--tt-member-accent);
	color: #fff;
	font-weight: 750;
	line-height: 1.2;
}

.tt-member-core .woocommerce button.button:hover,
.tt-member-core .woocommerce a.button:hover,
.tt-member-core .woocommerce input.button:hover {
	background: var(--tt-member-accent);
	color: #fff;
	filter: brightness(.94);
}

.tt-member-auth-page .woocommerce-form-login__submit,
.tt-member-auth-page .woocommerce-form-register__submit {
	width: 100%;
	margin-top: 6px !important;
}

.tt-member-consents {
	margin: 20px 0;
	padding: 16px;
	border: 1px solid var(--tt-member-line);
	border-radius: 13px;
	background: var(--tt-member-bg);
	color: var(--tt-member-text);
	font-size: 13px;
}

.tt-consent-all {
	padding-bottom: 12px;
	margin-bottom: 10px;
	border-bottom: 1px solid var(--tt-member-line);
}

.tt-consent-all label,
.tt-consent-row label {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0 !important;
	cursor: pointer;
	line-height: 1.55;
}

.tt-consent-all p {
	margin: 7px 0 0 25px;
	color: var(--tt-member-muted);
	font-size: 12px;
	line-height: 1.5;
}

.tt-consent-group {
	border-bottom: 1px solid var(--tt-member-line);
}

.tt-consent-group:last-of-type {
	border-bottom: 0;
}

.tt-consent-row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	padding: 9px 0;
}

.tt-consent-toggle {
	appearance: none;
	flex: 0 0 auto;
	border: 0;
	padding: 1px 0;
	background: transparent;
	color: var(--tt-member-muted);
	font: inherit;
	font-size: 12px;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.tt-consent-toggle:hover,
.tt-consent-toggle:focus-visible {
	color: var(--tt-member-accent);
}

.tt-consent-detail {
	margin: 0 0 12px 25px;
	padding: 13px 14px;
	border: 1px solid #dfe3ea;
	border-radius: 10px;
	background: #fff;
	color: #394150;
	font-size: 12px;
	line-height: 1.65;
}

.tt-consent-detail[hidden] {
	display: none !important;
}

.tt-consent-detail > strong {
	display: block;
	margin-bottom: 5px;
	color: var(--tt-member-text);
}

.tt-consent-detail p {
	margin: 5px 0;
}

.tt-consent-detail a,
.tt-refund-link a {
	color: var(--tt-member-accent);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.tt-consent-definition {
	margin: 0 0 9px;
}

.tt-consent-definition > div {
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr);
	gap: 8px;
	padding: 6px 0;
	border-bottom: 1px solid #eef0f4;
}

.tt-consent-definition > div:last-child {
	border-bottom: 0;
}

.tt-consent-definition dt {
	color: var(--tt-member-text);
	font-weight: 700;
}

.tt-consent-definition dd {
	margin: 0;
}

.tt-refund-link {
	margin: 13px 0 0;
	color: var(--tt-member-muted);
	font-size: 12px;
}

.tt-member-core input[type="checkbox"] {
	width: 17px;
	height: 17px;
	margin: 1px 0 0;
	accent-color: var(--tt-member-accent);
}

.tt-account-extra-fields,
.tt-account-card,
.tt-account-guide {
	margin: 24px 0;
	padding: 24px;
	border: 1px solid var(--tt-member-line);
	border-radius: 15px;
	background: #fff;
}

.tt-account-extra-fields legend {
	padding: 0 8px;
	color: var(--tt-member-text);
	font-weight: 800;
}

.tt-account-card h2 {
	margin-top: 0;
}

.tt-account-guide strong {
	display: block;
	margin-bottom: 5px;
	color: var(--tt-member-text);
}

.tt-account-guide p {
	margin: 0;
}

.tt-account-guide a {
	color: var(--tt-member-accent);
	font-weight: 700;
}

.tt-member-core .woocommerce-MyAccount-navigation ul {
	overflow: hidden;
	border: 1px solid var(--tt-member-line);
	border-radius: 14px;
	background: #fff;
}

.tt-member-core .woocommerce-MyAccount-navigation li {
	border-bottom: 1px solid var(--tt-member-line);
}

.tt-member-core .woocommerce-MyAccount-navigation li:last-child {
	border-bottom: 0;
}

.tt-member-core .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 13px 16px;
	color: var(--tt-member-text);
}

.tt-member-core .woocommerce-MyAccount-navigation li.is-active a {
	color: var(--tt-member-accent);
	background: #f4f6f9;
	font-weight: 750;
}

.tt-checkout-policy-notice {
	margin: 12px 0;
	color: #667085;
	font-size: 13px;
	line-height: 1.6;
}

.tt-checkout-policy-notice a {
	color: var(--tt-member-accent);
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media (max-width: 820px) {
	.ttcf-inner {
		width: min(100% - 32px, 680px);
		padding: 38px 0 24px;
	}

	.ttcf-top {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.ttcf-links {
		gap: 9px 18px;
		margin-bottom: 20px;
	}

	.ttcf-business {
		display: block;
		font-size: 12.5px;
		line-height: 1.75;
	}

	.ttcf-business span,
	.ttcf-business .ttcf-wide {
		display: block;
		width: 100%;
		margin: 0 0 4px;
	}

	.ttcf-business span::after {
		display: none !important;
	}

	.ttcf-verify {
		display: inline-flex;
		width: auto;
		margin: 3px 0 0 7px;
		vertical-align: middle;
	}

	.ttcf-bottom {
		display: block;
		margin-top: 24px;
	}

	.ttcf-bottom p + p {
		margin-top: 5px;
	}
}

@media (max-width: 680px) {
	.tt-member-auth-page .woocommerce {
		margin: 20px auto 40px;
		padding: 0 14px;
	}

	.tt-member-auth-page #customer_login .tt-auth-panel {
		padding: 26px 20px 30px;
	}

	.tt-consent-row {
		gap: 8px;
	}

	.tt-consent-definition > div {
		grid-template-columns: 1fr;
		gap: 2px;
	}
}
