/* 지도강사 프로필 게시판 */
.hw-profile-page{
    width:1400px;
    max-width:100%;
    margin:0 auto;
    display:flex;
    gap:30px;
    padding:50px 0 80px;
    font-family:'Noto Sans KR',sans-serif;
}

.hw-profile-left{
    width:200px;
    flex:0 0 200px;
}

.hw-profile-left h2{
    height:50px;
    margin:0;
    padding-left:10px;
    border-bottom:1px solid #c4c4c4;
    font-family:'GmarketSansMedium','Noto Sans KR',sans-serif;
    font-size:20px;
    font-weight:500;
    color:#504f4f;
    line-height:50px;
}

.hw-profile-group{
    margin-top:18px;
}

.hw-profile-group h3{
    height:40px;
    margin:0;
    padding-left:10px;
    background:#6f910a;
    border-bottom:1px solid #fff;
    font-family:'GmarketSansMedium','Noto Sans KR',sans-serif;
    font-size:15px;
    font-weight:500;
    color:#fff;
    line-height:40px;
}

.hw-profile-group ul{
    margin:0;
    padding:0;
    list-style:none;
}

.hw-profile-group li{
    height:24px;
    margin:0;
    padding:0;
    border-bottom:1px solid #eee;
    background:#fff !important;
}

.hw-profile-group li a{
    display:block;
    height:24px;
    padding-left:10px;
    font-family:'Noto Sans KR',sans-serif;
    font-size:13px;
    font-weight:400;
    color:#333 !important;
    line-height:24px;
    text-decoration:none;
    background:#fff !important;
}

.hw-profile-group li a:before{
    content:"- ";
}

.hw-profile-group li.active,
.hw-profile-group li.active a,
.hw-profile-group li a:hover{
    background:#fff !important;
    color:#6f910a !important;
    font-weight:600;
}

.hw-profile-content{
    width:1170px;
    flex:0 0 1170px;
    min-width:0;
}
.hw-profile-content .hw-sub-title{
    height:50px;
    margin:0 0 50px;
    border-bottom:1px solid #c4c4c4;
    text-align:center;
    font-family:'GmarketSansMedium','Noto Sans KR',sans-serif;
    font-size:20px;
    font-weight:500;
    color:#504f4f;
    line-height:50px;
}

.hw-profile-view{
    text-align:center;
}

.hw-profile-view-body{
    display:inline-block;
    max-width:100%;
    text-align:left;
}

.hw-profile-view-body table{
    max-width:100% !important;
}

.hw-profile-view-body img{
    max-width:100%;
    height:auto;
}

@media (max-width:768px){
    .hw-profile-page{
        width:auto;
        display:block;
        padding:30px 15px 60px;
    }

    .hw-profile-left{
        width:100%;
        margin-bottom:35px;
    }

    .hw-profile-content{
        width:100%;
        flex:none;
    }

    .hw-profile-content .hw-sub-title{
        margin-bottom:30px;
    }

    .hw-profile-view-body{
        display:block;
        overflow-x:auto;
    }
}

.hw-profile-write-btn{
    margin:-35px 0 20px;
    text-align:right;
}

.hw-profile-write-btn a{
    display:inline-block;
    height:30px;
    padding:0 16px;
    background:#6f910a;
    color:#fff;
    font-size:12px;
    line-height:30px;
    text-decoration:none;
}


/* ===============================
   MOBILE - 지도강사 프로필 목록/상세
   파일첨부 1번 이미지를 목록 썸네일로 사용
================================ */
.hw-profile-mobile-list,
.hw-profile-mobile-view{
    font-family:'Noto Sans KR',sans-serif;
    background:#fff;
    color:#222;
}

.hw-profile-mobile-title{
    margin:22px 16px 18px;
    padding-bottom:14px;
    border-bottom:2px solid #e5e5e5;
    text-align:center;
    font-size:23px;
    line-height:1.35;
    font-weight:700;
    color:#555;
}

.hw-profile-mobile-tabs{
    display:flex;
    gap:0;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    margin:0 0 18px;
    border-bottom:1px solid #e5e5e5;
    background:#fff;
}

.hw-profile-mobile-tabs a{
    position:relative;
    display:block;
    flex:0 0 auto;
    padding:14px 22px 13px;
    font-size:15px;
    line-height:22px;
    color:#222;
    text-decoration:none;
    white-space:nowrap;
}

.hw-profile-mobile-tabs a.active{
    color:#2f80ed;
    font-weight:700;
}

.hw-profile-mobile-tabs a.active:after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-1px;
    height:3px;
    background:#2f80ed;
}

.hw-profile-mobile-total{
    margin:0 16px 10px;
    padding:10px 14px;
    border-radius:10px;
    background:#f4f6f8;
    font-size:13px;
    color:#777;
    text-align:center;
}

.hw-profile-mobile-items{
    border-top:1px solid #e7e7e7;
}

.hw-profile-mobile-item{
    display:flex;
    align-items:center;
    gap:14px;
    padding:18px 16px;
    border-bottom:1px solid #e7e7e7;
    background:#fff;
    text-decoration:none;
}

.hw-profile-mobile-thumb{
    display:block;
    width:88px;
    height:88px;
    flex:0 0 88px;
    overflow:hidden;
    background:#f0f0f0;
    border:1px solid #e5e5e5;
}

.hw-profile-mobile-thumb img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

.hw-profile-mobile-thumb em{
    display:flex;
    width:100%;
    height:100%;
    align-items:center;
    justify-content:center;
    text-align:center;
    font-style:normal;
    font-size:11px;
    line-height:15px;
    color:#aaa;
}

.hw-profile-mobile-info{
    display:block;
    min-width:0;
    flex:1;
}

.hw-profile-mobile-cat{
    display:inline-block;
    margin-bottom:8px;
    padding:4px 8px;
    border-radius:6px;
    background:#eaf2ff;
    color:#2f80ed;
    font-size:13px;
    line-height:18px;
    font-weight:700;
}

.hw-profile-mobile-info strong{
    display:block;
    margin-bottom:9px;
    font-size:18px;
    line-height:1.35;
    font-weight:800;
    color:#111;
    word-break:keep-all;
}

.hw-profile-mobile-meta{
    display:block;
    font-size:13px;
    line-height:20px;
    color:#888;
}

.hw-profile-mobile-empty{
    padding:60px 16px;
    text-align:center;
    font-size:14px;
    color:#888;
}

.hw-profile-mobile-write{
    position:fixed;
    right:20px;
    bottom:92px;
    z-index:30;
    display:flex;
    width:58px;
    height:58px;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#2f80ed;
    color:#fff !important;
    font-size:0;
    text-decoration:none;
    box-shadow:0 8px 24px rgba(47,128,237,.32);
}

.hw-profile-mobile-write:before{
    content:"✎";
    font-size:28px;
    line-height:1;
}

/* mobile view */
.hw-profile-mobile-view{
    padding:0 16px 42px;
}

.hw-profile-mobile-view-head{
    margin:18px 0 18px;
    padding-bottom:16px;
    border-bottom:1px solid #e5e5e5;
}

.hw-profile-mobile-view-head span{
    display:inline-block;
    margin-bottom:10px;
    padding:4px 8px;
    border-radius:6px;
    background:#eaf2ff;
    color:#2f80ed;
    font-size:13px;
    line-height:18px;
    font-weight:700;
}

.hw-profile-mobile-view-head h2{
    margin:0 0 14px;
    font-size:22px;
    line-height:1.4;
    font-weight:800;
    color:#111;
}

.hw-profile-mobile-view-head p{
    margin:0;
    font-size:13px;
    line-height:20px;
    color:#888;
}

.hw-profile-mobile-view-body{
    width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
}

.hw-profile-mobile-view-body img{
    max-width:100%;
    height:auto;
}

.hw-profile-mobile-view-body table{
    max-width:100%;
}

.hw-profile-mobile-view-body,
.hw-profile-mobile-view-body *{
    box-sizing:border-box;
}

/* 기존 고도몰식 표를 그대로 넣었을 때 모바일에서 최소한 깨지지 않게 */
.hw-profile-mobile-view-body table{
    border-collapse:collapse;
}

.hw-profile-mobile-view-body td{
    word-break:keep-all;
}

.hw-profile-mobile-view-btns{
    display:flex;
    gap:8px;
    margin-top:22px;
}

.hw-profile-mobile-view-btns a{
    display:flex;
    flex:1;
    height:44px;
    align-items:center;
    justify-content:center;
    border:1px solid #ddd;
    border-radius:8px;
    background:#fff;
    color:#333 !important;
    font-size:14px;
    font-weight:700;
    text-decoration:none;
}

.hw-profile-mobile-view-btns a:first-child{
    background:#6f910a;
    border-color:#6f910a;
    color:#fff !important;
}

@media (max-width:768px){
    .hw-profile-page{
        width:auto !important;
        display:block !important;
        padding:0 16px 42px !important;
    }

    .hw-profile-left{
        display:none !important;
    }

    .hw-profile-content{
        width:100% !important;
        flex:none !important;
    }

    .hw-profile-content .hw-sub-title{
        margin:22px 0 24px !important;
        padding-bottom:14px !important;
        height:auto !important;
        border-bottom:2px solid #e5e5e5 !important;
        text-align:center !important;
        font-size:23px !important;
        line-height:1.35 !important;
        font-weight:700 !important;
        color:#555 !important;
    }

    .hw-profile-view-body{
        display:block !important;
        overflow-x:auto !important;
    }
}


.hw-profile-write-guide{
    margin:18px 0 12px;
    padding:14px 16px;
    border:1px solid #dce8c2;
    border-radius:8px;
    background:#f8fbf0;
    font-family:'Noto Sans KR',sans-serif;
}

.hw-profile-write-guide strong{
    display:block;
    margin-bottom:6px;
    font-size:14px;
    color:#4f7405;
}

.hw-profile-write-guide p{
    margin:0;
    font-size:13px;
    line-height:1.6;
    color:#555;
}

@media (min-width:1025px){

  .hw-profile-page{
    width:1200px;
    max-width:100%;
    margin:0 auto;
    display:flex;
    align-items:flex-start;
    gap:30px;
    padding:50px 0 80px;
  }

  .hw-profile-left{
    width:200px;
    flex:0 0 200px;
  }

  .hw-profile-content{
    width:970px;
    flex:0 0 970px;
    min-width:0;
    position:sticky;
    top:20px;
    align-self:flex-start;
    margin-left:0;
  }

  .hw-profile-group li{
    height:28px;
  }

  .hw-profile-group li a{
    height:28px;
    line-height:28px;
    font-family:'GmarketSansMedium','Noto Sans KR',sans-serif !important;
    font-size:15px !important;
    font-weight:500;
    letter-spacing:-0.03em;
  }

}