/* 모바일 기본 공통 스타일 */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html, body {
  width: 100%;
  /*height: 100%;*/
  font-family: 'Pretendard', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  font-size: 62.5%;
  line-height: 1.3;
  color: #111;
  background-color: #fff;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 500;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
  line-height: 1.3;
}

p {
  margin: 0;
}
ul, ol {
  list-style: none;
}
li {
  list-style: none;
}

a {
  text-decoration: none;
  color: inherit;
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
  height: auto;
}

input, button, textarea, select {
  font: inherit;
  border: none;
  background: none;
  outline: none;
}
input[type="button"], input[type="submit"], button {
  cursor: pointer;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

[hidden] {
  display: none !important;
}

:focus {
  outline: none;
  outline-offset: 0;
}

hr {
  border: none;
  border-top: 1px solid #ddd;
  margin: 1em 0;
}

strong, b {
  font-weight: bold;
}
em, i, cite, dfn, var, address, blockquote {
    font-style: normal;
}
code, kbd, pre, samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

ul, ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

li {
  margin: 0;
  padding: 0;
}

/* 전체 래퍼 */

/* 공통 박스 스타일 */
.border-soft {
    box-sizing: border-box;
}

/* 기본 레이아웃 마진 */
.mobile-header,
.mobile-main,
.mobile-footer,
.mobile-submenu {
    margin: 0 auto;
    max-width: 768px;
}

/*서브 탑바*/
.top-bar{
  position: fixed;
  top: 0;
  width: 100%;
  max-width: 768px;
  padding: 1.0rem 1.6rem;
  box-shadow: 0 4px 4px rgba(0,0,0,0.08);
  background: #fff;
  z-index: 999;
}

.top-bar h2{
  width: max-content;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* 헤더 영역 */
.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

/* 로고 */
.header-logo{
  display:flex;
  justify-content: space-between;
  align-items:center;
  width:100%;
  padding: 2.5rem 1.6rem 3.0rem;
}

.header-logo a{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
}

.header-logo a img{
  width: 7.2rem;
  height: auto;
  display:block;
}

.header-right{
  display:flex;
  align-items:center;
  gap: 1.2rem;
}

/* 사용자명 */
.header-user{
  font-size: 2.2rem;
  font-weight: 700;
  color: #111827;
  max-width: 8rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* LANG 버튼 */
.header-lang{
  font-size: 1.8rem;
  font-weight: 600;
  color: #4b5563;
  text-decoration: none;
  padding: 0.4rem 0;
  border-radius: 1.6rem;
  background: #f1f3f7;
  transition: 0.2s;
}

.header-lang:hover{
  background:#e5e7eb;
  color:#111827;
}

/* 햄버거 */
.ham{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:4rem;
  height:4rem;
  background:none;
  border:0;
  padding:0;
  cursor:pointer;
}

.ham img{
  width:2.4rem;
  height:2.4rem;
}







/* 상단 메뉴 */
.header-menu {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 14px;
}

.header-menu a {
    text-decoration: none;
    color: #333;
}

/* 로그인/로그아웃 */
.header-auth {
    font-size: 13px;
    padding: 0 1.6rem;
    max-width: 768px;
    margin: 0 auto;
}

.header-auth a,
.header-auth button {
    display: block;
    text-decoration: none;
    color: #333;
    font-size: 3.0rem;
    margin-bottom: 2.0rem;
    gap: 1.0rem;
}

.header-auth a h2{margin-bottom: 1.0rem;}

.header-auth a p{display: block; text-align: center; margin-bottom: 2.0rem; padding: 1.0rem; background: #fff; color: var(--main-blue); border-radius: var(--all-radius); font-size: var(--main-tit-size); font-weight: var(--tit-weight); border: 1px solid var(--main-blue);}

/* 본문 */
.mobile-main {
    font-size: 14px;
}

/* 푸터 */
.mobile-footer {
    position: fixed;
    bottom: 0;
    left: 50%;
    width: 100%;
    font-size: 12px;
    text-align: center;
    color: #666;
    transform: translateX(-50%);
    z-index: 99;
}

.mobile-footer ul{
    display: flex;
    background-color: #fff;
    justify-content: space-between;
    padding: 2.0rem 1.6rem;
    box-shadow: 0 -4px 4px rgba(0,0,0,0.08);
}

.mobile-footer ul li{
    min-width: 57px;
}

.mobile-footer ul li a{
    text-align: center;
}

.mobile-footer ul li a img{
    display: block;
    margin: 0 auto 0.5rem;
}

.mobile-footer ul li a small{
    font-size: 1.8rem;
    color: #111;
}

.mobile-footer ul li a img:nth-child(2){
  display: none;
}

.mobile-footer ul li a.active small{
    color: var(--main-blue);
}

.mobile-footer ul li a.active img:nth-child(1){
  display: none;
}

.mobile-footer ul li a.active img:nth-child(2){
  display: block;
}

/* 작은 화면에서 헤더 세로 정렬 */
@media (max-width: 480px) {
    .header-inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .header-auth {
        align-self: flex-end;
    }
}

.back-btn {
    font-size: 20px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px 6px;
    color: #333;
}
.back-btn:active {
    opacity: 0.6;
}
@media (max-width: 340px) {
  html, body{font-size: 50%;}
}

@media (min-width: 580px) {
  .mobile-footer ul{
    justify-content: center;
    padding: 2.0rem 4.0rem;
    gap: 7.0rem;
  }
}