body {
    line-height:20px;
    background: #F1F8F9;
}
.subhead_review {
    width:100%;
    height:44px;
    position:relative;
    text-align: left;
    margin-bottom: 2px;
}

.aiplustitle {
    width: 100%;
    text-align: center;
    margin-top: 50px;
    height: 50px;
    font-size: 1.2rem;
    line-height: 2rem;
    color: black;
}

#typeselect {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.aiitem {
    border-radius: 5px;
    
    padding: 25px;
    overflow: hidden;
    position: relative;
    height:90%;
    margin-top: 5px;
    border: 1px solid #f3f3f3;
    height: 200px;
    background: white;   
    flex: 1;                 
}

.aiitemtitle {
    margin-bottom: 20px;
    font-size: 1.2rem;
    color: black;
    font-weight: bold;
}

.aiitemsubtitle {
    font-size: 1.1rem;
    color: black;
    margin-bottom: 20px;
}

.aiitemcontent {
    font-size: 0.9rem;
    color: black;
    font-weight: 300;
    margin-bottom: 60px;
}

.aiitembottom {
    width: calc(100% - 40px);
    display: flex;
    justify-content: space-between;
    position: absolute;
    bottom: 20px;
    align-items: center;
}

.aiitemselect {
    width: 60px;
    text-align: center;
    height: 30px;
    line-height: 30px;
    border: 1px solid black;
    border-radius: 15px;
    
}

.aiitemicon {
    width: 46px;
}

#swiper-container{
    padding-bottom:20px;
}

.swiper-slide {
    width:70%;
}

.betaicon {
    right: -4px;
    top: 1px;
}

.aplus-work-tab-wrapper {
    width: 100%;
    height: 50px;
    background: #FFF;
    box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.10);
}

.aplus-work-tab-inner-wrapper {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.tab-style {
    position: relative;
    width: 33.3%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #9E9E9E;            
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 14px;
    border-bottom: 2px solid #fff;
    cursor: pointer;
}

.tab-style.tab-active {
    color: #3C949A;
    font-weight: 700;
    border-color: #3C949A;
}

.maincont {
    flex:0.9;
}

@media screen and (min-width: 768px) {
    .category-top-wrapper {
        position: relative;
        width: 100%;
        background: transparent;
        box-shadow: none;
        max-width: 1300px;
        margin: auto;
    }

    .swiper-container {
        display: grid !important;
        width: 100%;
        grid-template-columns: 1fr 1fr 1fr;
    }

    .swiper-wrapper {
        width:100%;
    }

    .swiper-slide {
        width: calc(100% - 20px);
        margin-left: 10px;
        margin-right: 10px;
    }
}

.cont {
    margin-top:20px;
    margin-left:20px;
    width:calc(100% - 40px);
    height: calc(100% - 80px);
}

.categoryitem > img {
    width: 100%;
    height: auto;
}

.tagarea {
    width: calc(100% - 130px);
    position: relative;
    float: left;
    display: inline-block;
    padding-top: 0px;
    padding-left: 0px;
    padding-bottom: 10px;
    padding-right: 0px;
}

.tagitemmain {
    width: auto;
    max-width: 100%;
    height: 30px;
    line-height: 24px;
    margin-left: 5px;
    margin-top: 5px;
    border: 1px solid #3C949A;
    padding: 2px;
    float: left;
    display: flex;
    background: #EAF6F6;
    border-radius: 2px;
    padding-right: 5px;    
}

.tagitem {
    cursor: pointer;
}

.tagname {
    width: auto;
    font-size: 12px;
    font-weight: bold;
    float: left;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 250px;
    white-space: nowrap;
    min-width: 30px;   
}

.aiselecttype {
    display: flex;
    width: 100%;
    height: auto;
    gap: 20px;         
    margin-bottom: 20px;
    flex: 1;
}

.aitypetop {
    position: absolute;
    top: 25px;
    right: 30px;
}

.aitypeicon {
    position: absolute;
    bottom: 20px;
    right: 10px;           
}

.aitypeicon > img {
    width:88px;
}

.aitypetitle {
    text-align: left;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 10px;
    width: 80%;
    max-width:250px;
    margin-top:10px;
    font-family: 'NanumSquareNeoExtraBold';
}

.aitypecont {
    text-align:left;
    margin-bottom:20px;
    width: 80%;
    font-size:12px;
    font-family: 'NanumSquareNeoBold';
    line-height:20px;
}

.selected {
    border:1px solid #00a0b6;
    background:#e7fbfc;
    color: #00a0b6
}

input[type="checkbox"] {    
    position:absolute;        
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
   
}
input[type="checkbox"] + label {
    display: inline-block;
    position: relative;
    padding-left: 26px;
    cursor: pointer;
}
input[type="checkbox"] + label:before {
    content: "";       
    position: absolute;     
    left: 0;
    top: 0px;
    width: 32px;
    height: 32px;
    text-align: center;
    background: url(../img/artcheckoff.png)no-repeat;
    box-sizing: border-box;
    border-radius: 5px;
    background-size:cover;
}

    /* 보여질 부분의 스타일을 추가하면 된다. */
input[type="checkbox"]:checked + label:after {
    content: "";
    position: absolute;
    top: 0px;
    left: 0;
    width: 32px;
    height: 32px;  
    background: url(../img/artcheckon.png)no-repeat;  
    background-position: center center;
    border-radius: 5px;
    background-size:cover;
}

input[type="checkbox"] + label span {
    font-weight: 400;
    font-size: 13px;
    line-height: 26px;  
    letter-spacing: -1px;
    color: rgba(0, 0, 0, 0.5);
}

.typeguide {
    margin-top:20px;
}

.guidetitle {
    font-size: 15px;
    font-weight: bold;
}

.guidecont {
    font-size: 13px;
    color: #9e9e9e;
}

.createbtn {
    width: 320px;
    height: 60px;
    background: #e9e9e9;
    text-align: center;
    line-height: 60px;
    color: white;
    font-size: 16px;
    font-weight: 500;
    border-radius: 8px;
    font-family: 'NanumSquareNeoExtraBold';
    margin-bottom: 80px;
    cursor: pointer;
}

.active {
    background-color: #00a0b6 !important;
}

.contgrid1 {
    grid-template-columns: 1fr 1fr;
}

.backbtn1 {
    width: 48px;
    height:48px;
    background-image:url('../img/back_new.png');
    background-size:48px;
    background-repeat:no-repeat;  
    cursor: pointer;          
}

.artcontent {
    display: flex;
    gap: 52px;
    max-width: 1081px;
    margin: auto;
    margin-top: 50px;
    padding-bottom: 20px;
    position: relative;
    padding-left: 20px;
    padding-right: 20px;
    
}

.maincontainer {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 5px;
    flex: 1;
    overflow-y: auto;
    height: calc(100% - 120px);
}

.artcont {
    display: flex;
    flex-direction: column;
    gap: 5px;
    flex: 1;
    overflow-y: auto;
    max-width: 1000px;

}

.artcont::-webkit-scrollbar {
    display: none;
}

.artcont_title {
    font-size: 24px;
    color: black;
    font-family: 'NanumSquareNeoExtraBold';
    margin-bottom: 20px;
    margin-top:20px;
    line-height: 30px;
}

.artcategoryitem > img {
    width:100%;
}

.artcont_subtitle {
    font-size: 16px;
    color: black;
    font-family: 'NanumSquareNeoExtraBold';
    margin-bottom: 10px;
}

.artcont_bottom {
    display: flex;
    gap: 20px;
    margin-bottom: 60px;
    margin-top: 60px;
    max-width: 848px;
}

.artcontinfo {
    background: white;
    border-radius: 8px;
    display: flex;
    padding: 12px;
    gap: 18px;
    flex: 1;
    max-width: 414px;
    padding-right: 20px;
}

.createinfo {
    flex:1;
    height:100%;
}

.artcontinfo > img {
    width:15%;
    height:auto;
    object-fit: contain;
}

.artcontsubinfo {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.subtitle {
    color: #00a0b6;
    font-size: 12px;
    font-family: 'NanumSquareNeoExtraBold';
    margin-bottom: 4px;
}

.subcont {
   
    color: #57585a;
    font-size: 12px;
    font-family: 'NanumSquareNeoBold';
    line-height: 16px;
}

.artcontlist {
    margin-top: 0%;
    top: 2px !important;
    padding: 0px;    
    width: 100%;
    display: flex;    
    flex-wrap: wrap;
    gap: 5px;
    flex:1;
}

.artcategoryitem, .itemgrid {
    width: 19%;
    text-align: center;
    height: auto;
    position: relative;
    cursor: pointer;
}

.sellerguide {
    background: white;           
    border-radius: 8px;
    padding: 20px;
    height: 100%;
}

.aiedittitle {
    font-size: 16px;
    color: black;
    font-family: 'NanumSquareNeoExtraBold';
    margin-bottom: 10px;
}

.artcountarea {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    color: #57585a;
    font-family: 'NanumSquareNeo';
}

.artcount {
    font-size: 16px;
    font-family: 'NanumSquareNeoBold';
    color: black;
}

.artcount > span {
    font-size: 20px;
    color: #00a0b6;
    font-family: 'NanumSquareNeoHeavy';
}

#progressbar, #progressbar1 {
    width: 100%;
    margin-top: 10px;
    margin-bottom: 10px;
    height: 10px;
    margin-left: 0px;
    background-color: #f3f3f3;
}

#progress, #progress1 {
    margin-left: 0px;
    height: 10px;
}

#progress1 {
    width: 500px;
    background-color: #00a0b6;
    border-radius: 25px;
    margin-top: 20px;
    font-size:12px;
}

.cotainercont {
    width: 100%;
    max-width: 800px;
    margin: auto;
    height: auto;
}

.createcnt {
    font-size: 24px;
    color: black;
    font-family: 'NanumSquareNeoHeavy';
    margin-bottom: 20px;
    margin-top: 20px;
}

.btndiy {
    background: #00a0b6;
    color: white;
    width: calc(100% - 40px);
    text-align: center;
    height: 56px;
    line-height: 56px;
    border-radius: 8px;
    font-size: 16px;
    margin-top: 20px;
    font-family: 'NanumSquareNeoBold';
}

.btndiy:hover {
    background:#66ccce;
}

input[type="file"] {
    display: none;
}

.file-details {
    margin-top: 15px;
}

#fileName {
    margin-bottom: 10px;
    color: #666;
}

.preview-image {
    max-width: 100%;
    height: auto;
    border: 1px solid #ddd;
    border-radius: 5px;
}

#previewImage {
    max-width: 100%;
    height: auto;
}
.container {
    text-align: center;
    width: 100%;
    max-width: 600px;
    padding: 20px;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.file-upload {
    margin-bottom: 20px;
}

.custom-file-upload {
    display: inline-block;
    padding: 10px;
    cursor: pointer;
}

.custom-file-upload img {
    max-width: 100%;
    height: auto;
}

/* 크롭 팝업 스타일 */
.crop-container {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    justify-content: center;
    align-items: center;
    z-index: 999999;
}

.crop-content {
    background-color: #fff;
    padding: 20px;
    border-radius: 10px;
    text-align: center;
    width: 90%;
    max-width: 400px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center; /* 중앙 정렬 */
}

.crop-content img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto; /* 중앙 정렬 */
}

.preview {
    width: 200px;
    height: 200px;
    overflow: hidden;
    margin: 20px auto 0;
    border-radius: 10px;
}

.preview img {
    max-width: 100%;
    height: auto;
}

#confirmCropBtn {
    width: 90px;
    height:34px;
    background:#3C949A;
    border-radius:17px;
    border:none;
    color:white;
}

#cancelCropBtn {
    width: 90px;
    height:34px;
    background:gray;
    border-radius:17px;
    border:none;
    color:white;
}

.artinputarea {
    width: calc(100% - 20px);
    height: auto;
    margin-bottom: 10px;
    display: flex;
}

.artcontainer  {
    margin-bottom: 60px;
}

.artinputarea > textarea {
    width: 100%;
    height: auto;
    border: 1px solid #e9e9e9;
    padding:10px;
    border-radius: 4px;
    font-size: 12px;
    font-family: 'NanumSquareNeo';
}

.addinput {
    width: 80px;
    margin-left: 10px;
    height: 42px;
    background: #00a0b8;
    border-radius: 8px;
    color: white;
    text-align: center;
    line-height: 42px;
    font-size: 16px;
    font-family: 'NANUMSQUARENEOBOLD';
    cursor: pointer;
}

.promptitem {
    width: 100%;
    height: auto;
    min-height: 40px;
    line-height: 20px;
    border: 1px solid #9e9e9e;
    border-radius: 5px;
    margin-bottom: 5px;
    padding-left: 20px;
    background: white;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-right: 20px;
    text-align: left;
}

.artinputdesc {
    font-size: 12px;
    font-family: 'NanumSquareNoeBold';
}

.mt10 {
    margin-top: 10px;
}

.mb10 {
    margin-bottom: 10px;
}

.artresetbtn {
    color:#00a0b6;
    font-size: 14px;
    font-family: 'NanumSquareNeoBold';
    margin-top:10px;
    margin-bottom: 20px;
    cursor: pointer;
}

.makebtn  {
    cursor: pointer;
}

.arttop {
    position: relative;
}

.aitypebutton {
    background: white;
    border-radius: 8px;
    overflow: hidden;
    padding: 5px;
    display: flex;
    justify-content: space-evenly;
    width: 160;
    height: 48px;
    z-index: 1;
    border: 1px solid #e9e9e9;
    margin-top: 0px;
    right:120px;
}

.aitype {
    flex: 1;
    /* height: 41px; */
    text-align: center;
    background: transparent;
    color: black;
    line-height: 36px;
    font-size: 12px;
    font-family: 'NanumSquareNeoBold';
    cursor: pointer;
}

.aitype.select {
    border-radius: 8px;
    background: #00a0b6;
    color: white;
}

.selectgrid.active {
    background-color: transparent !important;
}

.calcdetail {
    width: 100%;
    max-width: 400px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.calccont {
    background-color: white;
    border-radius: 8px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    justify-content: center;
    height:100%;
    
}

.aitypemode {
    display: flex;
    justify-content: space-between;
}

.calcaimodecont {
    width: 150px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.calcaimode {
    font-size: 20px;
    font-family: 'NanumSquareNeoExtraBold';
}

.calccount {
    border:none;
}

.calccountcont, .calcenginecont {
    display: flex;
    flex-direction: column;
    flex:1;
    gap:5px;
}

.calccountcont > span {
    font-family: 'NanumSqureNeo';
    font-size: 12px;
}

.calccount, .calcengine {
    width: 100%;
    border-radius: 4px;
}

.aicalctitle {
    display: flex;
    margin-bottom: 0px;
}

.aiconttitle {
    width: 150px;
}

.make {
    width: 100%;
    max-width: 400px;
    height: 60px;
    margin-left: 0px;
    border-radius: 8px;
    margin-top: 10px;
    position: relative;
}

.typetitle {
    font-size: 16px;
    color:black;
    line-height: 18px;
    font-family: 'NanumSqureNeoBold';
}

.subcategorycont {
    text-align: left;
}

.pb0 {
    padding-bottom:0px !important;
}

#changeprompt {
    width:100%;
    box-sizing: border-box;
    padding: 10px;
    border: 1px solid #e9e9e9;
    border-radius: 4px;
    height: 80px;
}

.artedittop {
    display: flex;
    justify-content: space-between;
}

.artedittop > .artcheck {
    background: url(../img/checkbox_circle_fill_off.png);
    background-size: 28px;
    background-repeat: no-repeat;
    width: 60px;
    height: 28px;
    background-position: right;
    line-height: 28px;
    font-family: 'NanumSquareNeoExtraBold';
}

.artedittop > .artcheck > span {
    display: none;
}

.artedittop.on > .arttitle {
    color:#00a0b6;
}

.artedittop.on > .artcheck {
    background: url(../img/checkbox_circle_fill_on.png);
    background-size: 28px;
    background-repeat: no-repeat;
    background-position: right;
}

.artedittop.on > .artcheck > span {
    display: block;
}

.editresult {
    width: 100%;
    display:flex;
    flex-direction: column;
    gap:0px;
    margin-top:30px;
}

#resultimg {
    width: 100%;
}

.mobile {
    display:none;
}

.taparea {
    display:flex;
    gap:20px;
    margin-top: 10px;
    margin-bottom: 20px;
}

.desc {
    font-family: 'NanumSqureNeoBold';
    font-size:12px;
}

.targettab {
    width: 46px;
    height: 46px;
    background: url(../img/facetarget_off.png);
    background-size:cover;
    background-repeat: no-repeat;
}

.targettab.on {
    background:url(../img/facetarget_on.png);
    background-size: cover;
    background-repeat: no-repeat;
}

.sourcetab {
    width: 46px;
    height: 46px;
    background: url(../img/facesource_off.png);
    background-size:cover;
    background-repeat: no-repeat;
}

.sourcetab.on {
    background:url(../img/facesource_on.png);
    background-size: cover;
    background-repeat: no-repeat;
}

.sourcetab1 {
    width: 46px;
    height: 46px;
    background: url(../img/backgroundtarget_off.png);
    background-size:cover;
    background-repeat: no-repeat;
}

.sourcetab1.on {
    background:url(../img/backgroundtarget_on.png);
    background-size: cover;
    background-repeat: no-repeat;
}

.tabcont {
    flex:1;
    display: flex;
    justify-content: end;
}

.img_wrapper {
    max-width: 400px;
}

.detailmenu {
    display: flex;
    flex-direction: column;
    margin-top: 30px;
    background: white;
    border-radius: 8px;
    border: 1px solid #e9e9e9;
    overflow: hidden;
    position: absolute;
    top: 50px;
}

.aicategoryitem {
    display: inline-block;
    width: 56px;
    height: 56px;
    text-align: center;
    border-bottom: 1px solid #e9e9e9;
    cursor: pointer;
}

.aicategoryitem.selectitem {
    color:#00a0b6;
}

.aicategoryitem > img {
    margin-top: 9px;
    width: 24px;
    height: 24px;
}

.aicategoryitem > span {
    width: 100%;
    text-align: center;
    font-size: 11px;
    display: block;
    color: #9e9e9e;
    font-family: 'NanumSquareNeoBold';
}

.aicategoryitem.selectitem > span {
    color: #00a0b6;
    font-family: 'NanumSquareNeoExtraBold';
}

.aigrouptype {
    overflow-y: hidden;
    display: flex;
    width: 100%;
    text-align: center;
    flex-direction: column;
    margin-top: 30px;
}

.typetitlearea {
    height: auto;
    position: relative;
    margin-top: 0px;
}

.subgrouptitle {
    margin-top: 30px;
    margin-bottom: 10px;
    font-weight: bold;
    text-align: left;
    font-size: 14px;
    font-family: 'NanumSquareNeoExtraBold';
}

.subcategoryitem {
    background:white;
    cursor: pointer;
}

.itemgrouplist {
    border-bottom: none;
    width: 100%;
    height: auto;
    overflow-x: scroll;
    padding-bottom: 10px;
    margin-bottom: 20px;
    margin-top: 0px;
}

.itemgroup {
    cursor: pointer;
}

.contgrid {
    position: relative;
    width: 100%;
    object-fit: cover;
    text-align: center;
    padding-bottom: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    max-height: calc(100% - 20px);
    overflow-y: scroll;

}

.arttab {
    display: flex;
    width: 400px;
    justify-content: space-around;
    height: 48px;
    background: white;
    padding: 5px;
    border-radius: 8px;
    border: 1px solid #e9e9e9;
}

.arttabitem {
    flex: 1;
    text-align: center;
    line-height: 37px;
    border-radius: 8px;
    font-size: 14px;
    color:black;
    font-family: 'NanumSquareNeoExtraBold';
    cursor: pointer;
}

.arttabitem.select {
    background: #00a0b6;
    color: white;
        
}

.artcategoryitem.newguard::before {
    content: '';
    position: absolute;
    top: 0;
    width: 101%;
    height: 100%;
    background: url(../img/newguard.png) no-repeat;
    background-size: cover;
    z-index: 20;
    left: 0px;
}

.artcategoryitem.styleitem img {
    margin-top: 12px;
    margin-left: 1px;
}

.artcategoryitem img {
    width: 100%;
    height: auto;
    
    
}
@media screen and (max-width: 768px) {

    .aiitem {
        border-radius: 5px;
        padding: 15px;
        overflow: hidden;
        position: relative;
        height: 90%;
        margin-top: 5px;
        border: 1px solid #f3f3f3;
        height: 200px;
        background: white;
        flex: 1;
    }

    .aitypecont {
        text-align: left;
        margin-bottom: 20px;
        width: 80%;
        font-size: 12px;
        font-family: 'NanumSquareNeoBold';
        line-height: 16px;
    }

    .arttab {
        width: 100%;
        margin-bottom: 20px;
    }

    .tagarea {
        width: 100%;
    }

    .artresetbtn {
        width:100%;
        text-align: center;
        margin-bottom: 10px;
    }

    .pcmode {
        display:none;
    }

    .detailmenu {
        flex-direction: row;
        z-index: 100;
        width: calc(100% - 40px);
        top: 100px;       
    }

    .aicategoryitem {
        flex: 1;
        border-bottom: none;
        border-right: 1px solid #e9e9e9;
    }

    .typetitle {
        text-align: left;
    }

    .aigrouptype {
        margin-top: 0px;
    }

    .artcontent {
        gap:0px;
        flex-direction: column;
        margin-top:0px;
        padding:20px;
        height:auto;
        padding-bottom: 20px;
    }

    .artarea {
        background:white;
        padding:20px;
        border-radius: 8px;
        border: 1px solid #e9e9e9;
    }

    .arttitle {
        font-size: 16px;
        margin-top: 2px;
        font-family: 'NanumSquareNeoBold';
        width: 160px;
    }

    .imgupload {
        width: 60%;
        margin:auto;
        height: auto;
        position: relative;
        display: flex;
        justify-content: center;
        margin-top: 20px;
        margin-bottom: 20px;
    }
    
    .img_wrapper {
        min-width: 150px;
    }

    .backbtn1 {
       /* position:fixed;*/
       cursor: pointer;
        width: 40px;
        height: 40px;
        background-image: url(../img/back_new.png);
        background-size: 40px;
    }

    .bottomarea {
        width: 100%;
        position: fixed;
        z-index: 100;
        bottom: 0;
        left: 0;
        padding: 20px;
        background: #F1F8F9;
    }

    .maincontainer {
        position: relative;
        /*top:60px;*/
        height: fit-content;
        margin-bottom: 140px;
        margin-top:10px;
    }

    .artcont {
        padding-top:12px;
        position: relative;
    }

    .simple {
        padding-top:10px !important;
    }

    .artcont_title {
       margin-top: 0px;
        line-height: 20px;
        font-size: 18px;
        margin-bottom: 20px;
    }

    .aiselecttype {
        flex-direction: column;
    }

    .artcontlist {
        margin-top: 0%;
        top: 2px !important;
        padding: 0px;
        overflow-y: auto;
        width: 100%;
        display: flex;        
        flex-wrap: wrap;
        gap: 12px;
    }

    .artcategoryitem,.itemgrid  {
        width: 48%;
        text-align: center;
        height: auto;
        position: relative;
    }

    .artcategoryitem.newguard::before {
        content: '';
        position: absolute;
        top: 0;
        width: 101%;
        height: 100%;
        background: url(../img/newguard.png) no-repeat;
        background-size: cover;
        z-index: 20;
        left: 0px;
    }

    .artcategoryitem.styleitem img {
        margin-top: 12px;
    }

    .artcategoryitem img {
        width: 100%;
        height: auto;
        
    }

    .artcont_bottom {
        flex-direction: column;
        margin-bottom:0px;
    }

    .aitypeicon > img {
        width:76px;
    }

    .contgrid {
        justify-content: space-between;
    }

    .artcontainer  {
        margin-bottom: 20px !important;
    }

    .createbtn {
        width: 100%;
        height: 60px;
        background: #e9e9e9;
        text-align: center;
        line-height: 60px;
        color: white;
        font-size: 16px;
        font-weight: 500;
        border-radius: 8px;
        font-family: 'NanumSquareNeoExtraBold';
        margin-bottom: 40px;
    }

    .mb10 {
        margin-bottom: 10px;
    }

    .mt10 {
        margin-top:10px;
    }

    .aitypebutton {
        top:20px;
        right:20px;
        width: 104px;
        height: 40px;

    }

    .aitype {
        display: inline-block;
        cursor: pointer;
        line-height: 30px;
    }

    .bottom {
        width: calc(100% - 40px);
        position:fixed;
        bottom:20px;
    }

   .aitype.select {
        border-radius: 6px;
        background: #00a0b6;
        color: white;
    }

}

.plane {
    padding:4px 5px;
    border-radius: 8px;
    font-size: 13px;
    color:#57585a;
    font-family: 'NanumSquareNeoBold';
    background:#f5f5f5;
}

.plane.premium {
    background:rgba(143,229,229,0.30);
    color:#2fabce;
}

.plane.pro {
    background:rgba(234,77,224,0.20);
    opacity: 0.6;
    color:#ea4de0;
}

.creditarea {
    background:url(../img/crediticon.png) no-repeat;
    background-size: contain;
    background-position-x: left;
    padding-left: 25px;
    color: #57585a;
    font-size: 13px;
    font-family: 'NanumSquareNeoBold';
}

.chargebtn {
    display:flex;
    flex-direction: column;
    padding:4px 8px;
    justify-content: center;
    align-items: center;
    border-radius: 8px;
    background: #F4FDFD;
    border: 1px solid #00a0b6;
    color:#00a0b6;
    font-size: 12px;
    font-family: 'NanumSquareNeoBold';
    cursor: pointer;
}

.toparea {
    display:flex;
    justify-content: space-between;
}

.creditinfo {
    position: absolute;
    right:15px;
    display: inline-flex;
    background:white;
    padding:8px;
    align-items: center;
    gap:12px;
    border-radius: 8px;
    border:1px solid #B0D7DD;
    height:48px;
}

.calcitem {
    width:100%;
    
}

.calcitemitle {
    font-size:16px;
    font-weight: bold;
    flex:1;
}

.calctitleheader {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
    height:26px;
}

.caleitemopenbtn {
    background:url(../img/icon_open.png) no-repeat;
    background-size: contain;
    width: 20px;
    height: 20px;
    margin-left:5px;
    cursor: pointer;
}

.calcitemopen {
    display:flex;
    flex-direction: column;
}

.caleitemopenbtn.open {
    background: url(../img/icon_close.png) no-repeat;
    background-size: contain;
}

.calctypeicon {
    width: 50px;
    height:26px;
    display: flex;
    align-items: center;
    border: 1px solid #57585a;
    padding:4px 12px;
    border-radius: 13px;
    opacity: 0.8;
    color:#57585a;
    font-size:12px;
    font-family: 'NanumSquareNeoBold';
    margin-right: 5px;
}

.calctitle {
    flex:1;
}

.calcstylecont {
    width: 100%;
    height: auto;
    display: none;
}

.line {
    margin-top:0px;
}

.calccount, .calcengine {
    position:relative;
    height:40px;
}


.calcoptioncont {
    display: flex;
    gap: 15px;
    flex-direction: column;
}

 :root{
    --bg:#fff; --text:#141415; --muted:#9aa3af; --line:#d9d9d9;
    --ring:#141415; --shadow:0 8px 24px #00a0b6;
    --badge-premium-bg:rgba(143,229,229,0.2); --badge-premium-tx:rgba(47,171,206,0.6);
    --badge-pro-bg:rgba(234,77,224,0.2); --badge-pro-tx:rgba(234,77,224,0.6);
  }

 /* 숨김 select (폼 호환/접근성 유지) */
  .native-select{position:absolute; inset:0; opacity:0; pointer-events:none}
  /* 트리거 */
  .trigger{
    width:100%; display:flex; align-items:center; justify-content:space-between;
    background:var(--bg); border:1px solid var(--line); border-radius:4px;
    padding:10px 12px; cursor:pointer; user-select:none; line-height:1;
    transition:border-color .15s, box-shadow .15s;
  }
  .trigger:focus-visible{outline:0; border-color:var(--ring); box-shadow:0 0 0 3px rgba(59,130,246,.25)}
  .trigger .value{font-size:13px; color:var(--text); font-family: 'NanumSquareNeoBold';}
  .chev{width:16px;height:16px;display:inline-block; transition:transform .15s}
  .open .chev{transform:rotate(180deg)}
  /* 목록 */
  .listbox{
    position:absolute; z-index:50; top:calc(100% + 6px); left:0; right:0;
    background:var(--bg); border:1px solid var(--line); border-radius:4px;
    box-shadow:var(--shadow); padding:6px; max-height:260px; overflow:auto; display:none;z-index:10000;
  }
  .open + .listbox{display:block}
  .option{
    display:flex; align-items:center; justify-content:space-between; gap:2px;
    padding:5px 10px; border-radius:4px; font-size:14px; cursor:pointer;height:50px;
  }
  #countSelect .listbox .option {
    height:40px;
  }
  .option:hover{background:#f1f8f9}
  #countSelect .listbox .option[aria-selected="true"]::after{
    content:"✓"; margin-left:auto; color:var(--ring); font-weight:600;
  }
  .option.locked{color:var(--muted); cursor:not-allowed}
  .option.locked:hover{background:transparent}
  .pill{
    margin-left:auto; padding:0px 6px; line-height:29px; border-radius:8px; font-size:13px; font-weight:700; white-space:nowrap;
  }
  .pill.premium{background:var(--badge-premium-bg); color:var(--badge-premium-tx)}
  .pill.pro{background:var(--badge-pro-bg); color:var(--badge-pro-tx)}
  /* 스크롤바 살짝 정돈(옵션) */
  .listbox::-webkit-scrollbar{width:8px}
  .listbox::-webkit-scrollbar-thumb{background:#e5e7eb; border-radius:8px}

  .calcenginecont {
    flex:1;
  }

  .engineicon {
    width:16px;
    height:16px;
  }

  .engineicon img {
    width:100%;
    height:100%;
    object-fit: contain;
  }

  .enginetitle {
    display:flex;
    flex-direction: column;
    margin-left: 10px;
    flex:1;
    font-size:12px;
    font-family: 'NanumSquareNeo';
  }

  .option_enginetitle {
    font-size:13px;
    color:#141415;
    font-family: 'NanumSquareNeoBold';
    line-height: 20px;
  }

  .calcdisplay {
    flex:1;
    position: relative;
  }

  .displayinfo {
    position:absolute;
    top:0px;
    right:0px;
    cursor: pointer;
  }

  .displaycont {
    position:relative;
  }

  .sizecont {
    width:100%;
  }

  .calcsize {
    display:flex;
    flex-direction: column;
    gap:5px;
  }

  .calcsize > span {
    font-size:13px;
    font-family: 'NanumSquareNeo';
  }

  .w100 {
    width:100% !important;
  }

  .calcpriceinfo {
    flex:1;
  }

  .calcpricearea {
    padding:24px;
    background:white;
    border: 1px solid #e9e9e9;
    border-radius: 12px;
  }

  .calcpriceitem > ul {
    width:calc(100% - 30px);
    margin-left:20px;
  }

  .calcpriceitem > ul > li {
    list-style: disc;
    line-height: 25px;
    font-size:14px;
  }

  .pricecredititem {
    display:flex;
    justify-content: space-between;
  }

  .creditinfomation {
    text-align: center;
    margin-top: 10px;
    color: #00a0b6;
    font-family: 'NanumSquareNeoBold';
    font-size: 13px;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
    cursor: pointer;
  }

  .membershipicon {
    background: url(../img/membership_icon.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 18px;
    height:18px;
    position:absolute;
    top:5px;
    right:5px;
  }

   :root{
    --gap: 10px;            /* 버튼과 팝업 사이 간격 */
    --arrow: 10px;          /* 삼각형 한 변 길이 */
    --radius: 12px;
    --shadow: 0 8px 24px rgba(0,0,0,.16);
    --edge-pad: 12px;       /* 화면 좌/우 여백 최소값 */
  }

  .info-btn{
    display:inline-flex; align-items:center; justify-content:center;
    width:28px; height:28px; border-radius:999px; border:1px solid rgba(0,0,0,.12);
    background:#fff; cursor:pointer;
  }
  .info-btn:focus-visible{ outline:2px solid #0ea5e9; outline-offset:2px; }


  .creditspopup {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 1000;
  }

  .creditspopup > .popupbg {
    width: 100%;
    height: 100%;
    position: absolute;
    background: rgba(0, 0, 0, 0.2);
  }

  .creditspopup > .popupcont {
    height: auto;
    padding: 32px 20px;
    border-radius: 12px;
    position: relative;
    bottom: 0px;
    margin-left: 60px;
    margin-top: 0px;
    width: 380px;
    background: white;
    z-index: 100000;
  }

  .creditspopup > .popupcont > .popupclose {
    background:url(../img/popupclose.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 20px;
    height:20px;
    right: 10px;
    top: 10px;
    cursor: pointer;
    position:absolute;
  }

  .creditpopuptitle {
    background:url(../img/crediticon.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position-x: left;;
    padding-left:24px;
    font-size: 16px;
    color: #00a0b6;
    font-family: 'NanumSquareNeoExtraBold';
    margin-bottom: 10px;
  }

  .creditpopupcont {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .contenttext {
    font-size: 14px;
    color: #57585a;
  }

  .creditinfotext {
    display: flex;
    flex-direction: column;
  }

  .creditinfogrid {
    display: flex;
    flex-direction: column;
    border: 1px solid #d9d9d9;
    margin-top: 10px;
  }

  .creditinfogriditem {
    display: flex;
    border-bottom: 1px solid #d9d9d9;
  }

  .creditinfogriditemtitle {
    padding: 8px;
    width: 60px;
    background: #e9e9e9;
    border-right: 1px solid #d9d9d9;
    color: #57585a;
    font-weight: 800;
    font-size: 12px;
  }

  .creditinfogriditemtxt {
    display: flex;
    align-items: center;
    margin-left: 10px;
    font-size: 12px;
    color: #57585a;
    font-weight: 500;
  }

  .creditinfogriditem1 {
    display: flex;
  }

  .chargelist{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .planchargeitem {
    border: 1px solid #e9e9e9;
    padding: 18px;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .creditarea .planname {
    font-size:16px;    
  }

  .planchargeinfo {
    display: flex;
    flex-direction: row;
    gap: 4px;
    justify-content: space-between;
  }

  .chargedescription {
    font-size:12px;
    color:#57585a;
    font-family: 'NanumSquareNeoBold';
  }

  .chargebottom {
    display:flex;
    justify-content: right;
  }

  .chargediscountinfo {
    display:flex;
    gap:10px;
    align-items:center;
  }

  .discount {
    color:#00a0b6;
    font-family: 'NanumSquareNeoExtraBold';
    font-size:13px;
  }

  .originalprice {
    font-size:14px;
    color:#9e9e9e;
    text-decoration: line-through;
    font-family: 'NanumSquareNeoExtraBold';
  }

  .chargeitembtn {
    width:94px;
    height: 40px;
    padding:8px 12px;
    background:#00a0b6;
    box-shadow: 0 2px 3.8px 0 rgba(255,255,255,0.25) inset, 0 -1px 4px 0 rgba(0,0,0,0.12) inset, 0 2px 10px 0 rgba(0,0,0,0.12);
    color:white;
    font-size:14px;
    font-family: 'NanumSquareNeoBold';
    text-align:center;
    border-radius: 8px;
    cursor: pointer;
    line-height:24px;
  }

  .chargeinfocomment {
    height:36px;
    display:none;
  }

  .chargeinfocomment img {
    height:100%;
  }

  .chargechangearea {
    width: 100%;
    margin-top:10px;
    border: 1px solid #00a0b6;
    padding:18px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: 8px;
    background: #f4fdfd;
  }

  .usercashinfo {
    display:flex;
    gap:20px;
    font-size:14px;
  }

  .userchargecash {
    color:#57585a;
    font-family: 'NanumSquareNeoBold';
  }

  .userCashAmount {
    color:#141415;
    font-family: 'NanumSquareNeoExtraBold';
  }

  .chargechange {
    display:flex;
    gap:20px;
    align-items:center;
  }

  .changeinfo {
    font-size:14px;
    color:#141415;
    font-family: 'NanumSquareNeoExtraBold';
  }

  .changeamt {
    color:#00a0b6;
    margin-right:5px;
  }

  .changebtn {
    padding:8px 12px;
    background:#141415;
    color:white;
    border-radius: 8px;
    font-size:12px;
    font-family: 'NanumSquareNeoExtraBold';
    cursor: pointer;
  }

  .planpaymenthead {
    display: flex;
    justify-content: start;
    gap:8px;
    align-items: center;
  }

  .paymentback {
    width: 40px;
    height: 40px;
    cursor: pointer;
    padding: 10px;
  }

  .paymenttitle {
    font-size: 16px;
    font-family: 'NanumSquareNeoExtraBold';
    color:#141415;
  }

  .extrdiscount {
    color:#F16B71;
    font-family: 'NanumSquareNeoExtraBold';
    font-size:13px;
  }

  .paymentcontainer {
    display:flex;
    gap: 32px;
    align-items: flex-start;
    margin-top:20px;
  }

  .paymentcontent {
    flex:1;
    display:flex;
    flex-direction: column;
    gap:16px;
  }

  .paymentitem {
    display:flex;
    gap:8px;
    flex-direction: column;
  }

  .paymentitemtitle {
    font-size:14px;
    color:#141415;
    font-family: 'NanumSquareNeoExtraBold';
  }

  .paymentiteminfo {
    padding:14px;
    border: 1px solid #d9d9d9;
    border-radius: 8px;
    display:flex;
    flex-direction: column;
  }

  .planinfo {
    margin-top:12px;
    display:flex;
    flex-direction: column;
  }

  .planinfoitem {
    display:flex;
    justify-content: space-between;
    font-size:12px;
    color:#57585a;    
  }

  .planpayinfoitem {
    display:flex;
    justify-content: space-between;
    font-size:14px;
    color:#57585a;            
  }

  .paymentmethod.select {
    border-radius: 4px;
    border: 1px solid #00a0b6;
  }

  .paymentmethod {
    border-radius: 4px;
    border: 1px solid #d9d9d9;
  }

  .paymentmethodname {
    display:flex;
    justify-content: center;
    align-items: center;
    padding:14px 20px;
    
    width: 120px;
    height:44px;
    cursor: pointer;
  }

  .paymentiteminfo1 {
    display:flex;
    gap:8px;
    align-items: center;
  }

  .allusebtn {
    padding :14px 12px;
    border:1px solid #d9d9d9;
    border-radius: 4px;
    height:44px;
    line-height: 16px;
    font-size:13px;
    font-family: 'NanumSquareNeoBold';
    width: 80px;
    text-align:center;
    cursor: pointer;
  }

  .paymentiteminfo1 > input {
    border: 1px solid #d9d9d9;
    padding:14px 12px;
    height:44px;
    border-radius: 4px;
    background:#fff;
    flex:1 0 0;
  }

  .paymentitemdesc {
    font-size:12px;
    color:#57585a;
    font-family: 'NanumSquareNeoBold';
    letter-spacing:-0.36px;
  }

  .paymentitemdesc > span {
    color :#939393;
  }

  .paymentiteminfo2 {
    display:flex;    
    align-items: center;
    flex-direction: column;
  }

  .planpayitem {
    display: flex;
    width: 100%;
    justify-content: space-between;
    font-size: 12px;
    color:#9e9e9e;
    font-family: 'NanumSquareNeoBold';
  }

  .paymenttotalprice {
    display: flex;
    justify-content: space-between;
    font-size:18px;
    color: #141415;
    font-family: 'NanumSquareNeoExtraBold';
    align-items: center;
  }

  .totalpricetitle {
    font-size:16px;
  }

  .discountpayment {
    color:#9e9e9e;
    font-size:14px;
    text-decoration: line-through;
    font-family: 'NanumSquareNeoBold';
    margin-right:5px;
  }

  .totalpayment {
    color:#00a0b6;    
  }

  .paymentcontact {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    color: #57585a;
    letter-spacing: -0.36px;
    font-family: 'NanumSquareNeo';
  }

  .contactview {
    color: #9e9e9e;
    font-size: 13px;
    text-decoration-line: underline;
    cursor: pointer;
  }

  .paymentagree {
    display:flex;
    align-items: center;
    gap:6px;  
  }

  .paymentagree > span {
    cursor: pointer;
  }

  .paycheckbox {
    width: 20px;
    height:20px;
    background:url(../img/paycheck.png);
    background-size: contain;
    background-repeat: no-repeat;
    cursor: pointer;
  }

  .paycheckbox.on {
    background:url(../img/paycheckon.png);
    background-size: contain;
    background-repeat: no-repeat;
  }

  .paycheckbox > span {
    font-size:12px;
    color:#57585a;
    font-family: 'NanumSquareNeoBold';
    letter-spacing: -0.36px;
    
  }

  .paymentbtn {
    width: 100%;
    background: #00a0b6;
    color: white;
    padding: 20px 32px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 8px;
    font-size: 16px;
    font-family: 'NanumSquareNeoExtraBold';
    letter-spacing: -0.48px;
    margin-top: 4px;
    cursor: pointer;
  }

  .paymentguide {
    background: #f5f5f5;
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: flex-start;
  }

  .paymentguidetitle {
    color: #57585a;
    font-size: 12px;
    font-weight: 600;
  }

  .paymentguide > ul {
    font-size: 12px;
    color: #9e9e9e;
    width: calc(100% - 60px);
    margin-left: 20px;
  }

  .paymentguide > ul > li {
    list-style: disc;
  }

  .chargename > .creditarea,.planname > .creditarea {
    display:flex;
    gap:5px;
  }

  .planbonus {
    font-size:12px;
    color:#00a0b6;
    font-family: 'NanumSquareNeoExtraBold';
  }

  .paymentiteminfo3 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap:8px;
    border: 1px solid #d9d9d9;
    border-radius: 8px;
    padding:14px;
  }

  #totalchangecredits {
    color:#00a0b6;
    font-size: 14px;
    font-family: 'NanumSquareNeoExtraBold';
}

.notuse {
    background:#f5f5f5;
    border: 1px solid #d9d9d9;
    color:#9e9e9e;
}

#changecomplate {
    background:url(../img/creditcomplatebg.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 820px;
    height: 657px;
}

#changecomplate .paymentcontainer {
    justify-content: center;
    align-items: center;
    height: calc(100% - 20px);
}

.paymentcomplate {
    display: flex;
    flex-direction: column;
    gap: 9px;
    justify-content: center;
    align-items: center;
}

.paymentcomplatetitle {
    font-size: 22px;
    font-family: 'NanumSquareNeoExtraBold';
    color: #141415;
    line-height: 33px;
}

.paymentcomplateinfo {
    font-size: 16px;
    color: #57585a;
    font-family: 'NanumSquareNeoExtraBold';
    line-height: 32px;
}

.paymentcomplatecont {
    width: 320px;
    padding: 12px;
    border: 1px solid #e9e9e9;
    border-radius: 4px;
    background: white;
    display: flex;
    gap: 12px;
    flex-direction: column;
}

.paymentcomplateitem {
    display: flex;
    color: #57585a;
    justify-content: space-between;
    font-size: 12px;
    font-family: 'NanumSquareNeo';
}

.paymentcomplatedesc {
    font-size: 12px;
    color: #57585a;
    font-weight: 400;
}

.paymentcomplatebtn {
    width: 320px;
    height: 40px;
    background: #00a0b6;
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    font-family: 'NanumSquareNeoExtraBold';
    padding: 14px 12px;
    border-radius: 8px;
    margin-top: 22px;
    cursor: pointer;
}

.calcsubitem {
    display: flex;
    justify-content: space-between;
}

.calctitle1 {
    position: relative;
    padding-right: 20px;
    line-height: 16px;
    font-family: 'NanumSquareNeoExtraBold';
}

.imgopen {
    font-size: 13px;
    line-height: 22px;
    font-family: 'NanumSquareNeoBold';
}


.calcsubtxt {
    display:none;
    margin-top: 5px;
    font-size: 14px;
    color: #57585a;
    font-family: 'NanumSquareNeo';
}

.paymentcomplateicon {
    perspective: 1000px; /* 원근감 */
    width: 50px;
    height: 50px;
    margin: 20px auto;
}

.rotate-img {
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    animation: spinY 1s linear infinite; /* 자동 회전 */
}

@keyframes spinY {
    from { transform: rotateY(0deg); }
    to { transform: rotateY(360deg); }
}

.chargepopupcontainer {
    position:relative;
}

.chargepopup {
    z-index: 100000;
}

.arteditinfo {
    width: 100%;
    display: flex;
    background: linear-gradient(#fff, #fff) padding-box, linear-gradient(90deg, #00a0b6, #ff60d7) border-box;
    border-radius: 12px;
    border:1px solid transparent;
    padding:20px;
    flex-direction: column;
    gap:12px;
}

.arteditinfotop {
    margin-top:12px;
}

.membershiparea {
    display: flex;
    gap:8px;
    margin-left:8px;
    font-size:20px;
    font-family: 'NanumSquareNeoBold';
    color:#141415;
}

.membershiparea img {
    width:20px;
    height:20px;
}

.arteditinfotypetab {
    display:flex;
    gap:8px;
    margin-top:18px;
    margin-bottom:12px;
}

.infotypetitle {
    font-size: 14px;
    color:#141415;
    font-family: 'NanumSquareNeoBold';
    margin-bottom:12px;
}

.infotypecontent img {
    border-radius: 8px;
}

.arteditbtn {
    display: inline-block;
    background:url(../img/editinfoedit.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 72px;
    height: 37px;
    cursor: pointer;
}

.arteditbtn.on {
    display: inline-block;
    background:url(../img/editinfoedit_on.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 72px;
    height: 37px;
    cursor: pointer;
}

.artremovebtn {
    display: inline-block;
    background:url(../img/editinforemove.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 72px;
    height: 37px;
    cursor: pointer;
}

.artremovebtn.on {
    display: inline-block;
    background:url(../img/editinforemove_on.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 72px;
    height: 37px;
    cursor: pointer;
}

.btneditgroup {
    display: none;
    align-items: center;
    
}

.undobtn {
    display: inline-block;
    background:url(../img/undo.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 40px;
    height: 40px;
    cursor: pointer;
}

.redobtn {
    display: inline-block;
    background:url(../img/redo.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 40px;
    height: 40px;
    cursor: pointer;
}

.undobtn.on {
    display: inline-block;
    background:url(../img/undo_on.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 40px;
    height: 40px;
    cursor: pointer;
}

.redobtn.on {
    display: inline-block;
    background:url(../img/redo_on.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 40px;
    height: 40px;
    cursor: pointer;
}

.resetbtn {
    margin-left:8px;
    height:33px;
    width:56px;
    background:#57585a;
    border-radius: 4px;
    padding:6px 8px;
    display:flex;
    justify-content: center;
    align-items: center;
    font-size:14px;
    font-family: 'NanumSquareNeoExtraBold';
    color:#fff;
    cursor: pointer;
}

.resulttool {
    display: none;
    width: 400px;
    justify-content: center;
    gap: 8px;
    margin-top: 12px;
    align-items: center;
    height: 40px;
}

.tooldown, .toollibrary, .tooloriginal {
    font-size: 16px;
    padding: 8px;
    display: flex;
    gap: 4px;
    align-items: center;
    font-family: 'NanumSquareNeo';
    cursor: pointer;
}


:root{
    --brand: #00A0B6;      /* 선택색 */
    --text-muted:#687076;  /* 비활성 텍스트 */
    --bg:#fff;
    --h: 36px;             /* 높이 */
    --pad:4px;             /* 내부 패딩 */
  }

  .libaraycomment {
    width: 100%;
    display: flex;
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e9e9e9;
    padding: 20px;
  }

  .editcontent {
    width:100%;
    display: flex;
    flex-direction: column;
    gap: 11px;
  }
/* 컨테이너 */
.seg-toggle{
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    height: var(--h);
    border-radius: 999px;
    background: #f5f5f5;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    margin-bottom: 8px;
  }
  
  /* 움직이는 슬라이더 */
  .seg-toggle__thumb{
    position: absolute;
    top: 0px;
    left: var(--pad);
    width: 50%;
    height: 100%;
    border-radius: 999px;
    background: #fff;
    border: 1px solid #00a0b6;
    transition: transform .25s cubic-bezier(.2, .8, .2, 1);
  }
  
  /* 선택이 'remove'면 오른쪽으로 */
  .seg-toggle[data-value="remove"] .seg-toggle__thumb{
    transform:translateX(100%);
  }
  
/* 버튼 기본 색 */
.seg-toggle__option{
    z-index:1;
    appearance:none;
    border:0;
    background:transparent;
    border-radius:999px;
    font-size:14px;
    color:var(--text-muted);
    cursor:pointer;
    height:100%;
    display:flex;            /* 아이콘+텍스트 정렬 */
    align-items:center;
    justify-content:center;
    gap:6px;
    font-family: 'NanumSquarBold';
  }
  
  /* SVG 아이콘이 버튼 color를 따르게 */
  .seg-toggle__option svg path{
    fill: currentColor !important;   /* 기존 fill 속성 무시하고 버튼 color 사용 */
  }
  
  /* 활성 상태 색상 */
  .seg-toggle__option[aria-selected="true"]{
    color:var(--brand);
    font-family: 'NANUMSQUARENEOHEAVY';
  }
  
  /* 접근성 포커스 */
  .seg-toggle__option:focus-visible{
    outline:2px solid var(--brand);
    outline-offset:2px;
  }

  .editcomment {
    font-size: 16px;
    color: #141415;
    font-family: 'NanumSquareNeoBold';
  }
  
  /* (선택) 그라데이션 보더 버전이 필요하면 아래로 교체
  .seg-toggle{
    background:
      linear-gradient(#fff, #fff) padding-box,
      linear-gradient(90deg,#00A0B6,#ff60D7) border-box;
    border:1px solid transparent;
  }
  */

  .chargetitle {
    font-family: 'NanumSquareNeoExtraBold';
  }

  .discountarea {
    display:flex;
    gap:8px;
  }

  .chargebackbtn {
    display:none;
  }

  .chargepopupheaderright {
    width:330px;
  }

  .artinputtab {
    width: 100%;
    display: flex;
    gap: 10px;
    margin-top: 12px;
    padding-left: 12px;
  }

  .artinputtabitem {
    font-size: 14px;
    color: #9e9e9e;
    font-family: 'NanumSquareNeoExtraBold';
    padding: 0 6px 6px 6px;
    cursor: pointer;
  }

  .artinputtabitem.select {
    border-bottom: 1px solid #00a0b6;
    color: #00a0b6;
  }

  .artinputtabcont {
    width: 100%;
    height: auto;
    display: block;
  }

  .textinputarea, .imageinputarea {
    display: flex;
    align-items: end;
  }

  .textinputarea > textarea {
    min-height: 100px !important;
    width: calc(100% - 80px);
    border: none;
    padding: 10px;
  }

  .imageinputpromptarea {
    flex: 1;
    display: flex;
    gap: 12px;
    padding-left: 12px;
  }

  .imageuploadarea {
    width: 84px;
    height: 84px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px dashed #00a0b6;
    background: #f4fdfd;
    border-radius: 4px;
    cursor: pointer;
  }

  .imageinputpromptarea > textarea {
    flex: 1;
    border: none;
    min-height: 100px !important;
  }

  .imageupload {
    display: none;
  }

  .imageupload {
    position: relative;
    width: 84px;
    height: 84px;
  }
  
  #uploadimg {
    width: 100%;
    object-fit: cover;
    height: 100%;
  }

  .imagedel {
    position: absolute;
    top: 4px;
    right: 4px;
    background: rgba(0, 0, 0, 0.3);
    padding: 6px;
    border-radius: 16px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .artcount {
    display: flex;
    gap: 10px;
    align-items: center;
  }

  .artcountcont {
    display: flex;
    flex-direction: column;
    gap: 2px;
  }

  .artcounttitle {
    font-size: 16px;
    color: #141415;
    font-family: 'NanumSquareNeoExtraBold';
  }

  .artcounttext {
    font-size: 13px;
    color: #57585a;
    font-family: 'NanumSquareNeoBold';
  }

  .artcountcount {
    color: #9e9e9e;
    font-size: 13px;
  }

  .artcountimg.complate {
    background:url(../img/artcomplate.png);
    background-size: 36px 39px;
    background-repeat: no-repeat;
    background-position: center;
    width: 42px;
    height: 46px;
  }

  .artcountimg.ing {
    background:url(../img/arting.png);
    background-size: 36px 39px;
    background-repeat: no-repeat;
    background-position: center;
    width: 42px;
    height: 46px;
  }

  .artcountprocess {
    display: flex;
    align-items: center;
    gap:5px;
    margin-top:10px;
  }

  .artcountprocess > #progressbar1 {
    height: 8px !important;
    margin-bottom: 0px;
    margin-top: 0px;
  }

  .artcountprocess > #progressbar1 > #progress1 {
    height:8px !important;
    background: linear-gradient(90deg, #00B8D0 0%, #FD8EFF9E 100%) !important;
    margin-top:0px;
  }

  .resultimgarea {
    position: relative;
    width: calc(100% - 40px);
    aspect-ratio: 1;
    flex: 1;
    display: inline-block;
    margin-top: 26px;
  }

  .resultcomment {
    margin-top: 20px;
    width: calc(100% - 40px);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-family: 'NanumSquareNeo';
  }

  .resultreproc{
    position: relative;
    width: calc(100% - 40px);
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    border: 1px solid #D9D9D9;
    border-radius: 8px;
    margin-bottom: 20px;
    margin-top: 10px;
    font-size: 16px;
    font-family: 'NanumSquareNeo';
    cursor: pointer;
  }

  @media screen and (max-width: 768px) {
    .chargebackbtn {
        display: block;
        width: 40px;
        height: 40px;
        padding: 10px;
        position: relative;
        top: 12px;
        cursor: pointer;
    }
    .toparea {
        position: absolute;
        right: 15px;
    }

    .creditinfo {
        background: transparent;
        border: none;
        height: auto;
        gap: 4px;
        padding:4px;
        width: max-content;
    }

    .plane  {
        background: #57585a;
        color: white;
        padding: 4px 8px;
    }

    .creditarea {
        margin-right:2px;
    }

    .librarymore {
        flex: 1;
        height: 100%;
        margin-top: 5px;
    }

    .libaraycomment{
        background: transparent;
        border: none;
        padding: 10px 0px;
    }

    .seg-toggle {
        border:1px solid #e9e9e9;
    }

    .resulttool {        
        margin-top: 5px;
        width: 100%;
    }

    .chargepopup {
        display: block;
        width: 100% !important;
        height: 100%;
    }

    .chargepopupclose {
        display:none !important;
    }

    .chargepopupcont {
        width: 100% !important;
        height: 100%;
        overflow-y: auto;
    }

    .chargepopupheader {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 10px;
        margin-bottom: 10px;
    }

    .chargepopupcontent {
        margin-top:20px !important; 
        margin-bottom:150px !important;
    }

    .chargepopupheaderleft {
        justify-content: center;
        align-items: center ;
    }

    .chargetitle {
        font-size: 22px !important;
        text-align: center;
    }

    .chargepopupcont {
        border-radius: 0px !important;
    }

    .chargepopupcontainer {
        display: inline-block !important;
        margin-top: 0px !important;
        width: 100% !important;
        height: 100% !important;        
    }

    .chargepopupmiddle {
        width: 100%;
        background: #f4fdfd;
        padding: 0px 2px;
        height: 37px;
        justify-content: center;
        border-radius: 8px;
    }

    .clearfix {
        display:none;
    }

    .chargelist {
        display: flex;
        flex-direction: column;
    }

    .planchargeitem {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }

    .planchargeinfo {
        flex-direction: column;
    }

    .creditarea {
        flex-direction: column;
        background-size: 20px;
    }

    .planbonus {
        margin-left:-25px;
    }

    .chargediscountinfo {
        flex-direction: column;
        align-items: end;
    }

    .chargechangearea {
        flex-direction: column;
        gap: 4px;
        margin-top: 48px;
    }

    .usercashinfo {
        width: 100%;;
    }

    .chargechange {
        flex-direction: column;
        align-items: self-end;
        width: 100%;
        gap: 10px;
    }

    .changeinfo {
        width: 100%;
        font-size: 16px;
    }

    .changebtn {
        width: 102px;
        text-align: center;
        font-size: 16px;
    }

    .chargepopupcont {
        padding:12px 20px !important;
    }

    .paymentcontainer {
        flex-direction: column;
        gap:20px;
        margin-bottom:120px;
    }

    .paymentcontent {
        width:100%;
    }

    .paymentdesc {
        font-size:12px;
    }

    .paymentiteminfo3 {
        border: none;
        align-items: baseline;
        padding: 0px;
        gap: 12px;
    }

    .totalpricetitle {
        color: #141415;
        font-family: 'NanumSquareNeoExtraBold';
        font-size: 16px;
    }

    .paymentiteminfo3 > .creditarea {
        padding: 14px;
        background-position-x: 14px;
        background-position-y: 13px;
        padding-left: 40px;
        width: 100%;
        border: 1px solid #d9d9d9;
        border-radius: 8px;
    }

    #changecredit {
        position: fixed;
        bottom: 0;
        width: 100%;
        margin-left: -20px;
        border-radius: 0px;
    }

    .paymentbtn {
        border-radius: 0px;;
    }

    .paymentguide {
        padding:0px;
        padding-left: 10px;
        padding-right: 10px;
        padding-bottom: 20px;
    }
    
    .paymentguidetitle {
        margin-top:14px;
        margin-left:14px;
    }

     .paymentguide > ul {
        margin-left: 25px;
        width: calc(100% - 40px);
     }

     .creditspopup > .popupcont {
        margin:auto;
        margin-left:20px;
        margin-right:20px;
     }

     .mobile {
        display:block;
     }

     .chargepopupheaderright {
        width:100%;
        height: 40vw;
     }

     .chargepopup {
        overflow-y: auto;
     }

     #changecomplate {
        margin: auto;
        height: 100%;
        position: absolute;
        justify-content: center;
        align-items: center;
        background: white;
     }

     .bottomresult {
        display:none;
        width: 100%;
        background: white;
        position: absolute;
        bottom: 0;
        left: 0;
        height: 170px;
        padding: 20px;
        flex-direction: column;
        gap: 1px;
     }

     .bottomresultitle {
        font-size: 14px;
        color: #141415;
     }

     .bottomresultsubtitle {
        font-size: 12px;
        color: #57585a;
     }
  }