/* 그레고르 — 유기농 마켓 / 보태니컬 테마 */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');

:root {
	--gg-forest: #163A2C;
	--gg-primary: #1E5C3A;
	--gg-leaf: #3F8F52;
	--gg-cream: #F3EEE4;
	--gg-paper: #FFFCF6;
	--gg-sage: #E4EDE3;
	--gg-line: #D4DDD0;
	--gg-gold: #C4A35A;
	--gg-text: #1C2F24;
	--gg-muted: #6B7A70;
	--gg-shadow: 0 10px 28px rgba(22, 58, 44, 0.08);
}

html {
	background-color: var(--gg-cream) !important;
}

html, body {
	font-family: 'Noto Sans KR', sans-serif !important;
	color: var(--gg-text);
}

body {
	background-color: var(--gg-cream) !important;
}

body div {
	background-color: transparent;
}

/* Header — forest bar, flex layout */
.main_head,
.sub_head {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between;
	height: 64px !important;
	position: fixed !important;
	background: var(--gg-forest) !important;
	border-bottom: 0 !important;
	box-shadow: 0 8px 24px rgba(22, 58, 44, 0.18) !important;
	overflow: visible !important;
	padding: 0 6px 0 0;
	box-sizing: border-box;
}

.main_head::before,
.sub_head::before {
	display: none;
}

.app_brand {
	float: none !important;
	display: flex !important;
	align-items: center;
	gap: 8px;
	height: 64px;
	margin-left: 12px;
	text-decoration: none;
	background: transparent !important;
	position: relative;
	z-index: 2;
}

.app_logo {
	float: none !important;
	width: auto !important;
	max-width: 34px !important;
	height: 30px !important;
	margin: 0 !important;
	padding: 3px !important;
	object-fit: contain !important;
	background: var(--gg-paper);
	border-radius: 10px;
	box-sizing: content-box;
}

.app_brand_name {
	color: #FFFCF6 !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	letter-spacing: -0.04em;
	line-height: 1;
	white-space: nowrap;
}

.head_actions {
	display: flex;
	align-items: center;
	gap: 2px;
	margin-right: 6px;
	position: relative;
	z-index: 3;
	background: transparent !important;
}

.head_search,
.head_cart .top_cart,
.main_head .top_cart,
.sub_head .head_cart .top_cart {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 42px !important;
	height: 42px !important;
	float: none !important;
	padding: 0 !important;
	margin: 0 !important;
	color: #FFFCF6 !important;
	font-size: 18px !important;
	cursor: pointer;
}

.head_cart {
	position: relative;
	width: auto;
	height: 42px;
	flex-shrink: 0;
	background: transparent !important;
}

.main_head #CartNum,
.sub_head #CartNum {
	position: absolute;
	top: 2px;
	right: 2px;
	width: auto;
	height: auto;
	background: transparent !important;
}

.main_head #CartNum span.top_cart,
.sub_head #CartNum span.top_cart {
	position: absolute !important;
	right: 0 !important;
	top: 0 !important;
	height: 18px !important;
	width: 18px !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 10px !important;
	background-color: #C4A35A !important;
}

/* Quick shortcuts */
.gg-quick {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 8px;
	margin: 16px 14px 6px;
	padding: 14px 8px;
	background: var(--gg-paper) !important;
	border-radius: 20px;
	box-shadow: var(--gg-shadow);
}

.gg-quick a {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	background: transparent !important;
}

.gg-quick-ico {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 16px;
	background: var(--gg-sage);
	color: var(--gg-forest);
	font-size: 20px;
}

.gg-quick strong {
	font-size: 11px;
	font-weight: 700;
	color: var(--gg-text);
	letter-spacing: -0.03em;
}

.main_head .map_info_wrap {
	display: none !important;
}

.main_head .map_info {
	color: var(--gg-forest) !important;
	font-weight: 700 !important;
	font-size: 13px !important;
}

.main_head .fa-sort-down,
.main_head i.fa-sort-down {
	color: var(--gg-primary) !important;
}

.top_cart,
.sub_head .top_prev,
.sub_head .top_cart {
	color: #FFFCF6 !important;
}

.sub_head {
	justify-content: space-between;
	padding: 0 6px 0 6px;
}

.sub_head .head_back {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	flex-shrink: 0;
	z-index: 3;
	text-decoration: none;
}

.sub_head .top_prev {
	float: none !important;
	padding: 0 !important;
	margin: 0 !important;
	opacity: 1 !important;
	color: #FFFCF6 !important;
	font-size: 20px !important;
	font-weight: 500;
	line-height: 1;
}

.sub_head .menu_info_wrap {
	position: absolute !important;
	left: 50% !important;
	top: 50% !important;
	transform: translate(-50%, -50%);
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: calc(100% - 120px);
	max-width: none !important;
	height: auto !important;
	padding: 0 !important;
	pointer-events: none;
	z-index: 1;
}

.sub_head .menu_name {
	width: 100%;
	margin: 0 !important;
	line-height: 1.3 !important;
	text-align: center;
	color: #FFFCF6 !important;
	font-size: 16px !important;
	font-weight: 700 !important;
}

.sub_head .head_actions {
	margin-right: 0;
	z-index: 3;
}

.sub_head .top_cart {
	float: none !important;
	padding: 0 !important;
	width: auto !important;
	color: #FFFCF6 !important;
}

/* Page surfaces */
.main,
.content,
.mypage_wrap,
.join_wrap,
.log,
.faq_wrap,
.notice_wrap,
.partners_wrap,
.setting,
.event_wrpper,
.event_view_wrap {
	background-color: var(--gg-cream) !important;
}

#footer {
	background-color: var(--gg-sage) !important;
	color: var(--gg-muted) !important;
}

#footer table,
#footer td,
.footer_name,
.footer_sub_info {
	background-color: transparent !important;
	color: var(--gg-muted) !important;
}

.footer_name {
	color: var(--gg-forest) !important;
}

/* Cards & products */
.main_pro_wrap {
	background: transparent !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	border: none !important;
}

.con_title {
	border-bottom: 0 !important;
}

.con_title .bold {
	color: var(--gg-forest) !important;
	letter-spacing: -0.04em;
}

.con_title .bold::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	margin-right: 8px;
	background: var(--gg-leaf);
	border-radius: 0 8px 8px 8px;
	transform: rotate(-28deg);
	vertical-align: 1px;
}

.main_product {
	background: var(--gg-paper) !important;
	border: 0 !important;
	border-radius: 18px !important;
	box-shadow: 0 8px 20px rgba(22, 58, 44, 0.06) !important;
}

.m_pro_info .martName {
	color: var(--gg-primary) !important;
}

.m_pro_info .cart_price i {
	color: var(--gg-primary) !important;
}

.proCate span {
	background: var(--gg-sage) !important;
	border: 0 !important;
	color: var(--gg-muted) !important;
}

.cateOn {
	background-color: var(--gg-forest) !important;
	color: #fff !important;
	border-color: var(--gg-forest) !important;
}

.cate_more_btn {
	color: var(--gg-primary) !important;
	background-color: transparent !important;
	border-top: 0 !important;
}

.mymart,
.top_my,
.point_set > div {
	background: var(--gg-paper) !important;
	border: 1px solid var(--gg-line) !important;
	box-shadow: var(--gg-shadow) !important;
}

/* Accents */
.green,
.point_wrap .point_title span,
.my_rank p b {
	color: var(--gg-primary) !important;
}

.bot_on {
	color: var(--gg-forest) !important;
	background-color: transparent !important;
	border-radius: 0;
	padding: 0;
}

.new_push {
	background-color: #C4A35A !important;
}

.bottom_menu {
	left: 12px !important;
	right: 12px !important;
	width: auto !important;
	max-width: 526px !important;
	bottom: 12px !important;
	background: var(--gg-paper) !important;
	border-top: 0 !important;
	border-radius: 28px !important;
	box-shadow: 0 12px 36px rgba(22, 58, 44, 0.18) !important;
}

.bot_menu_list a,
.bot_menu_list span {
	color: var(--gg-muted) !important;
}

.bot_menu_list .bot_on {
	color: var(--gg-forest) !important;
	font-weight: 800 !important;
}

.more_btn {
	background-color: var(--gg-paper) !important;
	border: 1px solid var(--gg-line) !important;
	color: var(--gg-forest) !important;
	border-radius: 14px !important;
}

/* Buttons */
.log_btn,
.login,
.mem_join_btn,
.btn_g_01,
.mem_out_btn,
.bottom_order_btn button,
.notice_wrap button,
.mart_none button,
.no_user button:nth-child(1),
.part_btn button:nth-child(2) {
	background-color: var(--gg-primary) !important;
	border-color: var(--gg-primary) !important;
	color: #fff !important;
	border-radius: 12px !important;
}

.review_btn {
	border-color: var(--gg-primary) !important;
	color: var(--gg-primary) !important;
}

input:checked + .slider {
	background-color: var(--gg-primary) !important;
}

.search_box {
	caret-color: var(--gg-primary) !important;
}

.log input {
	caret-color: var(--gg-primary) !important;
	border-radius: 12px !important;
	background-color: var(--gg-paper) !important;
}

.member span {
	color: var(--gg-primary) !important;
}

/* Login */
.content.log .point_wrap {
	padding: 28px 0 18px !important;
	background: transparent !important;
}

.content.log .point_wrap img {
	width: 78% !important;
	max-width: 280px !important;
	height: auto !important;
	cursor: pointer;
}

.mail_wrap input {
	border-radius: 12px !important;
	border-color: var(--gg-line) !important;
	background: var(--gg-paper) !important;
}

.mail_wrap .num_info,
.ph_num_wrap .num_info,
.ph_num_wrap2 span {
	color: var(--gg-primary) !important;
}

.ch_btn,
.btn_01 {
	background-color: var(--gg-forest) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 10px !important;
}

/* My page */
.my_bottom,
.my_bottom_menu,
.my_bottom_menu li {
	background: var(--gg-paper) !important;
}

.my_bottom_menu {
	border-top: 1px solid var(--gg-line) !important;
	border-radius: 16px;
	overflow: hidden;
}

.my_bottom_menu li {
	border-bottom: 1px solid var(--gg-line) !important;
}

.my_rank span {
	border-color: var(--gg-primary) !important;
	color: var(--gg-primary) !important;
}

/* Alerts */
.swal-button--confirm {
	background-color: var(--gg-forest) !important;
}

/* Cart badge */
#CartNum span.top_cart,
.cart_num span.top_cart {
	background-color: var(--gg-primary) !important;
}

/* Category / mart */
.cate_on {
	background-color: var(--gg-forest) !important;
}

.order_title span {
	background-color: var(--gg-primary) !important;
}

.radio_wrap input[type="radio"]:checked + label:after {
	background: var(--gg-primary) !important;
}

/* Search */
.search {
	background: var(--gg-paper) !important;
	border-bottom: 1px solid var(--gg-line) !important;
}

.search_wrap,
.cate_wrap {
	background-color: var(--gg-cream) !important;
}

.search_wrap *,
.cate_wrap * {
	background-color: var(--gg-paper) !important;
}

/* Product quantity / tables */
.mart_star .fa-star,
.star_wrap .star_on {
	color: var(--gg-gold) !important;
}

@media (max-width: 430px) {
	.app_logo {
		max-width: 30px !important;
		height: 28px !important;
		margin: 0 !important;
	}
	.app_brand_name {
		font-size: 16px !important;
	}
}
