@charset "utf-8";
/*-------------------------------------------------
Title       : layout
Name        : wise-plus
Create date : 2026-01
-------------------------------------------------*/

/*---------- head ----------*/
header {width: 100%; height: 64px; background: linear-gradient(90deg,rgba(81, 208, 233, 1) 0%, rgba(68, 128, 248, 1) 35%, rgba(13, 70, 159, 1) 100%);}
header .inner {margin: 0 2.5em; display: flex; flex-flow: row wrap; justify-content: space-between;}
header .logo {width: 250px; text-align: left; background: url(../img/img_h1.png) 0 -4px no-repeat; padding-left: 50px;}
header .logo a {color: var(--white); display: block; font-size: 1.5em; line-height: 64px; font-weight: 400; letter-spacing: -.02em;}
header .logo a b {font-weight: 800;}
header .gnb {flex: 1;}
header .gnb ul {width: 100%; display: flex; flex-flow: row wrap; justify-content: flex-end; gap: 16px;}
header .gnb ul > li {display: flex; align-items: center;}
header .gnb ul > li > a {display: block; line-height: 64px; color: var(--white); font-size: 1.125em; text-align: center; font-weight: 200; position: relative; transition: all .2s ease-in-out; letter-spacing: 0;}
header .gnb ul > li > a:hover {font-weight: 600;}
header .gnb ul > li > a img {display: block;}
header .gnb ul > li > a img:hover {cursor: pointer;}
header .gnb ul > li:last-child > a {width: auto;}
header .gnb ul > li.on a {font-weight: 700; color: #57eeff;}
header .gnb ul > li.on a::before {width: 100%; height: 3px; left: 0; top: 0; position: absolute; content:''; background: linear-gradient(90deg,rgba(176, 247, 255, 1) 0%, rgba(0, 229, 255, 1) 100%);}

/*---------- footer ----------*/
footer {padding: 24px; border-top: 1px solid #D6E5FA;}
footer > div {margin: 0 2.5em; position: relative;}
footer > div .title {font-size: var(--text-content-3); font-weight: 700; color: var(--black); letter-spacing: -.02em;}
footer > div .list { font-size: var(--text-content-5); margin: 1em 0; display: flex; flex-direction: row; gap: 30px;}
footer > div .list li {display: inline-block; color: var(--gray); font-weight: 300; line-height: 1.4; position: relative;}
footer > div .list li::before {content:''; position: absolute; right: -15px; top: 3px; width: 1px; height: 12px; background-color: var(--gray);}
footer > div .list li:last-child::before {display: none;}
footer > div .copy {font-size: var(--text-content-5); color: var(--gray); font-weight: 300;}
footer > div .btn-admin {font-size: .8em; color: var(--gray); font-weight: 400; position: absolute; right: 0; top: 0; border: 1px solid #ddd; background-color: var(--white); padding: 2px 6px; border-radius: 2px; transition: all .2s ease; cursor: pointer;}
footer > div .btn-admin:hover {background-color: #f6f6f6;}

/*---------- popup ----------*/
#pop {display: none;background-color: rgba(0,0,0, .6); position: fixed; left: 0; top: 0; width: 100%; min-width:1280px; height: 100%; z-index: 10003;}
#pop .pop-con {border-radius: 16px; box-shadow: 0 10px 10px rgba(0,0,0, .1); position: absolute; left: 50%; top: 50%; max-width: 1000px; background-color: #fff; transform: translate(-50%, -50%);}
#pop .btn_close {position: absolute; right: 23px; top: 10px; width: 32px;  height: 32px;  background-color: #fff;  border-radius: 50%; padding: 0; border: 0; cursor: pointer; z-index: 10; transition: all .3s ease; display: flex; align-items: center; justify-content: center;}
#pop .btn_close img {width: 60%;}
#pop .btn_close:hover {opacity: .8;}
#pop .pop-line {margin: 4em auto; border: 1px dashed #ededed;}

#todayPop { display: none; position: fixed; left: 50%; top: 50%; width: auto; height: auto; z-index: 2000; align-items: center; justify-content: center; transform: translate(-50%, -50%);}
.new-pop-con { position: relative; max-width: 404px; background-color: #fff; overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,0.3); }
.new-pop-body {border: 2px solid #222;}
.new-pop-body img { width: 100%; display: block;}
.new-pop-footer { background-color: #222; color: #fff; padding: 4px 16px; display: flex; justify-content: space-between; align-items: center; font-size: var(--text-content-5); position: relative;}
.new-pop-footer label { cursor: pointer; display: flex; align-items: center; gap: 8px; }
.new-pop-footer input { cursor: pointer; width: 16px; height: 16px; }
.new-pop-footer .new-btn-close { border: none; font-size: var(--text-content-5); color: #fff; background-color: transparent; cursor: pointer; padding: 0;}


.info-pop {width: 70%; height: 60%; overflow: hidden;}
.info-pop-con {margin: 3em 2em 2em; height: calc(100% - 6em); overflow-y: auto;} 
.info-pop-con > img {display: block; margin: 0 auto 1em; width: 200px;}
.info-pop-con h3 {font-size: var(--text-content-1); font-weight: 600; margin: 0; padding: 0; text-align: center;}
.info-pop-con h3 > b {font-weight: 800;  background: linear-gradient(to right top, #2BBCE6, #7322E8); -webkit-background-clip: text; color: transparent;}
.info-pop-text1 {font-size: var(--text-content-3); color: #4355A7; font-weight: 400; display: block; margin: 1em 0 1.5em; text-align: center;}
.info-pop-text2 {font-size: var(--text-content-4); color: var(--indigo); font-weight: 300; display: block; margin: .5em 0; line-height: 1.4; text-align: center;}
.info-pop-list {display: flex; flex-flow: row wrap; justify-content: space-between; gap: 12px;}
.info-pop-list li {flex: auto; width: 45%;background-color: #EDF4FF; font-size: var(--text-content-4);  padding: 1em; border-radius: 8px; display: flex; flex-flow: column wrap; align-items: center;}
.info-pop-list li > b { color: #4355A7; font-weight: 800; font-size: 1.2em; display: flex; flex-direction: row; align-items: center; gap: 8px; margin-bottom: 8px;}
.info-pop-list li img {width: 32px; vertical-align: middle;}
.info-pop-list li p {font-size: .9em; color: var(--indigo); background-color: #EDF4FF; font-weight: 300; display: block; line-height: 1.4;}
.info-pop-list li p > span {font-weight: 500; color: var(--blue);}

/*---------- main ----------*/
.main-content {position: relative;background: linear-gradient(180deg,rgba(255, 255, 255, 1) 0%, rgba(243, 249, 254, 1) 100%);}
.main-visual {border-radius: 24px; margin: 2.5em; padding: 4em; text-align: center; background: linear-gradient(160deg,rgba(85, 237, 228, 1) 0%, rgba(67, 124, 249, 1) 35%, rgba(98, 122, 229, 1) 100%);}
.main-visual .main-title {color: var(--white); font-size: 1.5em; margin-bottom: 2em;}
.title-A {font-size: 1.5em;  font-weight: 600; line-height: 1.1;}
.title-A > b {font-weight: 800; font-size: 1.2em; background: linear-gradient(to right top, #F4FFC5, #ffe600); -webkit-background-clip: text; color: transparent;}
.title-B {display: block; margin-top: .6em;  font-weight: 200; line-height: 1.3;}
.btn-survey {position: fixed; right: -4px; bottom: 50%; z-index: 10; display: flex; flex-flow: column wrap; gap: 4px; align-items: center;
    /*background: linear-gradient(180deg, rgba(76, 178, 239, 1) 0%, rgba(99, 122, 230, 1) 56%, rgba(53, 80, 202, 1) 100%);*/ background: linear-gradient(180deg,rgba(255, 168, 65, 1) 0%, rgba(255, 98, 67, 1) 56%, rgba(255, 41, 0, 1) 100%); transition: all .1s ease; box-shadow: 0 4px 12px rgba(113, 131, 176, .3); padding: 12px 6px; border-radius: 4px; border: 1px solid #fff;}
.btn-survey p {font-size: .765em; color: var(--white);}
.btn-survey:hover {transform: translateY(-2px);}
.main-visual .main-card {max-width:1280px; display: flex; gap: 24px; margin: 0 auto;}
.main-card-link {position: absolute; right: 0; bottom: 0; display: block; background-color: rgba(255,255,255, 0); padding: 1em .6em .6em 1.5em; border-top-left-radius: 24px; transition: all .2s ease-in-out; }
.main-card-link img {width: 24px;vertical-align: middle;}

.main-visual .main-card .item {flex: 1; border-radius: 24px; border: 4px solid rgba(255,255,255, .5); overflow: hidden; display: flex; flex-flow: column; font-size: 1em; box-shadow: 5px 5px 20px 5px rgba(0, 0, 0, 0.1); position: relative; height: 400px; box-sizing: border-box; transition: all .2s ease-in-out;}
.main-visual .main-card .item:hover {box-shadow: 5px 5px 20px 5px rgba(0, 0, 0, 0.3); border: 4px solid rgba(255,255,255, 1);}
.main-visual .main-card .item > div {width: 100%; height: 100%; display: block;padding: 6em 1em; transition: all .2s ease-in-out;}
.main-visual .main-card .item > div:hover {cursor: pointer; margin-top: -1em;}
.main-visual .main-card .item > div > img {width: 110px; display: block; margin: 0 auto 1.4em;}
.main-visual .main-card .item .tt b { display: block; font-size: 1.5em; font-weight: 800; margin-bottom: .4em;}
.main-visual .main-card .item1 {background-color: #E6EFFF;}
.main-visual .main-card .item1 .tt, .main-visual .main-card .item1 .main-card-link {color: #31509E;}
.main-visual .main-card .item1:hover {background-color: #ccdfff;}
.main-visual .main-card .item2 {background-color: #FFF7EE;}
.main-visual .main-card .item2 .tt, .main-visual .main-card .item2 .main-card-link {color: #E27528;}
.main-visual .main-card .item2:hover {background-color: #ffedd8;}
.main-visual .main-card .item3 {background-color: #E4FBFF;}
.main-visual .main-card .item3 .tt, .main-visual .main-card .item3 .main-card-link {color: #347F84;}
.main-visual .main-card .item3:hover {background-color: #c7edf3;}
.main-visual .main-card .item4 {background-color: #eae4f8;}
.main-visual .main-card .item4 .tt, .main-visual .main-card .item4 .main-card-link {color: #584383;}
.main-visual .main-card .item4:hover {background-color: #dcd0fa;}
.main-visual .main-card .item > div:hover .main-card-link {background-color: rgba(255,255,255, 1);}
.main-visual .main-card .item.disabled {cursor: not-allowed; pointer-events: none;}
.main-visual .main-card .item.disabled::before {content: 'Coming Soon'; position: absolute; top: 0; left: 0; width: 100%; height: 100%;background-color: rgba(230,239,252, .5); display: flex; align-items: center; justify-content: center; font-weight: 800; color: var(--darkblue); z-index: 5; font-size: var(--text-content-1); letter-spacing: -0.05em;backdrop-filter:blur(2px);}
.main-visual .main-card .item.disabled:hover {box-shadow: 5px 5px 20px 5px rgba(0, 0, 0, 0.1); border: 4px solid rgba(255,255,255, .5);}
.main-visual .main-card .item.disabled > div:hover {margin-top: 0;}

/* main list*/
.main-list {position: relative; max-width: 1280px; margin: 0 auto; padding: 0 0 4em;}
.main-list-item {position: relative;}
.main-list .swiper {overflow: hidden; margin: 0 auto; padding: 0; max-width: 1280px;position: relative;}
.main-list .swiper-slide {border-radius: 1rem; background-color: #fff; border: 2px solid #E4EEFF; text-align: right; padding: 12px; box-sizing: border-box; transition: var(--transition-2);}
.main-list .swiper-slide:hover {border-color: #627AE5; cursor: pointer;}
.main-list .swiper-btn {position: absolute; width: 100%; z-index: 100; top: calc(50% + 18px); left: 0;}
.main-list .swiper-btn .swiper-button-prev {background: url(../img/img_arrow05.png) 50% 50% no-repeat; left: -50px;}
.main-list .swiper-btn .swiper-button-next {background: url(../img/img_arrow05.png) 50% 50% no-repeat; transform: rotate(-180deg); right: -50px;}
.main-list .swiper-btn .swiper-button-prev, .main-list .swiper-btn .swiper-button-next {width: 38px; height: 38px; background-size: 18px; border-radius: 50%; border: 1px solid #b5c6e4; background-color: #fff;}
.main-list .swiper-button-prev.swiper-button-disabled, .main-list .swiper-button-next.swiper-button-disabled {opacity: .5;}
.main-list-item .img {/*height: 130px;*/  aspect-ratio: 16 / 9.5; display: flex; justify-content: center; align-items: center; overflow: hidden; border-radius: 16px;}
.main-list-item .img > img {object-fit: cover;}
.main-list-item .text {display: block;margin: 1em 0; text-align: left; color: var(--indigo);}
.main-list-item .text .tt1 {background-color: #EDF4FF; display: inline-block; padding: 4px 8px;font-size: var(--text-content-5); font-weight: 300; letter-spacing: -.03em;}
.main-list-item .text .tt2 {display: block; font-size: var(--text-content-3); font-weight: 600; margin-top: .8em; overflow: hidden;text-overflow: ellipsis; width: 100%; white-space: nowrap; transition: var(--transition-2);}
.main-list .btn-detail {color: var(--black); padding: 0; background-color: transparent; border: 0; font-size: var(--text-content-5); font-weight: 300; display: flex; align-items: center;}
.main-list .btn-detail img {vertical-align: middle;}
.main-list .swiper-slide:hover .tt2 {color: var(--blue);}

/*---------- sub content ----------*/
.sub-content {height: 720px; display: flex; flex-direction: column; background: linear-gradient(180deg,rgba(244, 250, 255, 1) 0%, rgba(255, 255, 255, 1) 100%);}
.sub-screen {width: 100%; height: 100%; min-height: 500px; display: flex; flex-flow: column wrap; align-items: center; justify-content: center;}
.sub-screen img {margin: 0 auto 2em; width: 240px; display: block;}
.sub-screen .cont {font-size: 1em; font-weight: 400; color: var(--black); text-align: center; line-height: 1.3; font-size: var(--text-content-4);}
.sub-screen .cont b {font-weight: 600; display: block; color: var(--blue); font-size: 1.2em; margin-bottom: .5em;}
.sub-content-etc {background-color: var(--white); border-bottom: 1px solid #D6E5FA;}
.sub-gnb {padding: 8px 0;}
.sub-gnb > ul {display: flex; flex-direction: row; gap: 8px; justify-content: center;}
.sub-gnb > ul li {width: 120px;}
.sub-gnb > ul li a {background: var(--white); border: 1px solid rgba(50,82,164, .4); color: #5f76af; font-size: 1em; font-weight: 400; display: block; padding: 6px 0; border-radius: 4px; text-align: center; transition: all .1s ease;}
.sub-gnb > ul li a:hover {border: 1px solid rgba(50,82,164, .4); color: #3252A4; background: #F4F8FF; font-weight: 500;}
.sub-gnb > ul li.on a {background: linear-gradient(90deg, rgb(86 189 228) 0%, rgba(68, 96, 215, 1) 100%);border: 1px solid rgba(50,82,164, .3);  color: #fff; font-weight: 600; text-shadow: 0px 1px 2px rgba(0, 0, 0, .5);}
.sub-filter {flex: auto; display: flex; flex-direction: row; align-items: center; gap: 6px; justify-content: center; padding: 8px 0; border-top: 1px solid #D6E5FA;}
.sub-filter select {flex: 1;}
.sub-filter input {width: 340px;}
.sub-filter h3 {font-size: var(--text-content-3); color: var(--black); margin: 1em 0; padding: 0;}
.sub-filter h3 span {color: #1B53E3;}
.input-form {display: flex; flex-flow: row wrap; align-items: center; gap: 0; border: 1px solid #D6E5FA; border-radius: 4px;}
.input-form input {border: 0; flex: 1; height: 34px; padding-right: 0;}
.input-form button {height: 100%; border: 0;  padding: 0 12px; background-color: transparent;}
.input-form button:hover {opacity: .6;}
.input-form-list {display: none;position: absolute; top: 34px; left: 0; width: 100%; background: #fff; border: 1px solid #D6E5FA; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; box-shadow: 0 10px 20px rgba(0,0,0,0.1); z-index: 100;}
.input-form-list ul {margin: 0; padding: 10px 0; list-style: none;}
.input-form-list li {padding: 10px 20px; cursor: pointer; color: var(--gray);}
.input-form-list li:hover {background-color: #F4FAFF; color: var(--blue);}
.input-form-wrap {position: relative; display: inline-block;}

.search-tooltip {position: absolute; top: 45px; left: 0; z-index: 100; filter: drop-shadow(0px 4px 8px rgba(106,126,204,0.2)); backface-visibility: hidden; max-width: 230px; animation: floatingTooltip 2s ease-in-out infinite; will-change: transform; pointer-events: none; }
.tooltip-content {background: #fff; border: 1px solid #7183b0; border-radius: 6px; padding: 8px; display: flex; align-items: flex-start; gap: 6px; box-shadow: 0 4px 12px rgba(113, 131, 176, 0.2);}
.tooltip-arrow {position: absolute; top: -6px; left: 20px; width: 0; height: 0;}
.tooltip-arrow::before {content: ''; position: absolute; border-left: 6px solid transparent; border-right: 6px solid transparent; border-bottom: 6px solid #7183b0; top: 0; left: 0;}
.tooltip-arrow::after {content: ''; position: absolute; border-left: 5px solid transparent; border-right: 5px solid transparent; border-bottom: 5px solid #fff; top: 1.5px; left: 1px;}
.tip-text {text-align: left;}
.tip-tag {color: #292F4A; font-weight: 600; font-size: var(--text-content-5); display: block; margin-bottom: 4px;}
.tooltip-content p {margin: 0; font-size: .765em; line-height: 1.2; color: #8298AC; text-align: left; font-weight: 400;}
.tooltip-content b {color: #1B53E3; font-weight: 700;}
@keyframes floatingTooltip {
    0% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
    100% { transform: translateY(0); }
}
.select-filter {min-width: 120px; display: flex; position: relative;}
.sub-filter .custom-select-wrap {position: relative; }
.sub-filter .select-trigger {width: 100%; padding: 8px 20px 8px  8px; border: 1px solid #D6E5FA; border-radius: 4px; background: #fff url('../img/img_select_bg.png') no-repeat right 6px center; background-size: 16px auto; cursor: pointer; font-size: var(--text-content-5); color: #8298AC; transition: all 0.3s; text-align: left; 
white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.sub-filter .select-trigger.active { border-color: #7e9cc7; color: #292F4A; }
.sub-filter .custom-options { display: none; position: absolute; top: calc(100% + 5px); left: 0; width: 100%; background: #fff; border: 1px solid #D6E5FA; border-radius: 6px; box-shadow: 0 4px 12px rgba(113, 131, 176, 0.2); z-index: 110; max-height: 250px; overflow-y: auto; padding: 5px 0; z-index: 101;}
.sub-filter .custom-options li { padding: 10px 15px; font-size: var(--text-content-5); color: #292F4A; cursor: pointer; transition: background 0.2s; text-align: left; }
.sub-filter .custom-options li:hover { background: #f0f7ff; color: #1B53E3; }
.sub-filter .search-tooltip { bottom: calc(100% + 10px); }
/* 지도 공통 */ 
.map-wrap {width: 100%; height: 100%; position: relative;}
/* 진단 */
.sub-content-typeA {flex: 1; width: 1280px; margin: 0 auto; padding: 24px; display: flex; flex-direction: row; align-items: stretch; gap: 16px; height: calc(100% - 100px);} 
.sub-content-typeA .s-cont-left, .sub-content-typeA .s-cont-right {display: flex; border: 1px solid #D6E5FA; border-radius: 8px; background-color: var(--white); height: 100%;}
.sub-content-typeA .s-cont-left {flex: 1;}
.sub-content-typeA .s-cont-right {flex: 1.2; display: flex; flex-flow: row wrap; gap: 8px; padding: 16px; position: relative;}
.sub-content-typeA h3 {text-align: center; margin: 0; width: 100%; border-bottom: 1px solid #D6E5FA; font-size: var(--text-content-3); display: flex; justify-content: center; gap: 6px; padding-bottom: 16px;}
.sub-content-typeA h3::before{display: none;}
.sub-content-typeA h3 img {margin-top: -2px; width: 24px; height: 24px;}
.sub-content-typeA .area-con {display: flex; flex-flow: column wrap; gap: 8px; height: 300px;}
.sub-content-typeA .area-bubble {flex:1; position: relative; margin: 16px;}
.sub-content-typeA .area-bubble > div {position: absolute; border-radius: 50%; display: flex; flex-direction: column; justify-content: center; align-items: center; transition: all .2s ease; text-align: center; line-height: 1.1;}
.sub-content-typeA .area-bubble > div b {display: block; margin: 6px auto 0; font-weight: 800; font-size: 1.5em;}
.sub-content-typeA .area-bubble > div:hover {scale: 1.1;}
.sub-content-typeA .area-bubble .bubbleA {background-color: rgba(174,207,251, .6); }
.sub-content-typeA .area-bubble .bubbleA {color:#1f44a7;}
.sub-content-typeA .area-bubble .bubbleA b {color:#1B53E3;}
.sub-content-typeA .area-bubble .bubbleB {background-color: rgba(201,237,255, .6);}
.sub-content-typeA .area-bubble .bubbleB {color:#4D93B8;}
.sub-content-typeA .area-bubble .bubbleB b {color:#287EAC;}
.sub-content-typeA .area-bubble .bubbleC {background-color: rgba(255,226,228, .6);}
.sub-content-typeA .area-bubble .bubbleC {color:#884D59;}
.sub-content-typeA .area-bubble .bubbleC b {color:#CB445E;}
.sub-content-typeA .area-bubble .bubbleD {background-color: rgba(210,244,230, .6);}
.sub-content-typeA .area-bubble .bubbleD {color:#3E725F;}
.sub-content-typeA .area-bubble .bubbleD b {color:#219C70;}
.sub-content-typeA .area-bubble .bubbleE {background-color: rgba(254,245,195, .6);}
.sub-content-typeA .area-bubble .bubbleE {color:#AC681B;}
.sub-content-typeA .area-bubble .bubbleE b {color:#F88604;}
.sub-content-typeA .area-bubble .bubbleF {background-color: rgba(232,201,255, .6);}
.sub-content-typeA .area-bubble .bubbleF {color:#583676;}
.sub-content-typeA .area-bubble .bubbleF b {color:#8732D3;}
.sub-content-typeA .area-info {height: 50px; overflow-y: auto; padding: 0; color: #8298AC; font-size: var(--text-content-4); font-weight: 400; line-height: 1.4;}
.sub-content-typeA .area-info b {font-weight: 600;}
.sub-content-typeA .area-etc {display: flex; flex-direction: row; gap: 8px; flex: 1; height: 180px;}
.sub-content-typeA .area-etc > div {border: 1px solid #D6E5FA; background-color: #F4F8FF; border-radius: 8px; flex: 1; padding: 24px 16px 8px;}
.sub-content-typeA .area-etc > div h4 {font-size: var(--text-content-4); color: #292F4A; font-weight: 600; line-height: 1.2; margin-bottom: 16px;}
.location-result-box {position: absolute; min-height: 70px; width: 220px; background: #ffffff; border: 2px solid #3b82f6; border-radius: 8px; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12); padding: 8px 20px 8px 8px; display: flex !important; flex-direction: row !important; gap: 8px;}
.location-result-box::after {content: ''; position: absolute; bottom: -9px; left: 26px; width: 12px; height: 12px; background: #ffffff; border-right: 2px solid #3b82f6; border-bottom: 2px solid #3b82f6; transform: rotate(45deg);}
.location-result-img {width: 50px; height: 50px; overflow: hidden; border-radius: 50%;}
.location-result-img > img {width: 100%;}
.location-result-con {color: var(--gray); font-size: 1rem; font-weight: 300; line-height: 1.1; flex: 1;}
.location-result-con b {font-weight: 600;}

.q-list {height: 100px; overflow-y: auto;}
.q-list li {display: block; margin-bottom: 8px;}
.q-list li a {color: var(--gray); font-weight: 400; font-size: var(--text-content-5); display: block; transition: all .2s ease; padding-left: 16px; position: relative;}
.q-list li a::before {content:'-'; position: absolute; left: 0; top: 0; width: 12px;}
.q-list li a b {font-weight: 600;}
.q-list li:hover a {color: var(--blue); text-decoration: underline;}
.area-all { position: relative; display: flex; flex-direction: row; padding: 0 !important;}
.area-all:first-child > div {padding: 24px;}
.area-legend {display: flex; flex-direction: row; gap: 6px; position: absolute; bottom: 16px; left: 16px;}
.area-legend li {position: relative; font-size: 13px; font-weight: 400; color: var(--gray)}
.area-legend li::before {content:''; width: 12px; height: 12px; border-radius: 50%; display: block; margin: 0 auto 4px;}
.area-legend .legend01::before {background-color: #ae8a79; color: #ae8a79;}
.area-legend .legend02::before {background-color: #768692; color: #768692;}
.area-legend .legend03::before {background-color: #888b8d; color: #888b8d;}
.area-map {flex: 1;}
.area-all .area-title {padding: 24px 0 24px 24px; display: flex;flex-flow: column; gap: 12px; flex:1;}
.area-all .area-title img {display: block; width: 34px; margin-top: 6px;}
.btn-result-close {position: absolute; top: 8px; right: 6px;width:16px; height: 16px;  background: none; border: none; cursor: pointer; color: #666; line-height: 1; padding: 0; z-index: 1;}
.btn-result-close img {width: 100%;}
/* 지역비교 */
.filter-result {display: flex; flex-direction: row; gap: 8px; justify-content: center; padding: 0;}
.filter-container {display: flex; flex-wrap: wrap; gap: 8px;}
.filter-item { display: inline-flex; align-items: center; height: 28px; padding: 0 12px; border-radius: 4px; font-size: 13px; cursor: pointer; transition: all 0.2s; background-color: #cbd5e1; color: #fff;}
.filter-item.checked {background-color: #1e293b;}
.filter-text {display: flex; align-items: center; margin-right: 8px;}
.filter-item .btn-close {background: none; border: none; color: rgba(255, 255, 255, 0.7); font-size: 18px; line-height: 1; cursor: pointer; padding: 0; margin-left: 5px;}
.filter-item .btn-close:hover {color: #fff;}
.filter-item .btn-close img {width: 14px;}
.sub-content-typeB {flex: 1; width: 1280px; margin: 0 auto; padding: 24px; display: flex; flex-direction: row; align-items: stretch; gap: 16px; height: 100%;} 
.sub-content-typeB .s-cont-left {flex: 1.4; padding: 24px; align-items: center;border: 1px solid #D6E5FA; border-radius: 8px; background-color: var(--white); height: 100%; display: flex; justify-content: center; align-items: start;}
.sub-content-typeB .s-cont-right {flex: 1; overflow: hidden;display: flex; border: 1px solid #D6E5FA; border-radius: 8px; background-color: var(--white); height: 100%;}
.sub-content-typeB .s-cont-right .charts-result {width: 100%; height: 100%; padding: 24px;}
.sub-content-typeB #chartWrap {height: 100%; width: 100%; position: relative; display:flex; flex-direction: column; gap:24px;}
.sub-content-typeB #chartContainer {flex: 1; overflow: hidden; height: 450px; width: 100%;}
.sub-content-typeB #radarLegend {position: absolute; left: 0; bottom: 0; width: 100%; display: flex; flex-flow: row wrap; gap: 8px; align-items: center; justify-content: center; padding: 16px 0 32px; margin: 0; color: var(--gray); font-size: var(--text-content-5); z-index: 5; border-top: 1px dashed #D6E5FA;}
.sub-content-typeB .highcharts-plot-background {width: 100% !important; height: 100% !important;}
.sub-content-typeB .compare-content {}
.sub-content-typeB .s-cont-left #ctpvSelectWrap {flex: 1; }

.sub-content-typeB .sub-filter .custom-select-wrap {position: relative; flex: 1;}

.compare-text {text-align: center; font-size: var(--text-content-4); color: var(--black); font-weight: 600; height: 100px;}
.compare-text .text-region, .compare-text .text-theme {margin: 4px 0; display: flex; flex-flow: row wrap; justify-content: center;}
.compare-text .text-region li, .compare-text .text-theme li {padding: 4px 6px 4px 10px; border-radius: 4px; display: inline-block; margin: 2px;}
.compare-text .text-region {display: inline-flex;}
.compare-text .text-region li {color: #FF6161; background-color: #FFEFEF; flex-flow: row wrap; gap: 4px; align-items: center;}
/*.compare-text .text-region li:last-child {color: var(--black); background-color: transparent; padding: 4px 0;}*/
.compare-text .text-theme {display: flex; flex: 1 0 30%;}
.compare-text .text-theme li {color: #1B53E3; background-color: #F0F7FE;  display: flex; flex-flow: row wrap; gap: 4px; align-items: center;}
.compare-text li button {background: transparent; border: 0; padding: 0;}
.compare-text .text {display: inline-block;}
.compare-region {text-align: center;}
.compare-region h3, .compare-content h3 {font-size: var(--text-content-3); color: var(--black); margin: 1em 0 .5em; padding: 0;}
.compare-region h3 span {color: #FF6161;}
.compare-region .region-list {display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-start; width: 100%; padding: 0; box-sizing: border-box; overflow-y: auto; max-height: 165px; align-items: start; align-content: flex-start;}
.compare-region .region-list .btn-region {flex: 0 0 calc(20% - 6px); height: 50px; border: 1px solid #e2eefa; border-radius: 8px; background-color: #f0f7ff; color: #7497CA; font-size: var(--text-content-5); font-weight: 600; cursor: pointer; transition: all 0.2s ease;}
.compare-region .region-list .btn-region:hover {background-color: #e2eefa;}
.compare-region .region-list .btn-region.active {background-color: #ff6b6b; color: var(--white); border-color: #ea5454;}
.compare-region .comment {margin-top: .5em; height: 50px; overflow-y: auto;}
.compare-region .comment li {font-size: .8em; color: #7497CA; font-weight: 300; line-height: 1.2; margin-bottom: 3px; text-align: left; padding-left: 10px; position: relative;}
.compare-region .comment li:last-child {margin-bottom: 0;}
.compare-region .comment li::before {position: absolute; left: 0; top: 6px; width: 3px; height: 3px; border-radius: 50%; background-color: #7497CA; content:''; }
.con-line {margin: 1em 0 0; width: 100%; height: 10px; border: 0; border-top: 1px dashed #D6E5FA;}
.compare-content .search-tooltip {width: 200px;}
/* 순위비교 */
.sub-content-typeC {flex: 1; width: 1280px; margin: 0 auto; padding: 24px; display: flex; flex-direction: column; gap: 16px;} 
.sub-content-typeC .s-cont {border: 1px solid #D6E5FA; background-color: #fff; border-radius: 8px; overflow: hidden; position: relative;}
.sub-content-typeC .s-cont > h3 {display: flex; align-items: center; color: var(--white); text-align: left; height: 42px; line-height: 42px; font-size: var(--text-content-4); margin: 0; padding: 0 16px; background: linear-gradient(90deg,rgba(0, 119, 255, 1) 0%, rgba(0, 73, 156, 1) 100%);}
.sub-content-typeC .s-cont > h3 span {font-size: .8em; font-weight: 300; opacity: .8; display: block; margin-left: 6px;}
.sub-content-typeC .s-cont .cont-etc {position: absolute; right: 16px; top: 8px; display: flex; flex-direction: row; align-items: center; gap: 8px;}
.sub-content-typeC .s-cont .cont-etc > select {height: 24px; line-height: 24px; background-position: calc(100% - 5px) 5px; background-color: rgba(255,255,255, .1); background-size: 13px; background-image: url(../img/img_arrow08.png); color:#E0E8FF; border-color: rgba(255,255,255, .3);}
.sub-content-typeC .s-cont .cont-etc > select option {background-color: #fff; color: var(--black);}
.sub-content-typeC .s-cont .cont-etc .btn-hidden {background-color: transparent; color: #E0E8FF; border: 0; padding-right: 18px; position: relative;}
.sub-content-typeC .s-cont .cont-etc .btn-hidden p {transition: all .2s ease;}
.sub-content-typeC .s-cont .cont-etc .btn-hidden p:hover {color: #fff;}
.sub-content-typeC .s-cont .cont-etc .btn-hidden p:before {content:'접기'; font-size: .9em;}
.sub-content-typeC .s-cont .cont-etc .btn-hidden::before {width: 13px; height: 13px;background:url(../img/img_arrow08.png) 0 0 no-repeat;content:''; position: absolute; right: 0; top: 4px; transition: all .2s ease; opacity: .8; transform: rotate(180deg);}
.sub-content-typeC .s-cont .cont-etc .btn-hidden:hover {cursor: pointer; color: #fff;}
.sub-content-typeC .s-cont .cont-etc .btn-hidden:hover::before {opacity: 1;}

.sub-content-typeC .s-cont .cont-etc .btn-hidden.hidden p::before {content:'펼치기'}
.sub-content-typeC .s-cont .cont-etc .btn-hidden.hidden::before {transform: rotate(0deg);}
.sub-filter-rank {flex-direction: column;}
.rank-filter {display: flex; flex-direction: row; gap: 6px; min-width: 800px;}
.rank-filter .select-filter {flex: 1;}
.rank-filter .search-tooltip {width: 200px;}
.ranking {display: flex; flex-flow: row wrap;}
.ranking .ranking-map {flex: 1; background-color: #F6FBFF; border-right: 1px solid #D6E5FA; height: 250px;}
.ranking .ranking-charts {flex: 1; padding: 0; height: 250px; }
.ranking .ranking-charts .charts-wrap {width: 100%; height: 100%; position: relative;}
.ranking .ranking-list {flex: 1.6; padding: 16px;}
.ranking-list ul {display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; list-style: none; padding: 0; margin: 0; height:100%;}
.ranking-list li {flex: 0 0 calc(20% - 8px); padding: 16px 0; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; border-radius: 8px; background-color: #f0f7ff; color: #557089; transition: all 0.2s; border: 1px solid #D6E5FA;}
.ranking-list li p {margin: 4px 0; font-size: 15px; font-weight: 500; line-height: 1.2; color: #7497CA;}
.ranking-list li p b {font-size: 15px; font-weight: 800; color: #FFF79C; line-height: 1.2;}
.ranking-list li:nth-child(1) {border-color: rgba(0,0,0, .2);}
.ranking-list li:nth-child(2) {border-color: rgba(0,0,0, .2);}
.ranking-list li:nth-child(3) {border-color: rgba(0,0,0, .2);}
.ranking-list li:nth-child(n+4) b {color: #4A73AF;}
.ranking-list li:nth-child(1) p, .ranking-list li:nth-child(2) p, .ranking-list li:nth-child(3) p {color: #fff;}  

.ranking-result-box {position: absolute; min-height: 34px; min-width: 60px; background: #3b82f6; border: 2px solid #3b82f6; border-radius: 8px; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12); padding: 8px; display: flex; flex-direction: row; gap: 8px;}
.ranking-result-box::after {content: ''; position: absolute; bottom: -7px; left: calc(50% - 7px); width: 7px; height: 7px; background: #3b82f6; border-right: 2px solid #3b82f6; border-bottom: 2px solid #3b82f6; transform: rotate(45deg);}
.ranking-result-con {color: var(--white); font-size: var(--text-content-5); font-weight: 300; line-height: 1.1; flex: 1;}
.ranking-result-con > p {text-align: center;}
.ranking-result-con b {font-weight: 600; color: var(--white);}

/* octagon */
.sub-content-typeE {flex: 1; width: 1280px; margin: 0 auto; padding: 24px; display: flex; flex-direction: row; align-items: stretch; gap: 16px; height: 100%;} 
.sub-content-typeE .s-cont-left, .sub-content-typeE .s-cont-right {display: flex; border: 1px solid #D6E5FA; border-radius: 8px; background-color: var(--white);}
.sub-content-typeE .s-cont-left {flex: 1; flex-direction: column; position: relative; overflow: hidden;}
.sub-content-typeE .s-cont-right { display: flex; flex-flow: row wrap; gap: 8px; padding: 16px; width: 600px;}
.octagon-filter {position: absolute; top: 0; left: 0; width: 100%; }
.octagon-filter .sub-filter .search-tooltip {width: 200px; top: 45px;}
.octagon-filter .select-filter select {border-color: #c1c6d4;}
.octagon-map {flex: 1; width: 100%;}
.octagon-region-cont {position: absolute; left: 0; bottom: 0; width: 100%; background-color: #F0F5FF; border-top: 2px solid #3054B2; padding: 0; color: var(--black); font-weight: 400; line-height: 1.4; z-index: 100;}
.octagon-region-cont .region-cont {padding: 10px 16px; height: 80px; overflow-y: auto; word-break: keep-all; font-size:1rem; line-height: 1.2; color: var(--darkgray); font-weight: 300;}
.octagon-region-cont b {color: var(--red); font-weight: 600;}
.octagon-region-cont .btn-cont {display: flex; position: absolute; width: 60px; left: 50%; top: -24px; transform: translateX(-50%); border-top-left-radius: 4px; border-top-right-radius: 4px; background-color: #3054B2; border: 0; padding: 4px 22px 4px 10px; cursor: pointer; z-index: 10; justify-content: center;}
.octagon-region-cont .btn-cont > p::before {content: '접기'; color: #fff; font-size: .8em;}
.octagon-region-cont.is-folded {border-top: 0; bottom: -1px;}
.octagon-region-cont.is-folded .btn-cont > p::before {content: '펼치기';}
.octagon-region-cont .btn-cont > span {display: inline-block; position: relative;}
.octagon-region-cont .btn-cont > span::before {content: ''; width: 13px; height: 13px; background: url(../img/img_arrow08.png) 0 0 no-repeat; position: absolute; left: 4px; top: 2px;}
.octagon-region-cont.is-folded .btn-cont > span {transform: rotate(-180deg); left: 20px; top: 2px;}

.survey-wrap {padding: 24px; }
.survey-step1 {width: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; gap: 24px;}
.survey-step1 .survey-step1-img {width: 200px;}
.survey-step1 .survey-text1 {font-size: var(-  -text-content-3); color: var(--black); line-height: 1.2; font-weight: 600;}
.survey-step1 button {width: 280px; margin: 1em 0 0;}
.survey-step2 {width: 100%; display: flex; flex-direction: column; justify-content: space-between; align-items: center; text-align: center; gap: 40px;}
.survey-step2 button {width: 100%; margin: 0;}


.solution-btn-wrap {display: flex; flex-direction: row; gap: 8px;}
.solution-btn-wrap button {width: 120px;}


.q-title{font-size:var(--text-content-3);font-weight:500;color:var(--black);line-height:1.2;}
.q-title b{font-size:var(--text-content-2);color:var(--red);display:block; margin:0 0 .5em;font-weight:800;}
.a-group{display:flex;flex-flow:row wrap;gap:8px;justify-content:flex-start;width:100%;max-height:300px;height:auto;overflow-y:auto;box-sizing:border-box;}
.a-group .a-item{display:flex;flex-direction:row;align-items:flex-start;padding:16px 20px;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s ease;background-color:#fff;position:relative;width:auto;box-sizing:border-box;flex:1 1 240px;}
.a-item:hover{background-color:#f4faff;}
.a-item input[type=radio]{display:none;}
.custom-radio{width:18px;height:18px;border:4px solid #cbd5e1;background-color:#fff;border-radius:50%;margin-right:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease;margin-top:2px;}
.custom-radio::after{content:"";width:10px;height:10px;background-color:#fff;border-radius:50%;display:none;}
.a-item:has(input:checked){border-color:#2563eb;background-color:#eff6ff;}
.a-item:has(input:checked) .custom-radio{border-color:#2563eb;background-color:#2563eb;}
.a-item:has(input:checked) .custom-radio::after{display:block;}
.a-item:has(input:checked) .a-text{color:#1e40af;font-weight:600;}
.a-text{font-size:1rem;color:#475569;flex:1;min-width:0;word-break:keep-all;overflow-wrap:anywhere;white-space:normal;line-height:1.4; text-align: left;}

.a-group.groupA .a-item {max-width: calc(50% - 4px); min-width:0;}
.a-group.groupB .a-item {max-width: 100%; min-width:0;}

.group-input {height: auto;}
.group-input .a-item {width: 100%; padding: 8px;}
.group-input .a-item > input {width: 100%; text-align: center; font-size: var(--text-content-4); border: 0; transition: all .2s ease;}
.group-input .a-item:hover > input {background-color: #F4FAFF;}

.octagon-wrap {position: absolute; top: 80px; left: 50%; transform: translateX(-50%); z-index: 100; width: auto;}
.octagon-legend {display: flex; align-items: center; gap: 8px; padding: 8px 16px; background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(8px); border: 1px solid #e2e8f0; border-radius: 50px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);}
.octagon-list {position: absolute; bottom: 12px; left: 12px; z-index: 99; display: flex; align-items: start; gap: 0; padding: 8px 8px; background: rgba(255, 255, 255, 1); backdrop-filter: blur(10px); border: 1px solid #c1c6d4; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); flex-direction: column;}
.octagon-item {display: flex; align-items: center; gap: 4px; padding: 4px; border: 1px solid transparent; border-radius: 40px; background: transparent; cursor: pointer; transition: all 0.2s ease; white-space: nowrap;}
.octagon-item:hover {background-color: #F4FAFF; border-color: #F4FAFF;}
.octagon-item.active {background-color: #F4FAFF;border-color: var(--blue);}

.octagon-txt {font-size: .8em; font-weight: 700; color: var(--lightgray);}
.octagon-item.active .octagon-txt {font-weight: 700; color: var(--black);}
.octagon-item .octagon-dot {width: 8px; height: 8px; border: 1px solid rgba(0,0,0, .1); border-radius: 50%; flex-shrink: 0;}
.octagon-item.typeB .octagon-dot {background-color: #5B8FD9/*8B5CF6*/;}
.octagon-item.typeV .octagon-dot {background-color: #78B852/*93C5FD*/;}
.octagon-item.typeI .octagon-dot {background-color: #A669C0/*FEF08A*/;}
.octagon-item.typeC .octagon-dot {background-color: #5BA88A/*84CC16*/;}
.octagon-item.typeA .octagon-dot {background-color: #D97D3A/*64748B*/;}
.octagon-item.typeT .octagon-dot {background-color: #D95555/*F9A8D4*/;}
.octagon-item.typeS .octagon-dot {background-color: #4FA7C0/*BBF7D0*/;}
.octagon-item.typeP .octagon-dot {background-color: #D9B340/*99F6E4*/;}
.octagon-result-box {position: absolute; min-height: 120px; width: 230px; background: #ffffff; border: 2px solid #3b82f6; border-radius: 8px; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12); padding: 8px;}
.octagon-result-box::after {content: ''; position: absolute; bottom: -9px; left: 24px; width: 12px; height: 12px; background: #ffffff; border-right: 2px solid #3b82f6; border-bottom: 2px solid #3b82f6; transform: rotate(45deg);}
.octagon-result-box .octagon-result-region {display: flex; flex-flow: row wrap; gap: 0; }
.octagon-result-box .octagon-result-region li {position: relative; font-size: var(--text-content-5); font-weight: 600; color: var(--indigo); background-color: #F4FAFF; padding: 4px 16px 4px 8px;}
.octagon-result-box .octagon-result-region li::before {content: '';width: 16px; height: 16px; background: url(../img/img_arrow07.svg) 0 0 no-repeat; z-index: 1; background-size: 100% auto; position: absolute; right: -6px; top: 3px;}
.octagon-result-box .octagon-result-region li:last-child {padding: 4px 8px;}
.octagon-result-box .octagon-result-region li:last-child::before {display: none;}
.octagon-result-box .octagon-result-con {display: flex; flex-flow: column wrap; gap: 6px; margin-top: 10px; position: relative; z-index: 1;}
.octagon-result-box .octagon-result-con > b {font-size: var(--text-content-4); font-weight: 800;}
.octagon-result-box .octagon-result-con > p {color: var(--gray); font-size: var(--text-content-5); font-weight: 300; line-height: 1.1;}

.sub-content-typeE .color-b {color: #4588e6;}
.sub-content-typeE .color-v {color: #67c12f;}
.sub-content-typeE .color-i {color: #9E64B7;}
.sub-content-typeE .color-c {color: #50AE8A;}
.sub-content-typeE .color-a {color: #FF9242;}
.sub-content-typeE .color-t {color: #E05E5E;}
.sub-content-typeE .color-s {color: #33A9CA;}
.sub-content-typeE .color-p {color: #d3ab31;}

.survey-result {display: flex;flex-direction: column;gap: 24px;}
.survey-result .result-title {flex:1; text-align: center; font-size: var(--text-content-2); font-weight: 500; color: var(--black); line-height: 1.2; display: block;}
.survey-result .result-title > span {font-weight: 800;}
.survey-result .result-cont {flex:1;}
.survey-result .result-cont p {color: var(--black); font-size: var(--text-content-5); line-height: 1.2; background-color: #F4F8FF; border: 1px solid #D6E5FA; padding: 16px; height: 90px; overflow-y: auto;}
.survey-result .result-img {aspect-ratio: 16 / 9.5; display: flex; justify-content: center; align-items: center; overflow: hidden; margin: 0;}
.survey-result .result-img > img {max-width: 100%; /*max-height: 100%;*/ object-fit: cover;}
.survey-result .result-reference {flex:1;}
.survey-result .result-reference h4 {text-align: center;}
.survey-result .result-reference ul {border-radius: 16px; display: flex; flex-direction: row; justify-content: center; gap: 8px; align-items: flex-start;}
.survey-result .result-reference ul li {font-size: .8em; color: var(--blue); border: 1px solid #D6E5FA; padding: 6px 10px; background-color: #fff; text-align: center; border-radius: 4px; margin-top: 8px;}

/* place */
.sub-content-typeD {flex: 1; width: 1280px; margin: 0 auto; padding: 24px; display: flex; flex-direction: row; align-items: stretch; gap: 16px; height: 100%;} 
.sub-content-typeD .s-cont-left, .sub-content-typeD .s-cont-right {display: flex; border: 1px solid #D6E5FA; border-radius: 8px; background-color: var(--white); height: 100%;}
.sub-content-typeD .s-cont-left {flex: 1; flex-direction: column; position: relative; overflow: hidden;}
.sub-content-typeD .s-cont-right {display: flex; flex-flow: column wrap; gap: 16px; padding: 16px; width: 600px;}

.place-filter {position: absolute; top: 16px; left: 0; width: 100%; z-index: 10;}
.place-filter > div {display: flex; flex-direction: row; gap: 8px; justify-content: center; padding: 8px 0;}
.place-filter .place-item {min-width: 120px; display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 4px; padding: 4px 12px; border: 0; border-radius: 40px; transition: all .1s ease; border: 2px solid; box-shadow: 0px 0px 3px 2px rgba(0, 0, 0, 0.1); background-color: #fff;}
.place-filter .place-item > span {width: 20px; border-radius: 50%; padding: 3px; border: 1px solid #fff;}
.place-filter .place-item > span > img {width: 100%; display: block; margin: 0 auto;}

.place-filter .place-item.place-A {color: #9876FF; border-color: #9876FF;}
.place-filter .place-item.place-A:hover, .place-filter .place-item.place-A.is-on {background-color: #9876FF; color: #fff;}
.place-filter .place-item.place-A > span {background-color: #9876FF;}
.place-filter .place-item.place-B {color: #FE6888; border-color: #FE6888;}
.place-filter .place-item.place-B:hover, .place-filter .place-item.place-B.is-on {background-color: #FE6888; color: #fff;}
.place-filter .place-item.place-B > span {background-color: #FE6888;}
.place-filter .place-item.place-C {color: #00AC90; border-color: #00AC90;}
.place-filter .place-item.place-C:hover, .place-filter .place-item.place-C.is-on {background-color: #00AC90; color: #fff;}
.place-filter .place-item.place-C > span {background-color: #00AC90;}
.place-filter .place-item.place-D {color: #FFA04B; border-color: #FFA04B;}
.place-filter .place-item.place-D:hover, .place-filter .place-item.place-D.is-on {background-color: #FFA04B; color: #fff;}
.place-filter .place-item.place-D > span {background-color: #FFA04B;}

.place-title {border-bottom: 1px solid #D8E5F1; display: flex; flex-direction: row; align-items: center; gap: 8px; height: 40px; position: relative;}
.place-title b {padding: 4px 10px; color: var(--white); font-size: .8em; font-weight: 400; display: flex; flex-direction: row; gap: 2px; justify-content: center;line-height: 16px; align-items: center; position: relative; border-radius: 14px;}
.place-title b::before {content:''; width: 16px; height: 16px; background-position: 50% 50%; background-size: 100% auto; background-repeat: no-repeat;}
.place-title b.place-A {background-color: #9876FF;}
.place-title b.place-A::before {background-image: url(../img/img_placeA.svg);}
.place-title b.place-B {background-color: #FE6888;}
.place-title b.place-B::before {background-image: url(../img/img_placeB.svg);}
.place-title b.place-C {background-color: #00AC90;}
.place-title b.place-C::before {background-image: url(../img/img_placeC.svg);}
.place-title b.place-D {background-color: #FFA04B;}
.place-title b.place-D::before {background-image: url(../img/img_placeD.svg);}
.place-intro {width: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; gap: 24px; height: 100%;}
.place-intro .img-place {width: 200px;}
.place-intro .place-text {font-size: var(--text-content-3); color: var(--black); line-height: 1.2; font-weight: 600;}
.place-btn {position: absolute; border: 0; background-color: transparent;}
.place-btn span {display: block; width: 24px; height: 24px; border-radius: 50%; z-index: 2; position: relative; transition: all .1s ease; box-shadow: 0px 0px 1px inset rgba(0, 0, 0, .5);}
.place-btn.place-A span {background: url(../img/img_placeA.svg) 48% 50% no-repeat; background-color: #9876FF; background-size: 68% auto !important;}
.place-btn.place-A:hover  span {background-color: #8258ff;}
.place-btn.place-B  span {background: url(../img/img_placeB.svg) 48% 50% no-repeat ; background-color: #FE6888; background-size: auto 64% !important;}
.place-btn.place-B:hover  span {background-color: #ff3c66;}
.place-btn.place-C  span {background: url(../img/img_placeC.svg) 50% 40% no-repeat ; background-color: #00AC90;}
.place-btn.place-C:hover  span {background-color: #008e76;}
.place-btn.place-D  span{background: url(../img/img_placeD.svg) 50% 40% no-repeat ; background-color: #FFA04B; background-size: auto 70% !important;}
.place-btn.place-D:hover  span {background-color: #ff8b25;}
.place-active::after { position: absolute; width: 70px; height: 70px; border-radius: 50%; opacity: .3; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); content: ''; animation: pulse 2s infinite ease-in-out;}

.place-btn.place-A.place-active::after {background-color: #9876FF;}
.place-btn.place-B.place-active::after {background-color: #FE6888;}
.place-btn.place-C.place-active::after {background-color: #00AC90;}
.place-btn.place-D.place-active::after {background-color: #FFA04B;}
@keyframes pulse { 0% { transform: translate(-50%, -50%) scale(1); opacity: .3; } 50% { transform: translate(-50%, -50%) scale(1.05); opacity: .5; } 100% { transform: translate(-50%, -50%) scale(1); opacity: .3; } }

.place-cont-wrap {overflow-y: auto; flex:1;}
.place-cont-wrap .place-img-wrap { max-width: 540px; position: relative; }
/* 메인 스위퍼에 버튼의 기준점(relative) 설정 */
.place-cont-wrap .place-img-wrap .main-swiper { position: relative; overflow: hidden; }
.place-cont-wrap .place-img-wrap .main-swiper .swiper-slide .img { width: 100%; aspect-ratio: 4 / 3; display: flex; justify-content: center; align-items: center; overflow: hidden; }
.place-cont-wrap .place-img-wrap .main-swiper .swiper-slide .img > img { width: 100%; height: 100%; object-fit: cover; }
/* 버튼 위치: main-swiper의 정중앙으로 고정 */
.main-swiper .swiper-btn { position: absolute;top: calc(50% - 14px); left: 0; width: 100%; z-index: 10; transform: translateY(-50%); pointer-events: none; }
.main-swiper .swiper-btn .swiper-button-prev, .main-swiper .swiper-btn .swiper-button-next { position: absolute; pointer-events: auto; width: 38px; height: 38px; background-size: 18px; border-radius: 50%; border: 1px solid #b5c6e4; background-color: #fff; margin: 0; top: auto; bottom: auto; }
.main-swiper .swiper-btn .swiper-button-prev { background-image: url(../img/img_arrow05.png); left: 10px; }
.main-swiper .swiper-btn .swiper-button-next { background-image: url(../img/img_arrow05.png); transform: rotate(-180deg); right: 10px; }
.main-swiper .swiper-btn .swiper-button-prev::after, .main-swiper .swiper-btn .swiper-button-next::after { display: none; }
/* 썸네일 스타일 */
.thumb-swiper { margin-top: 10px !important; overflow: hidden;}
.thumb-swiper .swiper-slide { cursor: pointer; opacity: 0.4; transition: opacity 0.3s; }
.thumb-swiper .img { width: 100%; aspect-ratio: 16 / 9; overflow: hidden; }
.thumb-swiper .img img {width: 100%; height: 100%; object-fit: cover; }
.thumb-swiper .swiper-slide-thumb-active { opacity: 1;}
.thumb-swiper .swiper-slide-thumb-active img { outline: 2px solid var(--black); outline-offset: -2px; }

.thumb-swiper .swiper-slide .text {display: block; font-size: .9em; color: var(--black); font-weight: 400;width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: center; margin-top: 4px;}


.place-cont-wrap .place-cont {color: var(--black); font-weight: 400; font-size: var(--text-content-5); margin: 1em 0; line-height: 1.4;}
.place-cont-wrap .place-cont > b {color: var(--blue); font-weight: 600; font-size: var(--text-content-5);}
.place-cont-wrap .place-spec {background-color: #F4F8FF; border: 1px solid #D6E5FA; border-radius: 4px; padding: 16px;}
.place-cont-wrap .place-spec ul {display: flex; flex-direction: column; gap: 8px;}
.place-cont-wrap .place-spec li {display: flex; flex-direction: row; gap: 24px; line-height: 1.2;}
.place-cont-wrap .place-spec li > b {min-width: 50px;color: var(--black); font-size: var(--text-content-5); font-weight: 600;}
.place-cont-wrap .place-spec li > p {color: var(--gray); font-size: var(--text-content-5); font-weight: 400; line-height: 1.4;}

.place-detail {height: 150px; margin-top: 16px;}
.place-detail h4 {text-align: center; margin-bottom: 16px;}
.place-detail .place-img-detail-wrap { max-width: 540px; position: relative; margin: 0 auto;}
.place-detail .place-img-detail-wrap .swiper {overflow: hidden; margin: 0 40px; padding: 0; position: relative;}
.place-detail .place-img-detail-wrap .swiper-slide {width: 100%; display: flex; justify-content: center; align-items: center; flex-direction: column; gap: 4px;}
.place-detail .place-img-detail-wrap .swiper-slide .img {width: 100%;height: 100%; aspect-ratio: 16 / 12; display: flex; justify-content: center; align-items: center; overflow: hidden;}
.place-detail .place-img-detail-wrap .swiper-slide .img > img {width: 100%; height: 100%; object-fit: cover; display: block;}
.place-detail .place-img-detail-wrap .swiper-slide .text {display: block; font-size: .8em; color: var(--black); font-weight: 400;width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: center;}
.place-img-detail-wrap .swiper-btn > div:hover {cursor: pointer;}
.place-img-detail-wrap .swiper-btn {position: absolute; width: 100%; z-index: 100; top: calc(50% - 28px); left: 0;}
.place-img-detail-wrap .swiper-btn .swiper-button-prev2, .place-img-detail-wrap .swiper-btn .swiper-button-next2 {width: 38px; height: 38px; background-size: 18px; border-radius: 50%; border: 0; background-color: #fff; position: absolute;}
.place-img-detail-wrap .swiper-btn .swiper-button-prev2 {background: url(../img/img_arrow05.png) 50% 50% no-repeat; left: -5px;}
.place-img-detail-wrap .swiper-btn .swiper-button-next2 {background: url(../img/img_arrow05.png) 50% 50% no-repeat; transform: rotate(-180deg); right: -5px;}
.place-img-detail-wrap .swiper-button-prev2.swiper-button-disabled, .place-img-detail-wrap .swiper-button-next2.swiper-button-disabled {opacity: .5;}

.input-form-list ul li {padding: 12px 16px; border-bottom: 1px solid #f0f0f0; cursor: pointer; transition: background-color 0.2s;}
.input-form-list ul li.qSugItem.active {background-color: #F5F5F5;}
.input-form-list ul li:hover {background-color: #F5F5F5;}
.place-title .btn-edit-hub { position: absolute; right: 0; top: 8px; background: #fff; border: 1px solid #ccc; border-radius: 4px; color: var(--gray); }
#editPop { position: fixed; top: 0px; left: 0px; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); z-index: 10001; }
#editPop .pop-con { background: #fff; border-radius: 12px; padding: 32px; width: 520px; max-height: 80vh; overflow-y: auto; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
#editPop .pop-con .btn_close img { width: 24px; height: 24px; }
#editPop .pop-con h3 { padding-left: 0; margin: 0 0 24px; }
.edit-field-wrap { display: flex; flex-flow: row wrap; gap: 16px; align-items: center; justify-content: flex-start; margin-bottom: 8px;}
.edit-field-wrap > label { width: 90px; }
.edit-field-wrap > .edit-input { flex: 1; }
#editPop .pop-con .edit-btn-wrap { display: flex; flex-flow: row wrap; gap: 8px; align-items: center; justify-content: center; margin: 24px 0 0; }
#editPop .pop-con .btn-cancel { background: #fff; color: var(--gray); border: 1px solid #ddd;}

.ranking.collapsed { max-height: 0 !important; opacity: 0; overflow: hidden; }

/* alert */
.q-alert-backdrop { display: none; position: fixed; left: 0; top: 0; width: 100vw; height: 100vh; background: rgba(0,0,0,.35); z-index: 20000; }
.q-alert { display: none; position: fixed; left: 50%; top: 16%; transform: translateX(-50%); width: 300px; max-width: calc(100vw - 40px); background: #fff; border: 1px solid #9e9e9e; border-radius: 6px; box-shadow: 0 16px 40px rgba(0,0,0,.25); overflow: hidden; z-index: 20001; }
.q-alert .q-alert-title { background: #f3f3f3; padding: 12px 14px; font-weight: 700; font-size: 14px; color: #111; border-bottom: 1px solid #d0d0d0; text-align: center; }
.q-alert .q-alert-body { padding: 16px 14px; font-size: 14px; color: #111; text-align: center;}
.q-alert .q-alert-actions { padding: 10px 14px 12px; text-align: center;}
.q-alert .q-alert-actions button { padding: 0 16px;}
.img_rank {display: block; margin:0 auto 16px;}

/* 260407 */
.octagon-legend-wrap { display: flex; align-items: flex-start; }
.octagon-sub-list { display: flex; flex-direction: column; gap: 2px; padding: 4px 6px; background:#ffffff; border: 1px solid #c1c6d4; border-left: none; position: absolute; bottom: 12px; left: 103px; height: 194px; z-index:99;}
.octagon-sub-item { display: flex; align-items: center; gap: 5px; font-size: 0.75rem; color: #444; white-space: nowrap; }
.octagon-sub-dot { width: 10px; height: 18px; border-radius: 0; display: inline-block; flex-shrink: 0; }

/* 팝업 내부 스크롤 영역 */
.sou-pop-con {margin: 3em 2em 2em; height: calc(100% - 5em); overflow-y: auto; padding-right: .5em;}
 
/* 스크롤바 */
.sou-pop-con::-webkit-scrollbar {width: 4px;}
.sou-pop-con::-webkit-scrollbar-track {background: #f1f1f1; border-radius: 4px;}
.sou-pop-con::-webkit-scrollbar-thumb {background: #c8d9f0; border-radius: 4px;}
.sou-pop-con::-webkit-scrollbar-thumb:hover {background: #4480F8;}
 
/* 팝업 헤더 */
.sou-pop-con > h3 {font-size: 1.25em; font-weight: 600; text-align: center; margin: 0 0 .4em; padding: 0;}
.sou-pop-con > h3 > b {font-weight: 800; background: linear-gradient(to right top, #2BBCE6, #7322E8); -webkit-background-clip: text; color: transparent;}
.sou-pop-desc {font-size: .875em; color: #4355A7; text-align: center; display: block; margin: 0 0 1.8em;}
 
/* 섹션 */
.sou-section {margin-bottom: 2em;}
.sou-section-title {font-size: .9em; font-weight: 700; color: #fff; background: linear-gradient(90deg, #51D0E9 0%, #4480F8 50%, #0D469F 100%); padding: .45em 1em; border-radius: 6px; margin: 0 0 .75em; letter-spacing: -.01em;}
 
/* 통계 테이블 */
.sou-table {width: 100%; border-collapse: collapse; font-size: .8em; table-layout: fixed;}
.sou-table thead tr {background-color: #EDF4FF;}
.sou-table thead th {padding: 8px 10px; font-weight: 600; color: #1a3a7c; text-align: left; border-bottom: 2px solid #c8d9f0; border-right: 1px solid #d6e5fa; white-space: nowrap;}
.sou-table thead th:last-child {border-right: none;}
.sou-table tbody td {padding: 6px 10px; border-bottom: 1px solid #edf2fb; border-right: 1px solid #edf2fb; vertical-align: middle; color: #333; line-height: 1.4; word-break: keep-all;}
.sou-table tbody td:last-child {border-right: none;}
.sou-table tbody tr:last-child td {border-bottom: none;}
.sou-table tbody tr:hover td {background-color: #f7fbff;}
 
/* 부문 셀 */
.sou-table td.cat {font-weight: 700; font-size: .95em; color: #4355A7; background-color: #f0f5ff; text-align: center; vertical-align: top; padding-top: 10px; border-right: 2px solid #c8d9f0;}
 
/* 파생산정 텍스트 */
.sou-table td.sou-note {color: #888; font-size: .9em; font-style: italic;}
 
/* 링크 */
.sou-table a {color: #4480F8; text-decoration: none; font-weight: 500; transition: color .15s ease;}
.sou-table a:hover {color: #0D469F; text-decoration: underline;}
 
/* Space & Place 목록 */
.sou-place-list {display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; list-style: none; margin: 0; padding: 0; border: 1px solid #d6e5fa; border-radius: 6px; overflow: hidden;}
.sou-place-list li {display: flex; flex-direction: row; align-items: center; gap: 0; padding: 7px 12px; border-bottom: 1px solid #edf2fb; font-size: .8em; transition: background-color .15s ease;}
.sou-place-list li:nth-child(odd) {border-right: 1px solid #d6e5fa;}
.sou-place-list li:nth-last-child(-n+2) {border-bottom: none;}
.sou-place-list li:hover {background-color: #f7fbff;}
.sou-place-list li > span {min-width: 130px; color: #333; font-weight: 500; flex-shrink: 0;}
.sou-place-list li > a {color: #4480F8; text-decoration: none; font-size: .95em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; transition: color .15s ease;}
.sou-place-list li > a:hover {color: #0D469F; text-decoration: underline;}
