body {
  margin: 0;
  font-family: 'NotoSansKR-Medium', sans-serif;
  background-color: #fff;
  color: #222;
}

/* =========================
   HEADER
========================= */

.site-header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:90px;
    z-index:9999;
    background:transparent;
    backdrop-filter:blur(10px);
    overflow:hidden;
    transition:height .4s ease, background .4s ease;
}

/* hover 시 전체 확장 */
.site-header:hover{
    height:260px;
	background:rgba(255,255,255,0.8);
}

/* 내부 */
.site-header .header-inner{
    position:relative;
    max-width:1200px;
    height:90px;
    margin:0 auto;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
}

/* =========================
   LOGO
========================= */

.site-header .logo{
    margin:0;
    padding-top:28px;
}

.site-header .logo img{
    display:block;
    height:30px;
}

/* =========================
   NAV
========================= */

.main-nav{
    height:100%;
}
/* 기본: 메뉴 흰색 */
.gnb > li > span{
    display:block;
    height:90px;
    line-height:90px;
    color:#fff;
    font-size:18px;
    font-weight:700;
    cursor:pointer;
}

/* 헤더 hover 시 전체 메뉴 검정 */
.site-header:hover .gnb > li > span{
    color:#000;
}

/* hover된 li만 흰색 */
.site-header:hover .gnb > li:hover > span{
    color:#fff;
}

/* hover된 li 컬럼 배경 */
.gnb > li:hover{
    background:#006a8e;
}
.main-nav .gnb{
    display:flex;
    margin:0;
    padding:0;
    list-style:none;
}
.main-nav .gnb > li > span {
    display: block;
    height: 90px;
    line-height: 90px;
    color: #fff;
    text-decoration: none;
    font-size: 18px;
    font-weight: 700;
    transition: color .3s ease;
}

/* 메인 메뉴 */
.main-nav .gnb > li{
    position:relative;
    width:140px;
    height:260px;
    text-align:center;
    transition:background .35s ease;
}
/* 메인메뉴 링크 */
.main-nav .gnb > li > a{
    display:block;
    height:90px;
    line-height:90px;
    color:#fff;
    text-decoration:none;
    font-size:18px;
    font-weight:700;
    transition:color .3s ease;
}
.main-nav:hover .gnb > li > a{
    color:#111;
}
/* hover 시 컬럼 전체 배경 */
.main-nav .gnb > li:hover{
    background:#432c1c;
}
/* 메인메뉴 hover */
.main-nav .gnb > li:hover > a{
    color:#fff;
}

/* =========================
   SUB MENU
========================= */

.main-nav .sub-menu{
    position:absolute;
    top:90px;
    left:0;
    width:100%;
    margin:0;
    padding:20px 0 0;
    list-style:none;
    opacity:0;
    transform:translateY(15px);
    transition:
        opacity .35s ease,
        transform .35s ease;
    pointer-events:none;
}

/* 헤더 hover 시 전체 submenu 등장 */
.site-header:hover .sub-menu{
    opacity:1;
    transform:translateY(0);
    pointer-events:auto;
}

/* submenu item */
.main-nav .sub-menu li{
    margin-bottom:18px;
}

/* submenu link */
.main-nav .sub-menu li a{
    color:#333;
    text-decoration:none;
    font-size:16px;
    font-weight:normal;
    transition:color .3s ease;
}

/* hover 시 submenu 글자 */
.main-nav .gnb > li:hover .sub-menu li a{
    color:rgba(255,255,255,0.85);
}

/* submenu hover */
.main-nav .gnb > li:hover .sub-menu li a:hover{
    color:#fff;
	font-weight:bold;
}

/* =========================
   TEL
========================= */

.header-tel{
    padding-top:28px;
}

.header-tel img{
    display:block;
    height:34px;
}

.site-footer {
  background: #432c1c;
  text-align: center;
  padding: 30px 0;
  font-size: 14px;
  color: #fff;
}
.site-footer .container{
	max-width:1200px;
	margin:0 auto;
	display:flex;
	flex-direction:column;
	gap:20px;
}
.site-footer .container .logo{
	width:100%;
	display:flex;
	flex-direction:row;
	gap:80px;
}
.site-footer .container .logo img{
	display:block;
	text-align:left;
	width:130px;
	height:100%;
	margin-top:20px;
}
.site-footer .container .logo p{
	text-align:left;
}
/* 기본 레이아웃 숨김 처리 */
.mobile-header,
.mobile-menu {
    display: none;
}
.login a{
	display:inline-block;
	padding:5px 20px;
	color:#fff;
	background:#666;
	text-decoration:none;
}
.mobile-br{
	display:none;
}


/* 모바일 전용 스타일 */
@media (max-width: 768px) {
	.site-header {
		display: none;
	}

	.mobile-header {
		position: fixed;
		display: flex;
		justify-content: space-between;
		align-items: center;
		height: 60px;
		width: 100%;
		background: rgba(0, 0, 0, 0.3);
		z-index: 1000;
		padding: 0 10px;
		box-sizing:border-box;
	}

	.mobile-header .mobile-logo img {
		height: 20px;
	}

	.mobile-header .button a{
		text-decoration:none;
	}
	
	.mobile-header .button button {
		background: none;
		border: none;
		font-size: 1.4em;
		color: #fff;
	}

	.mobile-menu.active {
		display: flex;
	}

	.mobile-menu a{
		color:#fff;
	}

	.mobile-menu ul {
		list-style: none;
		padding: 0;
		margin: 0;
		width: 100%;
	}

	.mobile-menu ul li a {
		text-decoration: none;
		font-size: 18px;
		font-weight:bold;
		display: block;
	}

	.mobile-menu ul.sub-menu {
	  overflow: hidden;
	  max-height: 0;
	  opacity: 0;
	  transition: max-height 0.4s ease, opacity 0.4s ease;
	  padding-left: 15px;
	  margin:10px 0 15px;
	  padding-left:0;
	  padding-bottom:10px; /* 추가 */
	}
	ul.sub-menu li{
		padding-top:5px !important;
		padding-bottom:5px !important;
		border-bottom:1px solid #eee;
	}
	ul.sub-menu li:last-child{
		border-bottom:none;
	}
	ul.sub-menu li a{
		font-size:14px;
		font-weight:normal;
		padding:5px 0 5px 15px;
		color:#fff;
	}

	.mobile-menu li.has-sub.open > .sub-menu {
		opacity: 1;
	}

	.mobile-menu li.has-sub > a::after {
		content: "+";
		float: right;
		font-size: 16px;
		transition: transform 0.3s;
	}

	.mobile-menu li.has-sub.open > a::after {
		content: "-";
		padding:0 2px;
	}

	.site-footer {
		background: #333;
		text-align: center;
		padding: 30px 0;
		font-size: 14px;
		color: #fff;
	}
	.site-footer .container{
		max-width:100%;
		margin:0 auto;
		padding:10px;
		display:flex;
		flex-direction:column;
		gap:0px;
	}
	.site-footer .container .logo{
		width:100%;
		display:flex;
		flex-direction:column;
		gap:0px;
	}
	.site-footer .container .logo img{
		display:block;
		width:130px;
		height:100%;
		margin:0 auto 10px;
	}
	.site-footer .container .logo p{
		text-align:center;
	}
	.login a{
		display:inline-block;
		margin:20px 0;
		padding:5px 20px;
		color:#fff;
		background:#666;
		text-decoration:none;
	}
	.mobile-ver{
		display:none;
	}
	.mobile-br{
		display:block;
	}
	/* 햄버거 아이콘 전환용 클래스 */
	#hamburger-btn i.fa-xmark {
	  transition: transform 0.3s;
	}

	.mobile-menu {
		right: 0;
		z-index: 999;
		display: none;
	}
	/* 메뉴 슬라이드 효과 */
	.mobile-menu {
	  position: fixed;
	  top: 60px;
	  right: -100%;
	  width: 70%;
	  max-width:350px;
	  height: 100%;
	  background:rgba(67,44,28,0.95);
	  z-index: 999;
	  color:#fff;
	  display: flex;
	  flex-direction: column;
	  padding: 20px;
	  box-shadow: -2px 0 5px rgba(0,0,0,0.1);
	  transition: right 0.3s ease-in-out;
	}

	.mobile-menu.active {
	  right: 0;
	}

}