/* Reset + 기본 세팅 */
@font-face {
  font-family: 'Pretendard Variable';
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/PretendardVariable.woff2') format('woff2-variations');
}
@font-face {
  font-family: 'Noto Sans KR Variable';
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/NotoSansKR-Variable.woff2') format('woff2-variations');
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { height: 100%; font-family: 'Pretendard Variable', 'Noto Sans KR Variable', sans-serif; color: #222; background: #fff; scroll-behavior: smooth; }
/*body { opacity: 0; transition: opacity 0.3s ease-in-out !important; }*/
ul, ol, li { list-style: none; }
a { text-decoration: none; color: inherit; }
button { border: none; background: none; cursor: pointer; font-family: inherit; }
img, video { max-width: 100%; height: auto; display: block; }
table { border-collapse: collapse; width: 100%; }
input, textarea, select { font-family: inherit; font-size: inherit; border: none; outline: none; }

/* 기본 텍스트 */
h1, h2, h3, h4, h5, h6 { font-weight: 700; color: #111; margin: 0; padding: 0; }
p { font-size: 16px; line-height: 1.6; color: #444; margin: 0; padding: 0; }

/* 버튼 스타일 */
.btn { display: inline-flex; align-items: center; justify-content: center; padding: 12px 24px; border-radius: 30px; font-weight: 600; font-size: 16px; transition: all 0.3s ease; column-gap: 10px; }
.btn-orange { background-color: #FF4A09; color: #fff; }
.btn-orange:hover { background-color: #e65c00; }
.btn-black { background-color: #000; color: #fff; }
.btn-black:hover { background-color: #333; }

/* 레이아웃 기본 */
.container { width: 100%; max-width: 1440px; margin: 0 auto; padding: 0 20px; }
.section { padding: 100px 0; }
.section-title { font-size: 32px; font-weight: 700; text-align: center; }

/* 헤더 */
.header { padding-top: 30px; }
.logo { width: 140px; margin: 0 auto; }
.logo > span { display: block; font-size: 11px; font-weight: 400; margin-bottom: 3px; }
.gnb { position: absolute; top: 85px; padding: 30px 0; z-index: 999; background-color: #fff; width: 100%; }
.gnb-fixed { position: fixed !important; top: 0; padding: 30px 0; z-index: 999; background-color: #fff; width: 100%;}
.gnb-list { display: flex; justify-content: center; }
.gnb-list > li { font-size: 15px; font-weight: 400; }
.gnb-list > li > a { display: block; padding: 10px 20px; }
.gnb-list > li:nth-child(5) { color: #ff8c09 }
.top-banner { position: fixed; width: 100%; max-width: 1440px; left: 50%; top: 32px; transform: translateX(-50%); z-index: 999; }
.top-banner-list { position: absolute; right: 0; top: 0; display: flex; column-gap: 8px; }
.top-banner-list > li > a { display: flex; column-gap: 5px; align-items: center; padding: 5px 8px; border-radius: 5px; }
.top-banner-list > li:nth-child(1) > a { background-color: #000; }
.top-banner-list > li:nth-child(2) > a { background-color: #F2DC01; }
.top-banner-list > li:nth-child(3) > a { background-color: #e2e2e2; }
.top-banner-list > li > a > img { width: 20px; } 
.top-banner-list > li > a > p { font-size: 13px; }
.top-banner-list > li:nth-child(1) > a > p { color: #fff; }
.phonenumber { position: absolute; top: 40px; right: 1px; width: auto; }
.phonenumber > p { font-size: 13px; font-weight: 400; }
.phonenumber > i {margin-right: 20px;}
.menu-toggle { display: none; }
.phonecallbtn { display: none; }


/* 폼 요소 */
input[type="text"], input[type="email"], textarea { width: 100%; padding: 12px; border: 1px solid #ddd; border-radius: 6px; background: #fafafa; }
input[type="text"]:focus, input[type="email"]:focus, textarea:focus { border-color: #999; background: #fff; }

/* 푸터 */
.footer { background: #fff; padding: 40px 20px; font-size: 13px; border-top: 1px solid #d1d1d1; }
.footer-inner { display: flex; justify-content: space-between; align-items: center; width: 100%; max-width: 1440px; margin: 0 auto; text-align: left; position: relative }
.footer-text { font-size: 13px; font-weight: 400; line-height: 120%; }
.footer-text-mobile { display: none; font-size: 13px; font-weight: 400; line-height: 120%; }
.footer-copyright { display: block; font-size: 12px; margin-top: 15px; }
.privacy-policy { display: flex; }
.privacy-policy a { display: block; margin-left: 5px; padding: 0 10px; border: 1px solid #D9D9D9; background-color: #f1f1f1; border-radius: 5px; }
.privacy-policy a > p { font-size: 13px; font-weight: 600; color: #989898; line-height: 26px; }
.top-btn { position: fixed; bottom: 30px; right: 30px; z-index: 1000; display: block; width: 40px; height: 40px; background-color: #eee; border: 1px solid #e6e6e6; border-radius: 50%; opacity: 0; transition: opacity 0.3s; }
.top-btn > img { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.top-btn.show { display: block; opacity: 1; }
.bottom-menu { position: absolute; left: 316px; top: 60px; display: flex; column-gap: 6px; }
.bottom-menu > li > a { display: block; padding: 2px 5px; border: 1px solid #d9d9d9; background-color: #f1f1f1; border-radius: 3px; transition: all 0.3s; }
.bottom-menu > li > a:hover { background-color: #cecece }
/*
.fixed-chat-buttons { position: fixed; bottom: 20px; right: 20px; z-index: 1000; }
.fixed-chat-buttons a { display: block; width: 50px; height: 50px; text-indent: -999px; overflow: hidden; }
.kakao-btn { background-image: url('../images/common/btn-kakaotalk.png'); }
.naver-btn { background-image: url('../images/common/btn-navertalk.png'); margin-top: 10px; }
*/

/* 개인정보보호정책 */
.privacy_title{padding-left:35px; margin:28px 0 35px 0;}
.privacy_title > p { font-size: 16px; color: #3d3d3d; font-weight: 400;}
.privacy_cont{width:100%; max-width: 990px; margin-left:35px;margin-bottom:45px; line-height:170%; }
.privacy_cont2{list-style:none;width:100%;overflow:auto; }
.privacy_cont .lf{float:left;width:140px;margin-right:36px;}
.privacy_cont .rt{float:left;margin-bottom:10px;width:calc(100% - 180px);}
.privacy_line{margin-bottom:20px; background: linear-gradient(to right, #f2994a, #8e44ad); height: 1px; width: 100%;}
.t_title {font-size:15px;font-weight:bold;}

.biz-info-wrap{font-size:15px;color:#222;}
.biz-info-wrap h3{font-size:18px;margin-bottom:12px;}
.biz-info-table{width:100%;border-collapse:collapse;}
.biz-info-table th,.biz-info-table td{border:1px solid #ccc;padding:10px 12px;text-align:left;vertical-align:top;font-weight:normal;}
.biz-info-table th{background-color:#f9f9f9;font-weight:bold;width:160px;}
.biz-info-table td[colspan="3"]{width:auto;}
.biz-info-notice{margin-top:20px;font-size:13px;color:#444;line-height:1.6;}


/*모달팝업*/
.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);display:none;justify-content:center;align-items:center;z-index:9999;padding:20px;box-sizing:border-box;}
.modal-content{width:90%;max-width:1100px;background:#fff;border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,0.2);overflow:hidden;max-height:90vh;display:flex;flex-direction:column;}
.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #ccc;background:#f8f8f8;}
.modal-header h3{font-size:18px;margin:0;}
.close-btn{font-size:30px;border:none;background:none;cursor:pointer;}
.modal-body{flex:1;padding:20px;overflow-y:auto;font-size:15px;line-height:1.6;}
@media(max-width:480px){.modal-content{width:100%;border-radius:0;}}

.side-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.5); z-index: 10000; opacity: 0; visibility: hidden; transition: opacity 0.3s ease; }
.side-menu { position: fixed; top: 0; left: -50%; width: 50%; height: 100vh; background-color: #fff; z-index: 10001; transition: left 0.3s ease; padding: 70px 20px 2px 30px; }
.side-menu ul { list-style: none; padding: 0; margin: 0; }
.side-menu li { margin-bottom: 20px; }
.side-menu li a { font-size: 16px; color: #111; text-decoration: none; }
.close-btn-side { font-size: 24px; background: none; border: none; cursor: pointer; position: absolute; top: 20px; right: 20px; }
.side-overlay.active { opacity: 1; visibility: visible; }
.side-menu.active { left: 0; }


/* 기타 */
.hidden { display: none !important; }
.text-center { text-align: center !important; }
.mt-40 { margin-top: 40px !important; }
.h-100 { height: 100% !important; }

@media (max-width: 480px){
.header { position: fixed; top: 0; width: 100%; padding: 15px 0 15px 0; background-color: #fff; z-index: 100; }
.logo { margin: 0 auto }
.gnb { display: none; }
.top-btn { left: 20px; right: auto; }
.phonenumber {display: none;}

.phonecallbtn { display: block; position: fixed; top: 31px; right: 20px; z-index: 200; }

.top-banner { position: fixed; width: 90px; height: 115px; left: auto; top: auto; right: 10px; bottom: 10px; transform: none; }
.top-banner-list { display: flex; flex-direction: column; column-gap: 0; row-gap: 8px; }
.top-banner-list > li { width: 90px; }

.main-visual-bg video { width: auto; height: 100vh; object-fit: cover; }
.footer-inner { flex-direction: column; align-items: center; row-gap: 20px; }
.footer-text-mobile { display: block; }
.footer-text { display: none; }
.bottom-menu { position: static; }

.menu-toggle { width: 30px; height: 24px; cursor: pointer; display: flex; flex-direction: column; justify-content: space-between; position: fixed; top: 31px; left: 20px; z-index: 200; }
.menu-toggle span { height: 2px; background: #000; border-radius: 2px; }
}