@charset "utf-8";

 
/* 서브 공통 */
.sub-hero {display:flex; align-items:center; height:clamp(120px, calc(260 / var(--inner) * 100vw), 260px); background-position:50% 50%; background-size:cover; background-repeat:no-repeat; color:#fff;}
.sub-hero.bg-1 {background-image:url('/html/front/images/common/sv1.jpg');}
.sub-hero.bg-2 {background-image:url('/html/front/images/common/sv2.jpg');}
.sub-hero.bg-3 {background-image:url('/html/front/images/common/sv3.jpg');}
.sub-hero.bg-4 {background-image:url('/html/front/images/common/sv4.jpg');}
.sub-hero.bg-5 {background-image:url('/html/front/images/common/sv5.jpg');}
.sub-hero .contain {width:100%; display:flex; flex-direction:column; gap:var(--space-10);}
.sub-hero p {font-size:var(--font-size-15); font-weight:500; line-height:1.33em;}
.sub-hero h2 {font-size:var(--font-size-40); font-weight:700; line-height:1.25em;}

.sub-content {padding-top:20px; padding-bottom:var(--space-100);}

.breadcrumbs {color:#9CA3AF; font-size:var(--font-size-13); line-height:1.25em; letter-spacing:0; margin-bottom:var(--space-50);}
.breadcrumbs em {font-style:normal; color:var(--color-secondary);}

.categorys { margin-bottom:var(--space-50);}
.categorys ul {display:flex; flex-wrap:wrap; gap:var(--space-10);}
.categorys ul li a {display:block; min-width:130px; padding:8px 16px; border:1px solid rgba(0, 0, 0, 0.08); border-radius:50px; background:#fff; font-size:15px; font-weight:500; line-height:1.2em; text-align:center;}
.categorys ul li.active a {background:var(--color-secondary); color:#fff; font-weight:700;}
.categorys.center ul {justify-content:center;}

.bottom-buttons {text-align:center; margin-top:var(--space-50);}

.more-btn {display:inline-flex; justify-content:center; align-items:center; width:148px; height:45px; gap:10px; font-size:16px; font-weight:500; line-height:1.2em;}

.sub-flex {display:flex; align-items:flex-start; gap:var(--space-40);}
.sub-flex .lnb-wrap {flex-shrink:0; width:200px; background:#fff; border:1px solid #E5E5E5; border-radius:8px; overflow:hidden;}
.sub-flex .lnb-wrap .title {min-height:50px; display:flex; align-items:center; padding:var(--space-10) var(--space-15); font-size:var(--font-size-18); font-weight:500; line-height:1.5em; color:#2A2A2A; letter-spacing:-0.01em; border-bottom:1px solid #F5F5F5;}
.sub-flex .lnb-wrap .lnb {display:flex; flex-direction:column;}
.sub-flex .lnb-wrap .lnb > li {border-bottom:1px solid #F5F5F5;}
.sub-flex .lnb-wrap .lnb > li:last-child {border-bottom:none !important;}
.sub-flex .lnb-wrap .lnb > li > a {display:flex; align-items:center; justify-content:space-between; min-height:55px; padding:var(--space-10) var(--space-15); background:#fff; font-size:15px; font-weight:400; line-height:1.2em; letter-spacing:-.03em;} 
.sub-flex .lnb-wrap .lnb > li.single.active {border-bottom-color:#E5E7EB;} 
.sub-flex .lnb-wrap .lnb > li.single.active > a {background:#F4F4F4; color:var(--color-primary); font-weight:700;}
.sub-flex .lnb-wrap .lnb > li.multi.active > a:after {content:''; flex-shrink:0; width:10px; height:10px; background:url('/html/front/images/common/lnb-active.svg') 50% 50%/contain no-repeat;}
.sub-flex .lnb-wrap .lnb > li > ul {border-top:1px solid #F5F5F5;}
.sub-flex .lnb-wrap .lnb > li > ul > li {border-bottom:1px solid #F5F5F5;}
.sub-flex .lnb-wrap .lnb > li > ul > li:last-child {border-bottom:none !important;}
.sub-flex .lnb-wrap .lnb > li > ul > li > a {display:flex; align-items:center; min-height:50px; padding:var(--space-10) var(--space-20); background:#fff; font-size:14px; font-weight:400; line-height:1.2em; letter-spacing:-.03em;}
.sub-flex .lnb-wrap .lnb > li > ul > li.active {position:relative; border-bottom:1px solid #E5E7EB !important;}
.sub-flex .lnb-wrap .lnb > li > ul > li.active > a {background:#F0F6F1; color:var(--color-primary); font-weight:700;}
.sub-flex .body-content {flex:1; min-width:0;}
.sub-flex .breadcrumbs {margin-bottom:var(--space-20);}
.sub-flex .categorys {margin-bottom:var(--space-20);}

/* 회사소개 */
.about-sec {padding:var(--space-80) 0 var(--space-100); overflow:hidden; background:#fff;}
.about-sec.first {background:#E8E7E7;}
.about-sec.bg {background:#EDEDED;}

.greeting {padding:var(--space-40); border:1px solid #ddd; border-radius:var(--radius-10); background:#fff;}
.greeting .lead {margin-bottom:var(--space-6); font-size:var(--font-size-17); line-height:1.5em; letter-spacing:-0.01em; color:var(--color-primary);}
.greeting .tit {margin-bottom:var(--space-30); font-size:var(--font-size-26); font-weight:700; line-height:1.3em; letter-spacing:-0.01em; color:var(--color-primary);}
.greeting .txt {font-size:var(--font-size-16); line-height:1.875em; color:#000;}

.strength {display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--space-20);}
.strength .item {display:flex; flex-direction:column; gap:var(--space-10); padding:var(--space-25) var(--space-30); border:1px solid #ddd; border-radius:var(--radius-10); background:#fff;}
.strength .item .num {margin-bottom:var(--space-20); font-size:var(--font-size-30); font-weight:700; line-height:1em; color:var(--color-primary);}
.strength .item h3 {font-size:var(--font-size-26); font-weight:700; line-height:1.38em; letter-spacing:-0.01em;}
.strength .item p {font-size:var(--font-size-15); line-height:1.6em; color:#666;}

.certificates {position:relative;}
.certificates .swiper {overflow:visible;}
.certificates .swiper-slide {
    width:clamp(150px, calc(300 / var(--inner) * 100vw), 300px);
    position:relative; /* 📝 텍스트 배치를 위해 기준점 설정 */
}
.certificates .swiper-slide img {display:block; width:100%; aspect-ratio:50/71;}

/* 📝 새롭게 추가된 1줄 bottom 영역 스타일 */
.certificates .swiper-slide .cert-desc {
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    padding:10px;
    background:rgba(0, 0, 0, 0.6); /* 어두운 반투명 배경으로 글씨 가독성 확보 */
    color:#fff;
    font-size:0.85rem;
    text-align:center;
    box-sizing:border-box;

    /* 💡 1줄 말줄임(Ellipsis) 핵심 스펙 */
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.certificates .button {position:absolute; top:50%; z-index:10; transform:translateY(-50%); display:flex; align-items:center; justify-content:center; width:45px; height:45px; border-radius:50%; background:#fff; box-shadow:0 4px 16px 0 rgba(0, 0, 0, 0.10); cursor:pointer;}
.certificates .button svg {display:block;}
.certificates .prev {left:-20px;}
.certificates .next {right:-20px;}

.history-nav {margin-bottom:var(--space-50);}
.history-nav .tabs {display:flex; flex-wrap:wrap; gap:var(--space-10);}
.history-nav .tabs li a {display:block; padding:8px 16px; border:1px solid rgba(0, 0, 0, 0.08); border-radius:50px; background:#fff; font-size:15px; font-weight:500; line-height:1.2em; color:#000;}
.history-nav .tabs li.active a {background:var(--color-primary); color:#fff; font-weight:700;}
.history-content {padding:23px 30px; border-radius:var(--radius-20); border:1px solid #E5E7EB; background:#fff;}
.history-content .items {display:grid; grid-template-columns:repeat(3, 1fr); gap:28px;}
.history-content .item h3 {display:inline-flex; align-items:center; justify-content:center; align-self:flex-start; min-width:70px; height:27px; margin:0 0 15px; padding:9px 17px; border:1px solid rgba(0, 0, 0, 0.08); border-radius:30px; background:var(--color-primary); font-size:var(--font-size-15); font-weight:700; line-height:normal; color:#fff;}
.history-content .item ul {display:flex; flex-direction:column; gap:8px}
.history-content .item ul li {display:flex; align-items:flex-start; gap:5px; font-size:15px; font-weight:400; line-height:1.5em; color:#374151; word-break:keep-all;}
.history-content .item ul li::before {content:''; flex-shrink:0; margin-top:.5em; width:6px; height:6px; border-radius:50%; background:#3E6534;}

.directions {display:flex; gap:28px; padding:23px 30px; border-radius:var(--radius-20); border:1px solid #E5E7EB; background:#fff;}
.directions .map-area {flex:1;}
.directions .map-area .root_daum_roughmap {position:relative; width:100% !important; height:100% !important; border-radius:10px; overflow:hidden;}
.directions .map-area .root_daum_roughmap .wrap_map {width:100%; height:100% !important;}
.directions .map-area .root_daum_roughmap .wrap_controllers {display:none !important;}
.directions .map-area .root_daum_roughmap .cont {display:none !important;}
.directions .info-area {flex:1; padding:10px 0;}
.directions .info-area h3 {font-size:var(--font-size-18); font-weight:700; line-height:normal; color:#2A2A2A;}
.directions .info-area .items {display:flex; flex-direction:column;}
.directions .info-area .item {display:flex; gap:5px 10px; align-items:flex-start; padding:20px 0; border-bottom:1px solid #E5E7EB;}
.directions .info-area .item .icon {flex-shrink:0; width:35px;}
.directions .info-area .item .text {display:flex; flex-direction:column; gap:3px;}
.directions .info-area .item .text .tit {font-size:var(--font-size-15); font-weight:400; line-height:1.5em; color:#6B7280;}
.directions .info-area .item .text .txt {font-size:var(--font-size-16); font-weight:600; line-height:1.5em; color:#2A2A2A;}
.directions .info-area .item .text .desc {font-size:var(--font-size-15); font-weight:400; line-height:1.5em; color:#6B7280;}

/* 공공디자인 */
.design-list {display:grid; grid-template-columns:repeat(3, 1fr); gap:50px 25px;}
.design-list .link-item {display:flex; flex-direction:column; gap:11px;}
.design-list .link-item .thumb {width:100%; aspect-ratio:410/290; overflow:hidden;}
.design-list .link-item .thumb img {display:block; width:100%; height:100%; object-fit:cover; transition:.4s linear;}
.design-list .link-item:hover .thumb img {transform:scale(1.05);}
.design-list .link-item .info {display:flex; flex-direction:column; gap:2px;}
.design-list .link-item .info .tit {font-size:var(--font-size-18); font-weight:700; line-height:1.5em; color:#2A2A2A;}
.design-list .link-item .info .txt {font-size:var(--font-size-15); font-weight:500; line-height:1.5em; color:#434343;}

.design-detail-heading {display:flex; flex-direction:column; align-items:center; gap:40px; padding:var(--space-50) 0; text-align:center;}
.design-detail-head {display:flex; flex-direction:column; align-items:center; gap:23px; width:100%;}
.design-detail-head .category {display:inline-flex; align-items:center; justify-content:center; margin:0; padding:8px 30px; border:1px solid rgba(0, 0, 0, 0.08); border-radius:30px; background:#2A2A2A; font-size:var(--font-size-15); font-weight:700; line-height:normal; color:#fff;}
.design-detail-head .title {margin:0; font-size:var(--font-size-45); font-weight:500; line-height:1.3em; color:#2A2A2A; letter-spacing:-0.01em; word-break:keep-all;}
.design-detail-project {display:grid; grid-template-columns:repeat(3, 1fr); width:100%; max-width:802px; min-height:86px; margin:0; border:1px solid #E5E5E5; border-radius:var(--radius-10);}
.design-detail-project .project-item {display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; min-width:0; padding:10px 15px; text-align:center;}
.design-detail-project .project-item + .project-item {border-left:1px solid #E5E5E5;}
.design-detail-project dt {font-size:var(--font-size-13); font-weight:400; line-height:1.5em; color:#888; letter-spacing:0;}
.design-detail-project dd {margin:0; font-size:var(--font-size-16); font-weight:400; line-height:1.5em; color:#2A2A2A; letter-spacing:-0.01em; word-break:keep-all;}
.design-detail-content {display:flex; flex-direction:column; gap:var(--space-50);}
.design-detail-content img {display:block; width:100%;}

/* 게시대 - 목록 */
.signboard-heading {display:flex; flex-direction:column; gap:10px; margin-bottom:var(--space-20);}
.signboard-heading p {font-size:var(--font-size-20); font-weight:500; line-height:1.3em; color:#2A2A2A; letter-spacing:-0.01em;}
.signboard-heading h2 {font-size:var(--font-size-36); font-weight:700; line-height:1.3em; color:#2A2A2A; letter-spacing:-0.01em;}

.signboard-summary {display:grid; grid-template-columns:repeat(4, 1fr); gap:10px; margin-bottom:var(--space-40);}
.signboard-summary .summary-card {padding:23px; border-radius:var(--radius-10); background:#FAFAFA; border:1px solid rgba(0, 0, 0, 0.00);}
.signboard-summary .summary-card .label {margin-bottom:var(--space-10); font-size:var(--font-size-15); font-weight:400; line-height:normal; color:#2A2A2A;}
.signboard-summary .summary-card .value {margin-bottom:var(--space-10); font-size:var(--font-size-15); font-weight:400; line-height:normal; color:#2A2A2A;}
.signboard-summary .summary-card .value strong {font-size:var(--font-size-32); font-weight:700; line-height:normal;}
.signboard-summary .summary-card .value .unit {font-size:var(--font-size-15); font-weight:400;}
.signboard-summary .summary-card .note {margin:0; font-size:var(--font-size-13); font-weight:400; line-height:normal; color:#258AFE;}

.top-signboard-hero {position:relative; height:340px; margin-bottom:var(--space-40); overflow:hidden;}
.top-signboard-hero .bg {position:absolute; inset:0;}
.top-signboard-hero .bg::after {content:''; position:absolute; inset:0; background:linear-gradient(to right, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 56.106%);}
.top-signboard-hero .bg img {display:block; width:100%; height:100%; object-fit:cover;}
.top-signboard-hero .inner {position:relative; display:flex; align-items:center; height:100%; z-index:1; padding:45px 50px;}
.top-signboard-hero .copy {display:flex; flex-direction:column; gap:13px; padding:5px 0;}
.top-signboard-hero .tit {margin:0; font-size:clamp(24px, calc(34 / var(--inner) * 100vw), 34px); font-weight:700; line-height:1.294em; color:#fff; letter-spacing:-0.01em; word-break:keep-all;}
.top-signboard-hero .txt {margin:0; font-size:var(--font-size-16); font-weight:400; line-height:1.5em; color:#fff; word-break:keep-all;}
.top-signboard-hero .tags {display:flex; flex-wrap:wrap; gap:10px;}
.top-signboard-hero .tag {display:inline-flex; align-items:center; justify-content:center; min-height:36px; padding:8px 15px; border:1px solid rgba(255, 255, 255, 0.2); border-radius:30px; background:rgba(255, 255, 255, 0.1); font-size:var(--font-size-13); font-weight:400; line-height:normal; color:#fff; white-space:nowrap;}

.signboard-board {display:flex; gap:28px; align-items:start;}
.signboard-board .board-tit-wrap {margin:0 0 13px; display:flex; align-items:flex-start; justify-content:space-between; gap:8px; flex-wrap:wrap;}
.signboard-board .board-tit-wrap .board-tit {margin:0;}
.signboard-board .board-tit-wrap .btn-pack.small {margin-top:-8px;}
.signboard-board .board-tit {margin:0 0 13px; font-size:var(--font-size-18); font-weight:500; line-height:normal; color:#2A2A2A; letter-spacing:-0.05em;}
.signboard-board .board-list-area {flex:1; min-width:0;}
.signboard-board .board-list {display:grid; grid-template-columns:1fr; gap:10px;}
.signboard-board .board-item {display:grid; grid-template-columns:100px minmax(0, 1fr) auto; align-items:center; border:1px solid #E5E7EB; border-radius:var(--radius-10); background:#fff; overflow:hidden; text-decoration:none; color:inherit;}
.signboard-board .board-item:hover {background:#F4F4F4;}
.signboard-board .board-item .thumb {width:100px; height:100px; background:#1A1A2E;}
.signboard-board .board-item .thumb img {display:block; width:100%; height:100%; object-fit:cover;}
.signboard-board .board-item .info {display:grid; grid-template-rows:auto auto auto; gap:5px; align-content:center; min-height:100px; padding:10px 14px;}
.signboard-board .board-item .name {margin:0; font-size:var(--font-size-18); font-weight:600; line-height:1.167em; color:#2A2A2A; word-break:keep-all;}
.signboard-board .board-item .addr {margin:0; font-size:var(--font-size-15); font-weight:400; line-height:normal; color:#888;}
.signboard-board .board-item .tags {display:flex; flex-wrap:wrap; gap:6px;}
.signboard-board .board-item .tag {display:inline-flex; align-items:center; padding:3px 7px; border-radius:5px; font-size:var(--font-size-13); font-weight:400; line-height:normal;}
.signboard-board .board-item .tag.is-ok {background:#E8F4EC; color:#2F7D4B;}
.signboard-board .board-item .tag.is-close {background:#FDECEC; color:#D64545;}
.signboard-board .board-item .tag.is-price {background:#EEF3FA; color:#3D6FAE;}
.signboard-board .board-item .tag.is-size {background:#F3EEF8; color:#7A5AA6;}
.signboard-board .board-item .arrow {display:flex; align-items:center; padding:0 14px; font-size:22px; font-weight:400; line-height:normal; color:#D1D5DB;}
.signboard-board .board-list-more {display:flex; justify-content:center; padding-top:3px;}
.signboard-board .board-list-more .more-btn {display:inline-flex; justify-content:center; align-items:center; width:148px; height:45px; gap:10px; font-size:var(--font-size-16); font-weight:500; line-height:1.2em; color:#2A2A2A; text-decoration:none;}
/* 기본적으로 6번째 아이템부터는 숨김 처리 */
.board-list .board-item:nth-child(n+6) {
    display:none;
}

/* show-all 클래스가 추가되면 숨겨진 아이템들을 다시 노출 */
.board-list.show-all .board-item:nth-child(n+6) {
    display:flex; /* 기존 board-item의 display 속성에 맞춰 block 등으로 변경 가능 */
}
.signboard-board .board-side-area {width:clamp(280px, calc(388 / var(--inner) * 100vw), 388px); display:flex; flex-direction:column; gap:11px;}
.signboard-board .board-map .map-view {height:324px; border-radius:var(--radius-10); overflow:hidden; background:#E5E7EB;}
.signboard-board .board-map .map-view img {display:block; width:100%; height:100%; object-fit:cover;}
.signboard-board .board-guide {min-height:213px; padding:17px 40px 20px 20px; border:1px solid #E5E7EB; border-radius:var(--radius-10); background:#FBF9F6;}
.signboard-board .board-guide .guide-tit {margin:0 0 9px; font-size:var(--font-size-18); font-weight:700; line-height:normal; color:var(--color-secondary); letter-spacing:-0.05em;}
.signboard-board .board-guide ul {display:grid; grid-template-columns:1fr; gap:0; margin:0; padding:0; list-style:none;}
.signboard-board .board-guide ul li {position:relative; padding-left:12px; font-size:var(--font-size-16); font-weight:400; line-height:1.625em; color:#2A2A2A; letter-spacing:-0.03em; word-break:keep-all;}
.signboard-board .board-guide ul li::before {content:'·'; position:absolute; left:0; top:0;}

.signboard-cta {display:flex; align-items:center; justify-content:space-between; gap:var(--space-20); margin-top:var(--space-40); padding:14px 17px; border:1px solid #C5DEFB; border-radius:9px; background:#E5F1FF;}
.signboard-cta .cta-text {font-size:var(--font-size-18); font-weight:500; line-height:normal; color:var(--color-primary); word-break:keep-all;}
.signboard-cta .btn-pack {flex-shrink:0;}

/* 게시대 - 상세 */
.signboard-detail {display:grid; grid-template-columns:clamp(280px, calc(487 / var(--inner) * 100vw), 487px) minmax(0, 1fr); gap:30px; align-items:start; margin-bottom:var(--space-50);}
.signboard-detail .detail-media {position:relative; aspect-ratio:487/325; overflow:hidden; background:#E5E7EB;}
.signboard-detail .detail-media img {display:block; width:100%; height:100%; object-fit:cover;}
.signboard-detail .view-tabs {position:absolute; top:14px; right:14px; display:flex; gap:5px;}
.signboard-detail .view-tabs button {display:inline-flex; align-items:center; justify-content:center; min-width:54px; padding:3px; border:0; border-radius:20px; background:#000; font-size:var(--font-size-13); font-weight:400; line-height:normal; color:#fff; cursor:pointer;}
.signboard-detail .view-tabs button.is-active {background:#fff; color:#000;}
.signboard-detail .detail-info {display:flex; flex-direction:column; gap:15px; min-height:325px;}
.signboard-detail .detail-head {display:grid; grid-template-columns:1fr; gap:10px;}
.signboard-detail .detail-head .region {margin:0; font-size:var(--font-size-20); font-weight:500; line-height:normal; color:#2A2A2A; letter-spacing:-0.05em;}
.signboard-detail .detail-head .tit {margin:0; font-size:var(--font-size-36); font-weight:700; line-height:1.25em; color:#2A2A2A; letter-spacing:-0.03em; word-break:keep-all;}
.signboard-detail .detail-meta {display:grid; grid-template-columns:1fr; gap:10px; align-content:start; margin:0; padding:0; list-style:none;}
.signboard-detail .detail-meta li {display:flex; align-items:center; gap:5px; font-size:var(--font-size-15); font-weight:400; line-height:normal; color:#888; word-break:keep-all;}
.signboard-detail .detail-meta li::before {content:''; flex-shrink:0; width:5px; height:5px; border-radius:3px; background:#3E6534;}
.signboard-detail .detail-btn {display:inline-flex; align-items:center; justify-content:center; align-self:start; min-width:253px; height:50px; padding:15px 30px; border-radius:var(--radius-10); background:var(--color-secondary); font-size:var(--font-size-15); font-weight:700; line-height:1.2em; letter-spacing:-0.05em; color:#fff; text-decoration:none; white-space:nowrap;}

/* 게시대 - 가이드라인 */
.guideline {display:grid; grid-template-columns:1fr; gap:30px;}
.guide-box {display:grid; grid-template-columns:1fr; gap:20px; padding:21px; border:1px solid #E5E7EB; border-radius:var(--radius-10); background:#fff;}
.guide-box.guide-faq {gap:16px;}
.guide-head {display:flex; align-items:center; gap:8px; padding-bottom:8px;}
.guide-head h2 {margin:0; font-size:var(--font-size-18); font-weight:700; line-height:1.333em; color:#2A2A2A;}
.guide-icon {flex-shrink:0; width:28px; height:28px;}
.guide-row {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:20px;}
.guide-block {display:flex; flex-direction:column; gap:12px; min-width:0;}
.guide-block.is-full {grid-column:1 / -1;}
.guide-sub {padding-left:10px; border-left:3px solid var(--color-primary); font-size:var(--font-size-15); font-weight:700; line-height:1.387em; color:var(--color-primary);}
.guide-body {flex:1; padding:14px; border-radius:6px; background:#FAFAFA;}
.guide-body p {margin:0; font-size:var(--font-size-15); font-weight:400; line-height:1.733em; color:#2A2A2A; word-break:keep-all;}
.guide-body strong {font-weight:700;}
.guide-body .file-tag {display:inline-flex; align-items:center; margin-right:6px; padding:1px 7px; border-radius:5px; background:#EFF6FF; font-size:var(--font-size-13); font-weight:500; line-height:1.692em; color:#2563EB; vertical-align:middle;}
.guide-figures {display:grid; grid-template-columns:1fr; gap:12px;}
.guide-figures img {display:block; max-width:100%; height:auto;}
.guide-example {display:grid; grid-template-columns:1fr; gap:2px;}
.guide-example .ex-tit {margin:0; font-size:var(--font-size-15); font-weight:600; line-height:1.733em; color:#2A2A2A;}
.guide-example .ex-txt {margin:0; font-size:var(--font-size-14); font-weight:400; line-height:1.543em; color:#6B7280;}
.guide-example img {display:block; max-width:561px; width:100%; height:auto;}
.color-chips {display:grid; grid-template-columns:repeat(3, 182px); gap:12px;}
.color-chip {display:grid; grid-template-columns:34px 1fr; align-items:center; min-height:25px; border:1px solid #E5E7EB; background:#fff; overflow:hidden;}
.color-chip .chip {display:block; min-height:25px;}
.color-chip .label {padding:0 8px; font-size:var(--font-size-14); font-weight:400; line-height:1.286em; color:#2A2A2A; text-align:center; letter-spacing:-0.005em;}
.guide-steps {display:grid; grid-template-columns:1fr; gap:10px;}
.guide-steps > li {position:relative; display:grid; grid-template-columns:auto 1fr; gap:12px; padding-bottom:22px;}
.guide-steps > li:not(:last-child)::before {content:''; position:absolute; left:7px; top:26px; bottom:0; width:1.5px; background:#E5E7EB;}
.guide-steps > li:last-child {padding-bottom:0;}
.step-num {position:relative; z-index:1; display:flex; align-items:center; justify-content:center; width:16px; height:16px; margin-top:2px; border-radius:8px; font-size:9px; font-weight:700; line-height:1.6em; color:#2A2A2A; background:#ddd;}
/* .step-num.is-1 {background:#2E7D5B;}
.step-num.is-2 {background:#8FAF8E;}
.step-num.is-3 {background:#2F6F73;}
.step-num.is-4 {background:#D97642;} */
.step-body {display:grid; grid-template-columns:1fr; gap:4px; min-width:0;}
.step-tit {margin:0; font-size:var(--font-size-15); font-weight:700; line-height:1.387em; color:#2A2A2A;}
.step-txt {margin:0; font-size:var(--font-size-14); font-weight:400; line-height:1.543em; color:#6B7280;}
.step-badge {display:inline-flex; align-items:center; margin-left:7px; padding:2px 8px; border-radius:5px; background:#EFF6FF; font-size:10px; font-weight:700; line-height:1.6em; color:#2563EB; vertical-align:middle;}
.faq-list {display:grid; grid-template-columns:1fr; gap:10px;}
.faq-item {border:1px solid #E5E7EB; border-radius:var(--radius-10); overflow:hidden; background:#FAFAFA;}
.faq-item.is-open {background:#FAFAFA;}
.faq-q {display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; width:100%; padding:15px 16px; border:0; background:#fff; text-align:left; cursor:pointer;}
.faq-mark {display:flex; align-items:center; justify-content:center; width:24px; height:24px; border-radius:12px; background:var(--color-secondary); font-size:11px; font-weight:700; line-height:1.6em; color:#fff;}
/* .faq-item:not(.is-open):not(.active) .faq-mark {background:#F0F6F1; color:var(--color-primary);} */
.faq-tit {font-size:15px; font-weight:500; line-height:1.4em; color:#111827;}
.faq-toggle {font-size:18px; font-weight:400; line-height:1.6em; color:#9CA3AF; transition:transform .2s ease;}
.faq-item.is-open .faq-q,
.faq-item.active .faq-q {background:#FAFAFA;}
.faq-item.is-open .faq-toggle,
.faq-item.active .faq-toggle {transform:rotate(45deg);}
.faq-a {display:none; padding:0 16px 16px 52px; border-top:1px solid #E5E5E5; background:#fff;}
.faq-item.is-open .faq-a,
.faq-item.active .faq-a {padding-top:16px;}
.faq-a p {margin:0 0 8px; font-size:15px; font-weight:400; line-height:1.647em; color:#4B5563;}
.faq-a .date-tag {display:inline-flex; padding:0 6px; border-radius:4px; background:#EFF6FF; font-weight:500; color:#2563EB;}
.faq-note {margin-top:12px; padding:9px 12px; border-radius:6px; background:#F0F6F1;}
.faq-note p {margin:0; font-size:14px; font-weight:400; line-height:1.629em; color:var(--color-primary);}
.guide-contact {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:12px;}
.guide-contact-item {display:flex; flex-direction:column; justify-content:center; gap:10px; min-height:100px; padding:15px 23px; border-radius:10px; background:#FAFAFA;}
.guide-contact-region {display:flex; align-items:center; gap:5px; margin:0; font-size:var(--font-size-15); font-weight:400; line-height:normal; color:#2A2A2A; word-break:keep-all;}
.guide-contact-region .icon {display:block; flex-shrink:0; width:16px; height:16px;}
.guide-contact-tel {margin:0; font-size:var(--font-size-24); font-weight:700; line-height:normal; color:#2A2A2A;}
.guide-contact-tel a {color:inherit; text-decoration:none;}
.guide-box.guide-contact {gap:30px;}
.guide-contact-intro {display:grid; grid-template-columns:1fr; gap:16px;}
.guide-contact-intro .guide-head {padding-bottom:0;}
.guide-contact-lead {display:grid; grid-template-columns:1fr; gap:0;}
.guide-contact-lead p {margin:0; font-size:var(--font-size-15); font-weight:400; line-height:1.647em; color:#2A2A2A; word-break:keep-all;}
.guide-contact-lead strong {font-weight:700;}
.guide-contact-grid {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:16px;}
.guide-contact-col {display:flex; flex-direction:column; gap:16px; min-width:0;}
.guide-sub--account {display:flex; flex-wrap:wrap; align-items:baseline; gap:4px; padding-left:10px; border-left:3px solid var(--color-primary); font-weight:700; line-height:1.3em; color:var(--color-primary);}
.guide-sub--account .guide-sub-name {font-size:16px; font-weight:700;}
.guide-sub--account .guide-sub-label {font-size:var(--font-size-15); font-weight:500;}
.guide-account-table {border:1px solid #E5E5E5; border-radius:10px; background:#fff; overflow:hidden;}
.guide-account-table table {width:100%; border-collapse:collapse;}
.guide-account-table caption.sr-only {position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
.guide-account-table thead th {padding:15px; border-bottom:2px solid #E5E7EB; background:#F9FAFB; font-size:14px; font-weight:600; line-height:1.5em; color:#2A2A2A; text-align:center; letter-spacing:-0.15px;}
.guide-account-table tbody th,
.guide-account-table tbody td {padding:15px; border-bottom:1px solid #E5E7EB; vertical-align:middle; text-align:center;}
.guide-account-table tbody tr:last-child th,
.guide-account-table tbody tr:last-child td {border-bottom:0;}
.guide-account-table tbody th {font-size:14px; font-weight:400; line-height:1.5em; color:#2A2A2A;}
.guide-account-table tbody td:nth-child(2) {font-size:var(--font-size-15); font-weight:400; line-height:1.4em; color:#2A2A2A;}
.guide-account-table tbody td:nth-child(3) {font-size:14px; font-weight:400; line-height:1.5em; color:#666;}
.guide-account-table tbody td a {color:inherit; text-decoration:none;}
.guideline .signboard-cta {margin-top:0;}

/* 게시대 - 신청하기 */
.signboard-steps {display:flex; align-items:center; margin-bottom:var(--space-30); padding:11px var(--space-24); border-bottom:1px solid #E5E7EB; background:#fff;}
.signboard-steps .step {display:flex; align-items:center; gap:6px;}
.signboard-steps .step .num {display:flex; align-items:center; justify-content:center; width:20px; height:20px; border-radius:var(--radius-10); font-size:10px; font-weight:700; line-height:normal;}
.signboard-steps .step .tit {font-size:var(--font-size-15); line-height:normal; white-space:nowrap;}
.signboard-steps .step.is-current .num {background:var(--color-primary); color:#fff;}
.signboard-steps .step.is-current .tit {font-weight:500; color:#2A2A2A;}
.signboard-steps .step.is-done .num {background:var(--color-primary); color:#fff;}
.signboard-steps .step.is-done .tit {font-weight:500; color:#2A2A2A;}
.signboard-steps .step:not(.is-current):not(.is-done) .num {border:1px solid #E5E7EB; background:#F3F4F6; color:#9CA3AF;}
.signboard-steps .step:not(.is-current):not(.is-done) .tit {font-weight:400; color:#9CA3AF;}
.signboard-steps .sep {padding:0 10px; font-size:var(--font-size-14); font-weight:400; line-height:normal; color:#D1D5DB;}

.signboard-notice {display:flex; align-items:center; gap:8px; margin-bottom:var(--space-30); padding:11px 15px; border:1px solid #C5DEFB; border-radius:8px; background:#EFF6FF; }
.signboard-notice-icon {display:block; flex-shrink:0; width:17px; height:17px;}
.signboard-notice-txt {margin:0; font-size:var(--font-size-15); font-weight:700; line-height:normal; color:#2563EB; word-break:keep-all;}

.signboard-form-inner {display:flex; align-items:flex-start; gap:30px;}
.signboard-form-main {flex:1; min-width:0; display:grid; grid-template-columns:1fr; gap:14px;}
.signboard-form-aside {flex-shrink:0; width:clamp(240px, calc(320 / var(--inner) * 100vw), 320px); display:grid; grid-template-columns:1fr; gap:12px; position:sticky; top:calc(var(--header-height) + 20px); align-self:flex-start;}
.form-section {display:grid; grid-template-columns:1fr; gap:13px; padding:19px; border:1px solid #E5E7EB; border-radius:var(--radius-10); background:#fff;}
.form-section-head {display:flex; align-items:flex-start; gap:8px;}
.form-section-head--simple {align-items:center;}
.form-section-head--simple h3 {margin:0; font-size:var(--font-size-18); font-weight:600; line-height:normal; color:#2A2A2A;}
.form-section-num {display:flex; align-items:center; justify-content:center; flex-shrink:0; width:22px; height:22px; border-radius:11px; background:var(--color-primary); font-size:11px; font-weight:700; line-height:normal; color:#fff;}
.form-section-tit {display:grid; grid-template-columns:1fr; gap:8px;}
.form-section-tit h3 {margin:0; font-size:var(--font-size-18); font-weight:600; line-height:normal; color:#2A2A2A;}
.form-section-desc {margin:0; font-size:var(--font-size-15); font-weight:400; line-height:normal; color:#9CA3AF;}
.form-section-note {margin:0; font-size:var(--font-size-15); font-weight:400; line-height:normal; color:#9CA3AF;}
.form-period-options {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px;}
.form-period-card {display:flex; flex-direction:column; gap:5px; padding:15px; border:1px solid #E5E7EB; border-radius:var(--radius-10); background:#fff; cursor:pointer;}
.form-period-card.is-active {border:1px solid #E5E7EB; background:#F4F4F4;}
.form-period-top {display:flex; align-items:center; gap:5px; padding:4px 0;}
.form-period-tit {margin:0; font-size:var(--font-size-18); font-weight:600; line-height:normal; color:#2A2A2A;}
.form-period-date {margin:0; font-size:var(--font-size-15); font-weight:400; line-height:1.6em; color:#2A2A2A;}
.form-board-table {display:grid; grid-template-columns:1fr; width:100%; overflow-x:auto;}
.form-board-head, .form-board-row {display:grid; grid-template-columns:36px minmax(200px, 1fr) 110px 230px 130px; align-items:center; border-top:1px solid #E5E7EB; border-bottom:1px solid #F3F4F6;}
.form-board-head {font-size:13px; font-weight:500; line-height:normal; color:#2A2A2A;}
.form-board-head > div, .form-board-row > div {padding:10px;}
.form-board-row {border-bottom:1px solid #F3F4F6; border-top:0;}
.form-board-row.is-checked {background:#FAFAFA;}
.form-board-row.is-checked .col-name {font-weight:600;}
.form-board-row.is-disabled {color:#D6D6D6;}
.form-board-row.is-disabled .form-status.is-ok {opacity:.5;}
.form-board-row .col-name.is-strong {font-weight:600; color:#000;}
.form-status {display:inline-flex; align-items:center; padding:3px 7px; border-radius:5px; font-size:13px; font-weight:400; line-height:normal;}
.form-status.is-ok {background:#E8F4EC; color:#2F7D4B;}
.form-status.is-close {background:#FDECEC; color:#D64545;}
.form-board-chips {display:flex; flex-wrap:wrap; gap:11px; align-items:center; min-height:40px; padding:15px 21px 15px 12px; border-radius:8px; background:#F4F4F4;}
.form-board-chip {display:inline-flex; align-items:center; gap:5px; padding:5px 10px; border-radius:20px; background:var(--color-primary); font-size:var(--font-size-15); font-weight:500; line-height:normal; color:#fff; word-break:keep-all;}
.form-board-chip-remove {padding:0; border:0; background:transparent; font-size:13px; line-height:1em; color:rgba(255,255,255,.7); cursor:pointer;}
.form-fields {display:grid; grid-template-columns:1fr; gap:20px;}
.form-row--2 {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px;}
.form-field {display:grid; grid-template-columns:1fr; gap:4px;}
.form-label {font-size:var(--font-size-15); font-weight:500; line-height:normal; color:#2A2A2A;}
.form-label-sub {font-weight:400; color:#111; opacity:.5;}
.form-label .is-req, .form-agree .is-req {color:#EF4444;}
.form-field .input {width:100%; background-color:#F9FAFB; border-color:#D1D5DB;}
.form-addr {display:flex; align-items:center; gap:10px;}
.form-addr .input {width:calc(50% - 5px);}
.form-addr-btn {flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; min-width:177px; height:42px; padding:10px 11px; border:1px solid #D1D5DB; border-radius:6px; background:#fff; font-size:var(--font-size-15); font-weight:500; line-height:normal; color:#2A2A2A; cursor:pointer;}
.form-file-btn {display:inline-flex; align-items:center; justify-content:center; width:85px; padding:6px 11px; border:1px solid #555; border-radius:5px; background:#F9FAFB; font-size:var(--font-size-15); font-weight:400; line-height:normal; color:#555; cursor:pointer;}
.form-design-note {padding:14px; border-radius:7px; background:#FAFAFA;}
.form-design-note p {margin:0; font-size:var(--font-size-15); font-weight:400; line-height:1.733em; color:#2A2A2A;}
.form-design-options {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px;}
.form-design-card {display:flex; flex-direction:column; gap:5px; min-height:104px; padding:15px; border:1px solid #E5E7EB; border-radius:7px; background:#fff; cursor:pointer;}
.form-design-card.is-active {border:1px solid #E5E7EB; background:#F4F4F4;}
.form-design-top {display:flex; align-items:center; gap:6px; padding:1px 0 2px;}
.form-design-tit {margin:0; font-size:var(--font-size-18); font-weight:600; line-height:normal; color:#2A2A2A;}
.form-design-price {font-weight:700;}
.form-design-unit {font-size:var(--font-size-14); font-weight:400;}
.form-design-desc {margin:0; font-size:var(--font-size-15); font-weight:400; line-height:1.6em; color:#888;}
.form-design-caution {padding:14px; border-radius:7px; background:#FAFAFA;}
.form-design-caution-tit {margin:0 0 5px; font-size:var(--font-size-15); font-weight:700; line-height:1.733em; color:#EF4444;}
.form-design-caution ul {margin:0; padding:0; list-style:none;}
.form-design-caution li {padding-left:.6em; text-indent:-.6em; font-size:var(--font-size-15); font-weight:400; line-height:1.6em; color:#2A2A2A; letter-spacing:-0.03em;}
.form-design-caution .is-em {color:#EF4444;}
.form-summary {overflow:hidden; border:1px solid #E5E7EB; border-radius:var(--radius-10); background:#fff;}
.form-summary-head {display:flex; align-items:center; justify-content:space-between; gap:10px; padding:13px 16px; background:#2A2A2A;}
.form-summary-head h3 {margin:0; font-size:var(--font-size-18); font-weight:600; line-height:normal; color:#fff;}
.form-summary-count {margin:0; font-size:13px; font-weight:400; line-height:normal; color:rgba(255,255,255,.7); white-space:nowrap;}
.form-summary-list {display:grid; grid-template-columns:1fr;}
.form-summary-item {display:flex; align-items:flex-start; justify-content:space-between; gap:10px; padding:10px 14px; border-bottom:1px solid #F3F4F6;}
.form-summary-item-info .name {margin:0; font-size:var(--font-size-15); font-weight:600; line-height:normal; color:#2A2A2A; word-break:keep-all;}
.form-summary-item-info .meta {margin:3px 0 0; font-size:13px; font-weight:400; line-height:normal; color:#9CA3AF;}
.form-summary-item .price {margin:0; flex-shrink:0; font-size:var(--font-size-15); font-weight:700; line-height:normal; color:#2A2A2A; white-space:nowrap;}
.form-summary-total {display:flex; align-items:center; justify-content:space-between; padding:13px 14px; border-top:1px solid #E5E7EB; background:#F4F4F4;}
.form-summary-total .label {font-size:var(--font-size-15); font-weight:600; line-height:normal; color:var(--color-primary);}
.form-summary-total .price {font-size:var(--font-size-20); font-weight:700; line-height:normal; color:var(--color-primary);}
.form-period-box {padding:16px 14px 12px; border:1px solid #E5E7EB; border-radius:8px; background:#fff;}
.form-period-box h4 {margin:0 0 4px; font-size:var(--font-size-15); font-weight:600; line-height:1.52em; color:#2A2A2A;}
.form-period-range {margin:0; font-size:var(--font-size-15); font-weight:400; line-height:1.52em; color:#2A2A2A;}
.form-period-label {margin:0; font-size:13px; font-weight:400; line-height:1.61em; color:#9CA3AF;}
.form-agree {display:grid; grid-template-columns:1fr; gap:8px; padding:17px 15px 13px; border:1px solid #E5E7EB; border-radius:9px; background:#fff;}
.form-agree-item .checkbox label {display:flex; align-items:flex-start; gap:8px; font-size:13px; font-weight:400; line-height:1.27em; color:#2A2A2A;}
.form-agree-item .checkbox label:before {flex-shrink:0; margin:-2px 0 0 0 !important;}
.form-agree-item a {color:#2563EB; text-decoration:underline;}
.form-submit {display:flex; align-items:center; justify-content:center; width:100%; padding:15px 13px; border:0; border-radius:var(--radius-10); background:var(--color-primary); font-size:var(--font-size-18); font-weight:600; line-height:normal; color:#fff; cursor:pointer;}
.form-submit-note {margin:0; font-size:13px; font-weight:400; line-height:normal; color:#111; opacity:.5; text-align:center;}
.form-section--compact {padding:17px; gap:0;}
.form-section-head--icon {align-items:center; gap:8px; padding-bottom:14px;}
.form-section-head--icon h3 {margin:0; font-size:var(--font-size-18); font-weight:600; line-height:normal; color:#2A2A2A;}
.form-section-icon {display:block; flex-shrink:0;}
.form-pay-list {display:grid; grid-template-columns:1fr;}
.form-pay-item {display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid #F3F4F6;}
.form-pay-item:last-child {border-bottom:0;}
.form-pay-item-info .name {margin:0; font-size:var(--font-size-18); font-weight:500; line-height:normal; color:#2A2A2A; word-break:keep-all;}
.form-pay-item-info .meta {margin:2px 0 0; font-size:var(--font-size-15); font-weight:400; line-height:1.6em; color:#9CA3AF;}
.form-pay-item .price {margin:0; flex-shrink:0; font-size:var(--font-size-18); font-weight:700; line-height:normal; color:#2A2A2A; white-space:nowrap;}
.form-pay-options {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px;}
.form-pay-card {display:flex; flex-direction:column; gap:5px; padding:15px; border:1px solid #E5E7EB; border-radius:var(--radius-10); background:#fff; cursor:pointer;}
.form-pay-card.is-active {border-color:#E5E7EB; background:#F4F4F4;}
.form-pay-top {display:flex; align-items:center; gap:5px;}
.form-pay-tit {font-size:var(--font-size-18); font-weight:600; line-height:normal; color:#2A2A2A;}
.form-pay-desc {margin:0; font-size:var(--font-size-15); font-weight:400; line-height:1.6em; color:#2A2A2A;}
.form-pay-card:not(.is-active) .form-pay-desc {color:#888;}
.form-bank-box {overflow:hidden; border:1px solid #E5E7EB; border-radius:9px; background:#fff;}
.form-bank-head {display:flex; align-items:center; gap:6px; padding:11px 14px; border-bottom:1px solid #E5E7EB; background:#F4F4F4; font-size:var(--font-size-15); font-weight:600; line-height:normal; color:var(--color-primary);}
.form-bank-icon {display:block; flex-shrink:0; width:16px; height:16px;}
.form-bank-table {margin:0;}
.form-bank-row {display:flex; align-items:center; justify-content:space-between; padding:9px 14px; border-bottom:1px solid #E5E7EB;}
.form-bank-row:last-child {border-bottom:0;}
.form-bank-row dt {font-size:var(--font-size-15); font-weight:400; line-height:normal; color:#6B7280;}
.form-bank-row dd {display:flex; align-items:center; gap:6px; margin:0; font-size:var(--font-size-15); font-weight:600; line-height:normal; color:#2A2A2A;}
.form-bank-note {font-size:13px; font-weight:400; color:#2A2A2A;}
.form-copy-btn {display:inline-flex; align-items:center; justify-content:center; padding:3px 8px; border:1px solid #E5E5E5; border-radius:4px; background:#fff; font-size:13px; font-weight:500; line-height:normal; color:#2A2A2A; cursor:pointer;}
.form-pay-notes {margin:0; padding:0; list-style:none;}
.form-pay-notes li {font-size:var(--font-size-15); font-weight:400; line-height:1.6em; color:#9CA3AF;}
.form-proof-options {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px;}
.form-proof-card {display:flex; align-items:center; min-height:51px; padding:15px; border:1px solid #E5E7EB; border-radius:var(--radius-10); background:#fff; cursor:pointer;}
.form-proof-card.is-active {border-color:#E5E7EB; background:#F4F4F4;}
.form-proof-card .radiobox label {display:flex; align-items:flex-start; gap:8px;}
.form-proof-card .radiobox label:before {margin:.1em 0 0 0 !important; flex-shrink:0;}
.form-proof-tit {font-size:var(--font-size-18); font-weight:600; line-height:normal; color:#2A2A2A;}
.form-proof-fields {display:grid; grid-template-columns:1fr; gap:12px; padding-top:12px;}
.form-row--biz {display:flex; gap:10px; align-items:center;}
.form-bizno {display:flex; align-items:center; gap:6px; width:calc(50% - 5px);}
.form-bizno .input {flex:1;}
.form-bizno .dash {font-size:var(--font-size-15); font-weight:500; line-height:normal; color:#555;}
.form-field--btn {display:flex; align-items:flex-end; min-height:73px;}
.form-pay-info {padding:17px 15px 13px; border:1px solid #E5E7EB; border-radius:var(--radius-10); background:#fff;}
.form-pay-info h4 {margin:0 0 10px; font-size:var(--font-size-15); font-weight:600; line-height:normal; color:#2A2A2A;}
.form-pay-info-list {margin:0;}
.form-pay-info-row {display:flex; align-items:center; justify-content:space-between; padding:4px 0; border-bottom:1px solid #F3F4F6;}
.form-pay-info-row:last-child {border-bottom:0;}
.form-pay-info-row dt {font-size:var(--font-size-15); font-weight:400; line-height:normal; color:#2A2A2A;}
.form-pay-info-row dd {margin:0; font-size:var(--font-size-15); font-weight:500; line-height:normal; color:#2A2A2A;}
.form-pay-info-row dd.is-accent {color:#2563EB;}
.form-pay-info-row dd.is-danger {color:#EF4444;}
.form-pay-alert {padding:17px 15px 13px; border:1px solid #FECACA; border-radius:8px; background:#FFF8F8;}
.form-pay-alert p {margin:0; font-size:var(--font-size-15); font-weight:400; line-height:1.6em; color:#2A2A2A;}
.form-pay-alert-tit {margin-bottom:4px !important; font-weight:700 !important;}
.form-pay-alert-warn {margin-top:10px !important; color:#EF4444 !important;}
.form-pay-alert-warn strong {font-weight:700;}

/* 게시대 - 신청완료 */
.form-complete {display:grid; grid-template-columns:1fr; gap:20px; max-width:100%; padding:40px 0; max-width:640px; margin:0 auto;}
.form-complete-hero {display:grid; grid-template-columns:1fr; justify-items:center; gap:0; text-align:center;}
.form-complete-icon {display:flex; align-items:center; justify-content:center; width:72px; height:72px; margin-bottom:20px; border:2px solid #E5E7EB; background:#F4F4F4; border-radius:36px;}
.form-complete-icon img {display:block; width:34px; height:34px;}
.form-complete-no {display:inline-flex; align-items:center; gap:8px; margin:0 0 16px; padding:4px 14px; border-radius:20px; background:#F3F4F6; font-size:var(--font-size-14); font-weight:400; line-height:1.37em; color:#6B7280;}
.form-complete-no-icon {display:block; flex-shrink:0; width:12px; height:12px;}
.form-complete-tit {margin:0 0 12px; font-size:var(--font-size-24); font-weight:700; line-height:1.47em; color:#2A2A2A;}
.form-complete-desc {margin:0; font-size:var(--font-size-15); font-weight:400; line-height:1.56em; color:#6B7280;}
.form-complete-desc strong {font-weight:700; color:#6B7280;}
.form-complete-deposit {padding:31px 21px 16px; border:1px solid #E5E7EB; border-radius:12px; background:#FAFAFA;}
.form-complete-deposit-head {display:flex; align-items:center; gap:8px; margin-bottom:14px;}
.form-complete-deposit-head h3 {margin:0; font-size:var(--font-size-18); font-weight:700; line-height:1.24em; color:#2A2A2A;}
.form-complete-bank {margin:0;}
.form-complete-bank-row {display:flex; align-items:center; justify-content:space-between; padding:10px 0; border-bottom:1px solid #E5E7EB;}
.form-complete-bank-row:last-child {border-bottom:0;}
.form-complete-bank-row dt {font-size:var(--font-size-15); font-weight:400; line-height:1.28em; color:#2A2A2A;}
.form-complete-bank-row dd {display:flex; align-items:center; gap:6px; margin:0; font-size:var(--font-size-15); font-weight:700; line-height:1.39em; color:#2A2A2A;}
.form-complete-bank-row.is-amount dd.amount {font-size:var(--font-size-20); line-height:1.6em;}
.form-complete-bank-row.is-deadline dd {font-size:13px; font-weight:700; color:#EF4444;}
.form-complete-clock {display:block; flex-shrink:0; width:13px; height:13px;}
.form-complete-warn {display:flex; align-items:flex-start; gap:8px; padding:12px 15px; border:1px solid #FECACA; border-radius:8px; background:#FFF8F8;}
.form-complete-warn-icon {display:block; flex-shrink:0; width:21px; height:21px;}
.form-complete-warn p {margin:0; font-size:var(--font-size-15); font-weight:700; line-height:1.44em; color:#EF4444;}
.form-complete-order {padding:21px; border:1px solid #E5E7EB; border-radius:12px; background:#fff;}
.form-complete-order .form-pay-list {margin-bottom:0;}
.form-complete-order .form-pay-item:first-child {padding-top:12px;}
.form-complete-box-tit {position:relative; margin:0 0 16px; padding-left:11px; font-size:var(--font-size-18); font-weight:700; line-height:1.16em; color:#2A2A2A;}
.form-complete-box-tit::before {content:''; position:absolute; left:0; top:2px; width:4px; height:16px; border-radius:2px; background:#166534;}
.form-complete-box-tit.is-green::before {background:#3E6534;}
.form-complete-order-total {display:flex; align-items:center; justify-content:space-between; margin-top:17px; padding-top:17px; border-top:1px solid #E5E7EB;}
.form-complete-order-total .label {font-size:var(--font-size-15); font-weight:700; line-height:1.39em; color:#2A2A2A;}
.form-complete-order-total .price {font-size:var(--font-size-20); font-weight:700; line-height:1.44em; color:#2563EB;}
.form-complete-flow {padding:21px; border:1px solid #E5E7EB; border-radius:12px; background:#fff;}
.form-complete-steps {display:grid; grid-template-columns:1fr; gap:0; margin:0; padding:0; list-style:none;}
.form-complete-steps > li {position:relative; display:grid; grid-template-columns:30px 1fr; gap:14px; padding-bottom:18px;}
.form-complete-steps > li:not(:last-child)::before {content:''; position:absolute; left:15px; top:32px; bottom:0; width:1.5px; background:#E5E7EB;}
.form-complete-steps > li:last-child {padding-bottom:0;}
.form-complete-step-num {position:relative; z-index:1; display:flex; align-items:center; justify-content:center; width:30px; height:30px; margin-top:4px; border-radius:15px; font-size:12px; font-weight:700; line-height:1.6em; color:var(--color-primary); background:#DDD;}
/* .form-complete-step-num.is-1 {background:#2E7D5B;}
.form-complete-step-num.is-2 {background:#8FAF8E;}
.form-complete-step-num.is-3 {background:#2F6F73;} */
.form-complete-step-body {display:grid; grid-template-columns:1fr; gap:2px; min-width:0; padding-top:4px;}
.form-complete-step-body .step-tit {margin:0; font-size:var(--font-size-15); font-weight:700; line-height:1.39em; color:#2A2A2A;}
.form-complete-step-body .step-badge {display:inline-flex; align-items:center; margin-left:7px; padding:2px 8px; border-radius:10px; background:#EFF6FF; font-size:13px; font-weight:700; line-height:1.23em; color:#2563EB; vertical-align:middle;}
.form-complete-step-body .step-txt {margin:0; font-size:var(--font-size-15); font-weight:400; line-height:1.6em; color:#6B7280;}
.form-complete-step-body .step-txt .is-em {color:#EF4444;}
.form-complete-tip {display:flex; align-items:flex-start; gap:10px; padding:16px 15px; border:1px solid #C5DEFB; border-radius:8px; background:#EFF6FF;}
.form-complete-tip-icon {display:block; flex-shrink:0; width:15px; height:15px; margin-top:1px;}
.form-complete-tip p {margin:0; font-size:var(--font-size-14); font-weight:700; line-height:1.71em; color:#2563EB;}
.form-complete-home {display:inline-flex; align-items:center; justify-content:center; min-width:180px; height:50px; padding:15px 60px; border-radius:var(--radius-10); background:var(--color-primary); font-size:var(--font-size-15); font-weight:700; line-height:1.2em; letter-spacing:-0.07em; color:#fff; text-decoration:none;}

/* 전자게시대 - 신청상담 */
.electronic-form {display:grid; grid-template-columns:1fr; gap:20px; max-width:631px; margin:0 auto;}
.electronic-form .form-section {width:100%;}
.electronic-form .form-section--contact {padding:22px 18px;}
.electronic-form .form-section-head--simple h3 {color:#111;}
.electronic-form .form-field .input {background-color:#fff; border-color:#D1D5DB;}
.electronic-form .form-field .input::placeholder {color:#111; opacity:.5;}
.electronic-form .form-field .input.is-bg {background:#F9FAFB;}
.electronic-form .form-field textarea.input {min-height:142px; line-height:1.6em;}
.electronic-form select.input {background:#fff url('/html/front/images/bbs/select.svg') right 14px center no-repeat;}
.form-chip-area {display:grid; grid-template-columns:1fr; gap:10px; padding:15px 12px 15px 21px; border-radius:var(--radius-10); background:#F0F6F1;}
.form-chip-tit {margin:0; font-size:var(--font-size-15); font-weight:500; line-height:normal; color:#555;}
.form-chip-list {display:flex; flex-wrap:wrap; gap:10px;}
.form-chip {position:relative; display:inline-flex; align-items:center; gap:5px; padding:5px 10px; border:1px solid #E5E7EB; border-radius:20px; background:#fff; cursor:pointer;}
.form-chip input {position:absolute; width:0; height:0; opacity:0;}
.form-chip-txt {font-size:var(--font-size-15); font-weight:500; line-height:normal; color:#555; white-space:nowrap;}
.form-chip:has(input:checked) {border-color:var(--color-primary); background:var(--color-primary);}
.form-chip:has(input:checked) .form-chip-txt {color:#fff;}
.form-chip:has(input:checked)::after {content:'×'; font-size:13px; line-height:1em; color:rgba(255,255,255,.7);}
.electronic-form-agree {width:100%;}
.electronic-submit-note {margin:0; font-size:13px; font-weight:400; line-height:normal; color:#9CA3AF; text-align:center;}

/* 게시대 - 게첨사진 */
.signboard-photo-select {margin-bottom:var(--space-20); text-align:right;}
.signboard-photo-select select.input {height:38px; padding:0 40px 0 17px; color:#666; font-size:13px; background-image:url('/html/front/images/bbs/select2.svg');}

.signboard-photo {display:grid; grid-template-columns:repeat(3, 1fr); gap:20px 25px;}
.signboard-photo .item {display:flex; flex-direction:column; gap:11px;}
.signboard-photo .item .thumb {width:100%; aspect-ratio:33/28; overflow:hidden;}
.signboard-photo .item .thumb img {display:block; width:100%; height:100%; object-fit:cover; transition:.4s linear;}
.signboard-photo .item:hover .thumb img {transform:scale(1.05);}
.signboard-photo .item .info {display:flex; flex-direction:column; gap:2px;}
.signboard-photo .item .info .tit {font-size:var(--font-size-16); font-weight:700; line-height:1.5em; color:#2A2A2A;}
.signboard-photo .item .info .txt {font-size:var(--font-size-15); font-weight:500; line-height:1.5em; color:#434343;}


/* 마커 텍스트 전체 감싸는 영역 */
.marker-toast-wrapper {
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    transform:translateX(-50%); /* 가로 정중앙 정렬 */
    white-space:nowrap;
}

/* 텍스트가 들어가는 말풍선 본체 */
.marker-toast-content {
    background:#ffffff;
    color:#333333;
    font-size:13px;
    font-weight:600;
    padding:3px 6px;
    border-radius:10px;
    border:1px solid #222222;
    box-shadow:0px 2px 6px rgba(0,0,0,0.15);
}

/* 말풍선 아래쪽 조그만 삼각형 꼬리 (원형 블릿을 위한 기준점 설정) */
.marker-toast-arrow {
    position:relative; /* 중요:블릿의 위치 기준점 */
    width:0;
    height:0;
    border-left:6px solid transparent;
    border-right:6px solid transparent;
    border-top:6px solid #222222; /* 본체 테두리 색상과 맞춤 */
    margin-top:-1px;
}

/* 삼각형 내부 흰색 채우기 */
.marker-toast-arrow::after {
    content:'';
    position:absolute;
    border-left:5px solid transparent;
    border-right:5px solid transparent;
    border-top:5px solid #ffffff; /* 본체 배경 색상과 맞춤 */
    top:-7px; /* 삼각형 내부 위치 정밀 조정 */
    left:50%;
    transform:translateX(-50%);
}

/* [추가] 삼각형 끝부분의 원형 블릿 (검은색 테두리 효과) */
.marker-toast-arrow::before {
    content:'';
    position:absolute;
    bottom:-10px; /* 삼각형 꼭짓점 아래로 내림 */
    left:50%;
    transform:translateX(-50%);
    width:8px;
    height:8px;
    background:var(--color-primary); /* 블릿 내부 색상 */
    border:1.5px solid #222222; /* 본체 테두리 색상과 맞춤 */
    border-radius:50%;
    box-sizing:border-box; /* 크기 계산 오류 방지 */
}

/* 모달 - 시안보기 */
.modal-preview { display:block; max-width:880px; width:90%; padding:0; border:0; background:transparent; box-shadow:none; }
.modal-preview > a.close-modal { display:none !important; }
.modal-preview__popup { display:flex; flex-direction:column; width:100%; border:1px solid #e5e5e5; border-radius:8px; background:#fff; overflow:hidden; }
.modal-preview__head { display:flex; align-items:center; justify-content:space-between; min-height:47px; padding:8px 20px; border-bottom:1px solid #f5f5f5; border-radius:8px 8px 0 0; background:#fafafa; }
.modal-preview__title-wrap { display:flex; align-items:flex-end; flex-wrap:wrap; gap:5px 10px; }
.modal-preview__title { margin:0; font-size:18px; font-weight:700; line-height:18px; color:#2a2a2a; }
.modal-preview__guide { margin:0; font-size:12px; font-weight:400; line-height:18px; color:#666; }
.modal-preview__close { display:flex; flex-shrink:0; width:24px; height:24px; text-decoration:none; }
.modal-preview__close svg { display:block; width:24px; height:24px; }
.modal-preview__body { display:flex; flex-direction:column; }
.modal-preview__thread { display:flex; flex-direction:column; gap:10px; padding:20px 20px 31px; border-bottom:1px solid #f5f5f5; }
.modal-preview__thread > * { width:100%; max-width:836px; }
.modal-preview__meta { display:flex; align-items:center; justify-content:space-between; min-height:22px; }
.modal-preview__badge { display:inline-flex; align-items:center; justify-content:center; padding:3px 7px; border-radius:5px; font-size:13px; line-height:16px; text-align:center; }
.modal-preview__badge.is-admin { min-width:61px; background:#e8f4ec; color:#2f7d4b; font-weight:400; }
.modal-preview__badge.is-user { min-width:61px; padding:4px 13px; border-radius:6px; background:#fff4e5; color:#d97642; font-weight:500; }
.modal-preview__date { font-size:13px; font-weight:400; line-height:18px; color:#666; white-space:nowrap; }
.modal-preview__message { margin:0; font-size:15px; font-weight:500; line-height:20px; letter-spacing:-0.5px; color:#2a2a2a; }
.modal-preview__figure { margin:0; padding:8px 12px; background:#f5f5f5; overflow:hidden; }
.modal-preview__figure.is-wide { max-width:524px; height:69px; }
.modal-preview__figure.is-narrow { max-width:235px; height:69px; }
.modal-preview__figure a { display:block; height:100%; }
.modal-preview__figure img { display:block; width:100%; height:54px; object-fit:cover; object-position:center; }
.modal-preview__notice { margin:10px 0 0; font-size:13px; font-weight:400; line-height:20px; letter-spacing:-0.5px; text-align:center; color:#f00; }
.modal-preview__notice strong { font-weight:700; }
.modal-preview__actions { display:flex; justify-content:center; gap:10px; margin-top:10px; }
.modal-preview__btn { display:inline-flex; align-items:center; justify-content:center; width:50%; max-width:180px; height:40px; padding:0 20px; border:0; border-radius:5px; font-size:15px; font-weight:700; line-height:18px; letter-spacing:-1px; cursor:pointer; }
.modal-preview__btn.is-primary { background:#2a2a2a; color:#fff; }
.modal-preview__btn.is-outline { border:1px solid #2a2a2a; background:#fff; color:#2a2a2a; }
.modal-preview__form { display:flex; flex-direction:column; align-items:center; gap:10px; padding:20px 20px 30px; border-radius:0 0 8px 8px; background:#f5f5f5; }
.modal-preview__form > * { width:100%; max-width:836px; }
.modal-preview__field { display:flex; flex-direction:column; gap:4px; }
.modal-preview__field + .modal-preview__field { margin-top:16px; }
.modal-preview__label { font-size:15px; font-weight:500; line-height:normal; color:#555; }
.modal-preview__label-row { display:flex; flex-wrap:wrap; gap:5px; align-items:flex-start; margin:0 0 6px; font-size:15px; line-height:normal; }
.modal-preview__label-desc { font-weight:400; color:#111; opacity:0.5; }
.modal-preview__textarea { width:100%; height:70px; padding:10px 11px; border:1px solid #d1d5db; border-radius:6px; background:#fff; font-size:15px; font-weight:400; line-height:24px; color:#111; resize:none; box-sizing:border-box; }
.modal-preview__textarea::placeholder { color:#111; opacity:0.5; }
.modal-preview__file-btn { display:inline-flex; align-items:center; justify-content:center; width:85px; padding:6px 11px; border:1px solid #555; border-radius:5px; background:#f9fafb; font-size:15px; font-weight:400; line-height:normal; color:#555; cursor:pointer; }
.modal-preview__file-btn input { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0, 0, 0, 0); white-space:nowrap; border:0; }
.modal-preview__btn.is-submit { align-self:center; width:180px; margin-top:10px; }