@font-face{ font-family:"Paperlogy"; font-weight:700; font-display:swap; src:local("Paperlogy Bold"),url("../fonts/paperlogy/Paperlogy-Bold.ttf") format("truetype")}  @font-face{ font-family:"Paperlogy"; font-weight:600; font-display:swap; src:local("Paperlogy SemiBold"),url("../fonts/paperlogy/Paperlogy-SemiBold.ttf") format("truetype")}  @font-face{ font-family:"Paperlogy"; font-weight:500; font-display:swap; src:local("Paperlogy Medium"),url("../fonts/paperlogy/Paperlogy-Medium.ttf") format("truetype")}  @font-face{ font-family:"Paperlogy"; font-weight:400; font-display:swap; src:local("Paperlogy Regular"),url("../fonts/paperlogy/Paperlogy-Regular.ttf") format("truetype")}
html, body { margin: 0; padding: 0; height: 100%; background-color: #f5f5f5; }
a { text-decoration: none; color: #000; }
ul { list-style: none; margin: 0; padding: 0; }

.header.bgb { background: #292727; border-bottom: 1px solid #3A3737; }
.header.bgb .nav .menu li a { color: #FFFFFF; }
.footer.bgb { border-top: 1px solid #5F5959; background: #292727; }
.container { display: flex; flex-direction: column; height: 100vh}
.footer {
    background-color: #FCFAF9;
    text-align: center;
    padding: 15px;
    font: normal normal 400 12px/18px Paperlogy;
    color: #999;
    border-top: 1px solid #EFEEEE;
    box-sizing: border-box;
}
.footer a {
    color: #999;
    text-decoration: none;
}
.footer p {
    margin-block: 6px;
}

.main-sub,.main-title { position: relative;z-index: 2; }

/* PC 및 테블릿 전용 스타일 (500px 이상) */
@media (min-width: 500px) {
    .main, .main-container {
        flex: 1 1;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #ffffff;
        padding: 20px;
        box-sizing: border-box;
    }
    .contain { text-align: center; width: 100%; max-width: 75%; }
}

/* PC 전용 스타일 (1025px 이상) */
@media (min-width: 1025px) {
    /* 헤더 스타일 */
    .header { background-color: #ffffff; border-bottom: 1px solid #EFEEEE; padding: 10px 20px; }
    .header-inner { display: flex; justify-content: space-between; align-items: center; margin: 0 20px; }
    .logo a { font: bold 20px Paperlogy; color: #000; text-decoration: none; }
    .nav .menu { display: flex; justify-content: flex-end; gap: 20px; list-style: none; margin: 0; padding: 0; }
    .nav .menu li a { font: normal normal 400 16px/24px Paperlogy; color: #333; text-decoration: none; cursor: pointer; }
    .header-m { display: none !important; }
    .login-container { margin-top: -100px !important; }
    .join-container { max-width: 70%; }
    .card-container { display: flex; flex-wrap: wrap; gap: 15px; }
    .card-container.pc { margin-top: 20px; }
    .card { flex: 1 1 calc(50% - 10px); box-sizing: border-box; max-width: calc(50% - 10px); }
    .center-btn .join-btn { width: 20%; }
    .cert-group { display: flex; }
    .cert-group button { width: 25%; margin-left: 10px; }

    /*.main, .main-container {*/
    /*    flex: 1;*/
    /*    display: flex;*/
    /*    justify-content: center;*/
    /*    align-items: center;*/
    /*    background-color: #ffffff;*/
    /*    padding: 20px;*/
    /*    box-sizing: border-box;*/
    /*}*/

    .main-container .info { margin-top: 30px; }
    .mp-card-d { display: flex; gap: 15px; margin-top: 25px; }
    .p-20btn { width: 60% !important; }
    .tab-item { margin-top: 15px; }

    .intro-card {
        display: flex;
        border: 1px solid #EFEEEE;
        padding: 20px;
        border-radius: 4px;
        text-align: left;
        height: auto;
        width: 60%;
    }

    .map { width: 40%; }
    .map-content { display: flex; gap: 15px; margin-top: 20px; align-items: flex-start; }

    .p-card-item { flex: 1 1 30%; max-width: 400px; background-color: #fff; padding: 15px; box-sizing: border-box; }
    .main-title { font: normal normal 700 48px/72px Paperlogy; color: #FFFFFF; text-align: left; }
    .main-sub-title { font: normal normal 500 32px/48px Paperlogy; color: #FFFFFF; text-align: left; }

    .main-cont {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: auto;
        min-height: 400px;
    }

    .main-title { position: relative; z-index: 3; white-space: nowrap; margin-top: -200px; }

    .main-img {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        height: auto;
        max-width: 700px;
    }

    .main-image { position: relative; width: 100%; z-index: 1; }
    .main-image2 {
        position: absolute;
        width: 50%;
        z-index: 2;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .main-sub { margin-top: -200px; }
    .mp-card-item.pc { width: 300px; position: relative; z-index: 4; }
    .m-container { padding: 0 10px 50px 200px; }
    .card-sub { margin-left: 15px; }
    .map-cont img { height: 300px; }

    .price-info-txt {
        justify-content: center;
        display: inline-flex;
        margin-top: 10px;
        width: 100%;
        box-sizing: border-box;
    }

    .horizontal-line.pc { margin-top: 20px; }
    .help-info.pc { margin-top: 40px !important; }
    .agree-pc { display: flex; justify-content: space-between; }
    .application-table { display: none; }

    .phone-item { display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-start; gap: 20px; margin-top: 20px; }
    .phone-item.is-scroll { max-height: 380px; overflow-y: scroll }
}

/* PC 전용 스타일 (1920px 이상) */
/*@media (min-width: 1919px) {*/
/*    .main-title { margin-top: -400px; }*/
/*    .main-sub { margin-top: -400px; }*/
/*    .main-cont { margin-top: -100px; }*/
/*}*/

/* 모바일 및 태블릿용 스타일 (1024px 이하) */
@media (max-width: 1024px) {
    /* 헤더 스타일 */
    .header { background-color: #ffffff; border-bottom: 1px solid #EFEEEE; padding: 10px 20px; }
    .header-inner .logo, .nav { display: none; }
    .login-container2 .logo, .subtitle { text-align: left; }
    .phone-image { display: block; margin: 20px 0 20px auto !important; text-align: right; }
    .title { display: none; }
    .card.m { margin-bottom: 10px; }
    .cert-group button { margin-top: 15px; }

    .main { flex: 1; background-color: #ffffff; box-sizing: border-box; padding: 20px; }
    .main-container { flex: 1; justify-content: center; align-items: center; background-color: #ffffff; box-sizing: border-box; }
    .main-container .info { display: grid; }
    .mp-card-d { padding: 10px; }
    .m-pad20 { padding: 20px; }
    .m-100btn { width: 100% !important; }
    .tab { width: 100%; text-align: center; }
    .map { width: 100%; }
    .main-title { font: normal normal 500 24px/26px Paperlogy; color: #FFFFFF; text-align: left; }
    .main-sub-title { font: normal normal 500 24px/26px Paperlogy; color: #FFFFFF; text-align: left; }
    .main-cont { position: relative; width: 100%; height: auto; }
    .main-title { position: relative; z-index: 3; white-space: nowrap; margin-top: 20px; }

    .main-img {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 90vw;
        height: 40vh;
    }

    .main-image {
        position: relative;
        width: 100%;
        max-width: 500px;
        z-index: 1;
    }

    .main-image2 {
        position: absolute;
        width: 250px;
        z-index: 2;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .main-sub-title { margin-top: 30px; text-align: center; }
    /*footer.bgb { display: none !important; }*/
    .container.ly { overflow: hidden; }
    .pad-cont { padding: 20px; box-sizing: border-box; }
    .info-img { width: 100%; height: 120px; object-fit: cover; }
    /*.table-container { display: none; }*/

    .phone-item { margin-top: 15px; }
    .phone-item .p-card-item { text-align: center; margin-top: 20px; }
    .phone-item { display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-start; gap: 20px; margin-top: 20px; }
}

.popup-body .content { display: flex; justify-content: center; }
.header-m { display: flex; justify-content: space-between; align-items: center; }
.links a { cursor: pointer; }

.login-container, .login-container2 {
    text-align: center;
    max-width: 500px;
    width: 100%;
    margin-top: 15px;
}

.join-container { text-align: center; width: 100%; }
.hd-title { font: normal normal 600 16px/24px Paperlogy; color: #000000; }
.logo { font-size: 28px; font-weight: bold; }
.title { font: normal normal 700 28px/42px Paperlogy; }
.join-txt { color: #999999 !important; }

.help-info {
    border-radius: 4px;
    background: #FCFAF9;
    font: normal normal 400 14px/21px Paperlogy;
    padding: 10px;
    color: #000000;
}

.help-info2 {
    border-radius: 4px;
    background: #FFEDE5;
    font: normal normal 400 14px/21px Paperlogy;
    padding: 10px;
    color: #FF4D00;
}
.subtitle {
    font: normal normal 500 20px/30px Paperlogy;
    color: #666;
    margin-bottom: 10px;
}

.phone-image { width: 100%; max-width: 300px; margin: 20px 0; }
.input-form { text-align: left; }
.input-group, .form-group { margin-bottom: 15px; }

.input-group label, .form-group label {
    font: normal normal 700 12px/18px Paperlogy;
    color: #999999;
    margin-bottom: 5px;
    display: block;
}

.input-group input,
.input-group textarea {
    width: 100%;
    border: none;
    border-bottom: 1px solid #969191;
    padding: 8px 5px;
    outline: none;
    transition: border-color 0.3s;
    font: normal normal 400 14px/21px Paperlogy;
    color: #000000;
    box-sizing: border-box;
}

.input-group textarea {
    min-height: 150px;
    resize: vertical;
}

.input-group.error input { color: #FF0000; border-bottom: 1px solid #FF0000; }
.input-group input:focus, .input-group textarea:focus { border-bottom: 1px solid #000000; }
input::placeholder { font: normal normal 400 14px/21px Paperlogy; color: #969191; }
input:disabled { background: #EFEEEE; }
select:disabled {
    background: #EFEEEE url(../images/ic_arrow_d.svg) no-repeat calc(100% - 7px) center !important;
    color: #969191 !important;
}

button:disabled { background: #EFEEEE; color: #969191; }
.input-wrapper { position: relative; display: inline-block; width: 100%; }

.input-wrapper .timer, .input-wrapper .select {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font: normal normal 400 14px/21px Paperlogy;
    color: #969191;
}

.timer.active { color: #FF4D00; }
.checkbox-form {
    font: normal normal 400 14px/21px Paperlogy;
    display: flex;
    align-items: center;
    gap: 5px;
}

.sns-login {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #969191;
    font: normal normal 400 14px/21px Paperlogy;
    margin: 15px 0;
}

.sns-login::before,
.sns-login::after { content: ''; flex-grow: 1; height: 1px; background-color: #EFEEEE; }

/* 버튼 */
.contained-btn {
    width: 100%;
    padding: 10px;
    background-color: #FF4D00;
    color: #fff;
    border: none;
    border-radius: 4px;
    font: normal normal 500 14px/21px Paperlogy;
    cursor: pointer;
}
.outlined-btn {
    border-radius: 10px;
    width: 100%;
    padding: 10px;
    border: 1px solid #DFD9D9;
    background-color: #fff;
    font: normal normal 600 14px/21px Paperlogy;
    cursor: pointer;
}
.outlined-btn.selected {
    background-color: #efefef;
}
.outlined-o-btn {
    border-radius: 4px;
    width: 100%;
    padding: 10px;
    border: 1px solid #FF4D00;
    background-color: #fff;
    font: normal normal 400 14px/21px Paperlogy;
    cursor: pointer;
    color: #FF4D00;
}
.arrow-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    width: 100%;
    padding: 10px 30px 10px 10px;
    border: 1px solid #FF4D00;
    background-color: #fff;
    font: normal normal 400 14px/21px Paperlogy;
    cursor: pointer;
    color: #FF4D00;
    position: relative;
    box-sizing: border-box;
}

.arrow-btn::after {
    content: '';
    position: absolute;
    right: 50px;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 14px;
    background: url('../images/ic_arrow_up_o.svg') no-repeat center;
    background-size: contain;
    transition: transform 0.3s;
}
.arrow-btn.down::after { transform: translateY(-50%) rotate(180deg); }

.outlined-g-btn {
    border-radius: 4px;
    width: 100%;
    padding: 10px;
    border: 1px solid #EFEEEE;
    background-color: #fff;
    font: normal normal 400 12px/18px Paperlogy;
    cursor: pointer;
    color: #5F5959;
}
.back-button { display: flex; }
.center-btn { display: flex; justify-content: center; }
.center-btn-col { display: flex; align-items: center; flex-direction: column; }
.links { font: normal normal 500 14px/21px Paperlogy; margin-top: 10px; color: #5F5959; }
.link-or { color: #DFD9D9; margin: 0 10px; cursor: pointer; }

.input-guide { font: normal normal 400 12px/18px Paperlogy; color: #969191; margin-top: 3px; }
.input-guide.error { color: #FF0000; }

/* 체크박스 */
.checkbox-form input[type="checkbox"] {
    appearance: none;
    width: 20px;
    height: 20px;
    border: 1px solid #EFEEEE;
    border-radius: 4px;
    background-color: #EFEEEE;
    cursor: pointer;
    transition: background-color 0.3s, border-color 0.3s;
    position: relative;
    margin: 0;
}
.checkbox-form.all input[type="checkbox"] { border: none; background-color: #FFFFFF; }
.checkbox-form input[type="checkbox"]::after {
    content: '';
    position: absolute;
    top: 35%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
    width: 6px;
    height: 11px;
    border: solid #DFD9D9;
    border-width: 0 2px 2px 0;
    border-radius: 1px;
    transition: border-color 0.3s;
    pointer-events: none;
}

.checkbox-form input[type="checkbox"]:checked { background-color: #FF4D00 !important; border-color: #FF4D00 !important; }
.checkbox-form input[type="checkbox"]:checked::after { border-color: #fff; }

/* 약관동의 */
.agree-title { font: normal normal 700 12px/18px Paperlogy; color: #999999; }
.card { text-align: left; }
.card-item {
    font: normal normal 400 12px/18px Paperlogy;
    color: #5F5959;
    border: 1px solid #EFEEEE;
    border-radius: 4px;
    padding: 20px;
    margin-top: 5px;
}
.all-agree { border-radius: 4px; background: #FFEDE5; color: #FF4D00; padding: 10px; margin-top: 15px;}

.info { border-radius: 4px; background: #FCFAF9; padding: 20px 25px; font: normal normal 500 24px/36px Paperlogy; }
.info .name { font: normal normal 700 24px/36px Paperlogy; }
.mp-card-item { width: 100%; }

.mp-card {
    border-radius: 4px;
    background: #FFFFFF;
    color: #000000;
    font: normal normal 400 14px/21px Paperlogy;
    text-align: left;
    padding: 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}

.mp-card-icon { width: 20px; height: 20px; }
.mp-card:hover { background: #FF4D00; color: #ffffff; cursor: pointer; }

.mp-card:hover .mp-card-icon, .mp-card.selected .mp-card-icon {
    margin-right: 5px;
    content: url("../images/ic_right_w.svg");
    width: 13px !important;
    height: 13px !important;
}
.mp-card.selected { background: #FF4D00; color: #ffffff; }

/* 탭 */
.tab-item { display: flex; justify-content: center; }
.tab { border-radius: 4px; background: #FCFAF9; font: normal normal 700 14px/21px Paperlogy; color: #969191; padding: 10px 15px; }
.tab.active { border: 1px solid #FF4D00; color: #FF4D00; background: #FFFFFF; }

/* table */
.table-container { width: 100%; margin: 20px auto; border-collapse: collapse; white-space: nowrap; overflow-x: auto; }
.table-container .table-header,
.table-container .table-row { display: flex; width: 100%; }
.table-header { color: #999999; font: normal normal 600 12px/18px Paperlogy; border-bottom: 1px solid #000000; }
.table-row:hover { background-color: #FFEDE5; }
.table-cell { min-width: 150px; padding: 10px; flex: 1; text-align: left; }
.table-card { border-bottom: 1px solid #EFEEEE; }
.table-row .table-cell { font: normal normal 400 12px/24px Paperlogy; color: #000000; }

/* 페이징 */
.pagination { font: normal normal 400 14px/21px Paperlogy; color: #969191; display: flex; justify-content: center; align-items: center; }
.pagination button { padding: 5px 10px; cursor: pointer; border: none; color: #969191; background: #FFFFFF; width: 30px; }

.intro-title { font: normal normal 700 16px/24px Paperlogy; color: #000000; }
.intro-txt { font: normal normal 400 14px/21px Paperlogy; color: #969191; }

.horizontal-line { position: absolute; left: 0; right: 0; height: 1px; background-color: #EFEEEE; margin: 0; }
.sub-txt { margin-top: 40px; text-align: left; color: #000000; font: normal normal 600 14px/21px Paperlogy; }
.advert { width: 100%; }
.advert img{ width: 100%; }

/* 견적 상세 */
.phone-name, .phone-name2.active { font: normal normal 700 16px/24px Paperlogy; color: #000000; }
.phone-title { margin-bottom: 5px; font: normal normal 500 16px/24px Paperlogy; color: #969191; }
.phone-name2 { font: normal normal 700 14px/22px Paperlogy; color: #969191; margin-top: 5px; }
.phone-info { margin-top: 10px; display: flex; justify-content: space-between; }
.price-name { color: #969191; font: normal normal 500 14px/21px Paperlogy; }
.price { color: #969191; font: normal normal 600 16px/24px Paperlogy; }
.price-table {
    width: 100%;
    max-width: 400px;
    border-collapse: collapse;
    margin: 0 auto;
    text-align: left;
    font-size: 14px;
}

.application-table { width: 100%; border-collapse: collapse; border-top: 1px solid #000000; }
.tbl-form { margin-top: 20px; width: 100%; }
.application-table th { font: normal normal 600 12px/18px Paperlogy; color: #969191; }

.price-table th,
.price-table td { padding: 10px; border-bottom: 1px solid #EFEEEE; }

.bor_ef { border-bottom: 1px solid #EFEEEE; }

.application-table th,
.application-table td { padding: 10px; }

.price-table th {
    background-color: #FCFAF9;
    color: #5F5959;
    font: normal normal 600 12px/18px Paperlogy;
    text-align: center;
}
.price-table td { font: normal normal 500 14px/21px Paperlogy; color: #969191; }
.application-table td { font: normal normal 400 12px/18px Paperlogy; color: #000000; }
.application-table { text-align: left; }
.price-table .tbl-info { color: #000000; font: normal normal 500 14px/21px Paperlogy; }
.price-table .tbl-price { color: #000000; font: normal normal 600 14px/21px Paperlogy; }

.price-info-txt {
    border-radius: 4px;
    padding: 20px;
    background: #FFEDE5;
    color: #FF4D00;
    font: normal normal 600 14px/21px Paperlogy;
}

.main-content { background: #292727; }

/* 셀렉트박스 */
.form-group { position: relative; }
.form-select:not([multiple]):not([size]) {
    background: #fff url(../images/ic_arrow_d.svg) no-repeat calc(100% - 7px) center;
    background-size: 15px 15px;
    padding-right: 34px;
}
.form-select.select-lg { padding: 8px 5px; font: normal normal 400 14px / 21px Paperlogy; color: #000000; }
.form-select {
    appearance: none;
    vertical-align: middle;
    width: 100%;
    background: #fff;
    border: none;
    border-bottom: 1px solid #fd541e;
    padding: 8px 5px;
    outline: none;
    transition: border-color 0.3s;
    font: normal normal 400 14px / 21px Paperlogy;
    color: #000000;
    box-sizing: border-box;
}
option { padding-right: 6px; }

/* 휴대폰 모델 선택 */
.p-card-item2.active { border: 1px solid #000000; box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1); transition: box-shadow 0.3s ease; }
.p-card-item2.active .phone-name2, .p-card-item2.active .phone-info .price, .p-card-item2.active .phone-title { color: #000000; }
.p-card-item2 {
    flex: 1 1 30%;
    max-width: 180px;
    background-color: #fff;
    padding: 15px;
    box-sizing: border-box;
    border: 1px solid #EFEEEE;
    border-radius: 20px;
    position: relative;
}
.p-card-item2 img { height: 80px; }

/*popup*/
.popup-layer{ display: flex; justify-content: center; position:fixed;z-index:-1;top:0;left:0;width:100%;height:100%;opacity:0;-webkit-transition:all 0.2s;-o-transition:all 0.2s; transition:all 0.2s; align-items: center}
.popup-layer.on{z-index:999;opacity:1}
.popup-wrap{position:absolute;left:50%;z-index:500;max-width:600px;width:calc(100% - 40px);margin:0 auto;background-color:#fff;border-radius:16px;-webkit-transform:translate(-50%, 0);-ms-transform:translate(-50%, 0);transform:translate(-50%, 0); }
.popup-layer .bg-dimmer{background: #000000 0% 0% no-repeat padding-box; opacity: 0.3; height:100%;position:fixed;z-index:400;width:100%;top:0;left:0}
.popup-header { position: relative; text-align: center; padding: 5px 20px; border-bottom: 1px solid #e4e7f0; }
.popup-body{padding:28px; text-align: center;}
.popup-body.is-scroll{height:496px;overflow-y:auto}
.popup-body .popup-title{color: #000000; font: normal normal 700 16px / 24px Paperlogy; margin-top: 10px; margin-bottom:20px}
.popup-body .form-item.item-keyword{max-width:240px}
.popup-body .list-body{margin-top:16px}
.popup-body .list-footer .btn-write{min-width:80px}
.popup-info-layer{position:fixed;z-index:-1;top:0;left: 0;width:100%;height:100%;opacity:0;-webkit-transition:all 0.2s;-o-transition:all 0.2s;transition:all 0.2s;padding:60px; }
.popup-info-layer.on{z-index:999;opacity:1}
.popup-info-wrap{max-width:400px; width:calc(100% - 40px); background-color:#fff; border:1px solid #D3D3D3; border-radius:4px; float: right; }
.popup-cont .label label { font: normal normal bold 16px/24px Paperlogy; letter-spacing: 0px; color: #000000; }
.popup-cont .label-sub label { font: normal normal 600 14px/21px Paperlogy; letter-spacing: 0px; color: #333333; }
.tlp label { font: normal normal normal 14px/21px Paperlogy; letter-spacing: 0px; color: #000000; }
.folder-icon { display: flex; }
.popup-cont ul li { display: flex; justify-content: space-between; }
.inp-box-fx { display: flex; }

.address-table { width: 100%; border-collapse: collapse; margin-top: 10px; }
.address-table tr { border: 1px solid #ddd; }
.address-table td { padding: 10px; }

.label { font: normal normal 400 14px / 21px Paperlogy; color: #969191; width: 40px; border-right: none; }
.address { color: #000000; font: normal normal 400 14px / 21px Paperlogy; text-align: left; }
.model-group .help-info:first-child { margin-top: 0; }
.model-group .help-info { margin-top: 10px; }
.lbl-btn { font: normal normal 600 14px / 21px Paperlogy; color: #969191; cursor: pointer; }
.phone-item { position: relative; }

.p-card-item2.active .btn { display: block; }

.btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: #FFFFFF;
    border: 1px solid #000000;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
}

.prev-btn { left: -20px; }
.next-btn { right: -20px; }
.btn:hover { background-color: #f0f0f0; }

.map-cont img { width: 100%; }
.title-item { display: flex; align-items: baseline; justify-content: space-between; }
.agree-info { font: normal normal 400 14px / 21px Paperlogy; color: #5F5959; }

.info-box { background: #FF4D00; font: normal normal 600 12px / 18px Paperlogy; color: #FFFFFF; padding: 10px; margin-top: 10px; }

/* 메뉴 */
.menu-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); z-index: 1000; }
.menu-bar { position: fixed; top: 0; right: 0; width: 300px; height: 100%; background: #FFFFFF; box-shadow: -2px 0 5px rgba(0, 0, 0, 0.2); }
.menu-bar.blk { background: #3A3737; }
.menu-title { font-size: 24px; font-weight: bold; margin-bottom: 20px; }
.menu-list { list-style: none; padding: 20px 25px; margin: 0; }
.menu-list li { margin-bottom: 30px; cursor: pointer; font: normal normal 400 16px / 24px Paperlogy; color: #000000; }
.menu-list.blk li { color: #FFFFFF; }
.menu-hd { padding: 11px 20px 11px 25px; background-color: #ffffff; border-bottom: 1px solid #EFEEEE; }
.menu-hd.blk { background: #3A3737; border-bottom: 1px solid #5F5959; }
.menu-sub-hd { display: flex; justify-content: space-between; align-items: center; }
.ic_del { width: 27px; display: block; }

/* 견적 요청 */
.quotation-container { position: relative; max-width: 500px; margin-inline: auto; }
.quotation-btn { width: 100% }
.quotation-section { margin-top: 20px; display: flex; flex-direction: column; align-items: start; }
.quotation-section > .center-btn { align-items: start; justify-content: start; height: max-content; gap: 10px; width: 100%; flex-wrap: wrap; }
.quotation-section > .center-btn > button {
    width: auto;
    min-width: 160px;
}
.quotation-section > .center-btn > button.selected {
    border-color: #FF4D00;
    background-color: #ffe6da;
}
.quotation-section .quotation-title { margin: 0; margin-bottom: 8px; flex-shrink: 0; font-size: 22px; color: #6a6a6a; }
.quotation-location { margin-block: 0; font-size: 14px; text-align: center }
.quotation-subtitle { text-align: center !important; }
.quotation-result {
    padding-top: 0;
}
.quotation-result > .contain {
    border-top: 1px solid #FF4D00;
    padding-top: 20px;
}
.quotation-phone-item {
    align-items: center;
    margin-top: 0;
    margin-bottom: 30px;
}
.quotation-phone-item > img {
    width: 180px;
    height: 160px;
    object-fit: contain;
}
.quotation-phone-item .price-table,
.quotation-info.phone-item .price-table {
    width: 100%;
    max-width: initial;
    margin: 0;
}
.quotation-phone-item > .col {
    display: flex;
    flex-direction: column;

    flex-grow: 1;
    flex-basis: 430px;

    max-width: 1000px;
}
.quotation-phone-item .price-table td.price {
    color: #FF4D00;
}
.quotation-info > .phone-item {
    align-items: center;
}
.quotation-info > .phone-item > img,
.quotation-detail .phone-item > img {
    width: 220px;
    height: 200px;
    object-fit: contain;
}
.quotation-info > .phone-item > .col {
    flex-grow: 1;
    max-width: 500px;
}
.quotation-info > .sort-item {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    gap: 0 5px;
    margin-top: 10px;
}
.quotation-info .shop-item {
    display: flex;
    gap: 0 10px;

    padding: 15px;
    border-radius: 10px;
    background-color: #FCFAF9;

    margin-top: 20px;
    /*border: 1px solid #d9d9d9;*/
}
.quotation-info .shop-item > .shop-detail {
    display: flex;
    flex-direction: column;

    flex-grow: 1;
}
.quotation-info .shop-item > .shop-detail > .price-table {
    margin: 0;
    max-width: initial;
}
.quotation-info .shop-item > .shop-detail > .price-table p {
    margin: 0;
}
.quotation-info .shop-item > img,
.quotation-thumbnail {
    width: 180px;
    /*height: 260px;*/
    object-fit: cover;
    border-radius: 5px;
}

.price-table .tbl-blue {
    color: rgb(70, 116, 194);
}
.price-table .tbl-red {
    color: #FF4D00;
}

.quotation-detail .shop-section {
    display: flex;
    margin-top: 10px;
}

.quotation-detail .shop-section > img {
    margin-right: 20px;
}

.quotation-detail .shop-table {
    /*flex-grow: 1;*/
    max-width: initial;
}

.quotation-detail .shop-table tr > td:first-child {
    min-width: 50px;
}

.quotation-detail .quotation-phone-item > .col {
    max-width: 400px;
}

.quotation-detail .quotation-price-table {
    max-width: initial;
}

.quotation-detail .quotation-price-table .form-select {
    padding-block: 0px;
}

.quotation-preapproval {
    color: #000 !important;
    font-size: 12px !important;
    font-weight: 400 !important;
}

.quotation-preapproval p,
.quotation-price-table p {
    margin: 0;
}

.quotation-preapproval a {
    color: initial;
}

.quotation-preapproval > .verify-list {
    margin-bottom: 10px;
}

.quotation-preapproval > .verify-list a:not(:first-child) {
    margin-left: 10px;
}

.quotation-preapproval > .verify-list img {
    width: 100px;
    height: 100px;
}

.inquiry-table {
    max-width: initial;
    white-space: nowrap;
}

.inquiry-table pre.answer {
    margin: 0;
    font: normal normal 400 13px/21px Paperlogy;
    color: #000;

    min-height: 100px;
    white-space: pre-wrap;
    word-break: break-all;
}

.inquiry-table .tbl-info {
    font-weight: 400;
}

.inquiry-register {
    flex-direction: column;
}

.inquiry-register .card {
    max-width: initial;
}

.sort-btn {
    border-radius: 20px;
    background: #EFEEEE;
    font: normal normal 400 13px/21px Paperlogy;
    color: #969191;
    padding: 5px 15px;
    border: none;
    cursor: pointer;
}
.sort-btn.active {
    color: #fff;
    background-color: #FF4D00;
    font-weight: 500;
}

/* 모바일 및 태블릿용 스타일 (1024px 이하) */
@media (max-width: 1024px) {
    .quotation-section:not(:first-child) { margin-top: 30px }
    .quotation-section > .center-btn > button { min-width: 100px; width: max-content !important; }
    .quotation-info .shop-item {
        flex-direction: column;
    }
    .quotation-info .shop-item > img,
    .quotation-thumbnail {
        margin: 0 auto 10px auto !important;
        display: block;
        object-fit: cover;
        height: 180px;
        width: auto;
    }
    .quotation-detail .shop-section {
        flex-direction: column;
    }

/* 용량 선택 테이블 */
.volume-table,table { width: 100%; }
.volume-table th { background-color: lightgray; height: 30px }
.volume-table td { height: 30px }
.volume-table td:first-child { text-align: left; padding-left: 10px; }
.volume-table td:last-child { text-align: right; padding-right: 10px; }
.volume-table tr:hover { background-color: lightblue; }
.volume-table tr.active { background-color: lightblue; }
.volume-table, .volume-table th, .volume-table td {
    border: 1px solid #ececec;
    border-collapse: collapse;
}
