@charset "utf-8";

/* =========================================================================
   서브페이지 본문 블록
   -------------------------------------------------------------------------
   기존 sub.css 에서 헤더/푸터/배너/탭 규칙을 걷어낸 것.
   그 부분은 v2.css 가 담당한다. 여기에는 각 페이지 고유의 표·카드·
   절차도 같은 콘텐츠 컴포넌트만 남긴다.
   ========================================================================= */


.point2{color:red;}
.preparing{display:flex; justify-content: center;}

/* 헹사소개 페이지 */
.history{ padding:30px 0; }
.history span{border-bottom:3px solid var(--c1); display:block;}
.event-item{display:flex; gap:30px; padding:20px 0px;  align-items: center; border-bottom:1px solid var(--line);}
.event-item .title{  padding:15px;  min-width: 100px; text-align:center; border-radius:100px; background:var(--c1-soft);}
.event-item .text{font-size:16px; color:var(--ink-600);}

.vision{border-radius:30px; padding:40px; background:var(--surface-warm); border:1px solid var(--line); word-break: keep-all;}
.vision p{font-size:16px; color:var(--ink-600); padding-top:10px; font-weight:bold;}

.system{padding-top:var(--section-y);}
.system strong{font-size:22px;}
.system> p {font-size:16px; color:var(--ink-600); padding:10px 0 30px 0;}
/* 전체 품목군 (4분면) */
.itemgroup{
  display:grid; grid-template-columns:1fr 1fr;
  margin:0 0 34px; border-radius:20px; overflow:hidden;
  background:linear-gradient(135deg,#FBF3EE 0%,#F7F1F8 48%,#F1F1FB 100%);
}
.itemgroup__cell{
  display:grid; grid-template-columns:150px 1fr; gap:18px;
  padding:26px 28px; min-width:0;
}
.itemgroup__cell:nth-child(1),
.itemgroup__cell:nth-child(2){border-bottom:1px solid rgba(93,73,150,.14);}
.itemgroup__cell:nth-child(odd){border-right:1px solid rgba(93,73,150,.14);}
.itemgroup__cell h3{
  margin:0; color:var(--c1); font-size:19px; font-weight:700;
  line-height:1.35; letter-spacing:-.01em;
}
/* 4개 산업군을 마크 그라디언트 순서대로 구분한다 */
.itemgroup__cell:nth-child(2) h3{color:var(--c2);}
.itemgroup__cell:nth-child(3) h3{color:var(--c3);}
.itemgroup__cell:nth-child(4) h3{color:var(--c4);}
.itemgroup__cell:nth-child(2) li::before{background:var(--c2);}
.itemgroup__cell:nth-child(3) li::before{background:var(--c3);}
.itemgroup__cell:nth-child(4) li::before{background:var(--c4);}
.itemgroup__cell ul{margin:0;padding:0;list-style:none;}
.itemgroup__cell li{
  position:relative; padding-left:13px; margin-bottom:6px;
  color:var(--ink-700); font-size:15px; line-height:1.55; word-break:keep-all;
}
.itemgroup__cell li:last-child{margin-bottom:0;}
.itemgroup__cell li::before{
  content:''; position:absolute; left:0; top:.62em;
  width:4px; height:4px; border-radius:50%; background:#8E86C4;
}

.system-list{display:flex; flex-direction:row; flex-wrap:wrap; gap:22px; align-items:stretch; }
.system-list> div{width:calc((100% - 22px) / 2); height:233px; box-sizing:border-box; border-radius:30px; position:relative;}
.system-list> div{border:3px solid transparent; transition:border-color .2s, transform .2s;}
.system-list> div:hover{transform:translateY(-3px);}
.system-list> div:nth-child(1):hover{border-color:var(--c1);}
.system-list> div:nth-child(2):hover{border-color:var(--c2);}
.system-list> div:nth-child(3):hover{border-color:var(--c3);}
.system-list> div:nth-child(4):hover{border-color:var(--c4);}
.system-list> div:nth-child(1) {width:calc((100% - 22px) / 2); background:linear-gradient(0deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.3)), url(/assets/images/image/1-8228688a24e49f7a1cd0d194d3b69557.jpg) no-repeat center / cover; }
.system-list> div:nth-child(2) {background:linear-gradient(0deg, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)),  url(/assets/images/image/2-b6d38d2825b2d952faf06fa56dc09ad3.jpg) no-repeat center / cover; }
.system-list> div:nth-child(3) {background:linear-gradient(0deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.3)),  url(/assets/images/image/3-d4a7b2fdd5a023b32abdf378814cb1d4.jpg) no-repeat center / cover; }
.system-list> div:nth-child(4) {background:linear-gradient(0deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.3)),  url(/assets/images/image/4-b46b081334ff0464da8f8b05b01e41b6.jpg) no-repeat center / cover; }
.system-list> div:nth-child(5) {background:linear-gradient(0deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.3)),  url(/assets/images/image/5-1ee6b8a33da82943b978f8de016591ed.png) no-repeat center / cover; }
.system-list> div:nth-child(6) {background:linear-gradient(0deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.3)),  url(/assets/images/image/6-18f017b37072b29d7c0548202df78770.png) no-repeat center / cover; }
.system-list> div:nth-child(7) {background:linear-gradient(0deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.4)),  url(/assets/images/image/7-53c2e97c2621d214475ee5c7431f719d.png) no-repeat center / cover; }
.system-list .text-box{color:#fff; position:absolute; right:40px; bottom:40px; left:40px; }
.system-list .text-box h3{letter-spacing:0.04em;}
.system-list .text-box p{padding-top:10px; font-size:15px; letter-spacing:0.03em; line-height:1.6; word-break:keep-all;}

/* 전시회 갤러리 */
.gallery-page__head{display:block; border-bottom:1px solid var(--line); margin-bottom:50px;}
.gallery-page__title{margin:0 0 30px; color:var(--ink-900); font-size:22px; font-weight:700; line-height:1.3;}

.gallery-empty{padding:70px 20px; border:1px solid var(--line); border-radius:14px; background:#fff; color:var(--ink-600); text-align:center;}
.gallery-grid{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:30px 20px;}
.gallery-card{border:1px solid var(--line); background:#fff; overflow:hidden;}
.gallery-card img{display:block; width:100%; height:200px; object-fit:cover;}
.gallery-card > div{padding:20px;}
.gallery-card p.gallery-card__title{margin:0; font-size:16px; font-weight:400; color:#000;}
.gallery-card p{margin:10px 0 0; font-size:14px; color:var(--ink-500); font-weight:500;}

.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;}

/* 부대행사 안내 */
.side-event{padding-top:var(--section-y);}
.side-event h2{padding-bottom:30px;}
.side-event__table-wrap{overflow-x:auto; border-top:3px solid var(--c1);}
.side-event__table{width:100%; min-width:760px; border-collapse:collapse; text-align:center; table-layout:fixed;}
.side-event__table th{height:68px; background:var(--c1-soft); color:var(--ink-900); font-size:18px; font-weight:700;}
.side-event__table td{height:63px; padding:0 18px; color:var(--ink-700); font-size:16px;}
.side-event__table th,
.side-event__table td{border-right:1px solid var(--line); border-bottom:1px solid var(--line); vertical-align:middle;}
.side-event__table th:last-child,
.side-event__table td:last-child{border-right:0;}
.side-event__table td[rowspan]{border-left:1px solid var(--line);}
/* 호수별 경계: 표 테두리 충돌을 피하기 위해 셀 안쪽에 1px 선만 표시 */
.side-event__room-divider{border-right:0 !important; box-shadow:inset -1px 0 0 var(--line);}
.side-event__room-divider + td[rowspan]{border-left:0;}

/* 공지사항 */
.notice-board__title{margin:0 0 24px; color:var(--ink-900); font-size:22px; font-weight:700; line-height:1.3;}
.notice-board__top{display:flex; align-items:center; justify-content:space-between; gap:30px; margin-bottom:30px;}
.notice-board__count{display:flex; align-items:center; gap:10px; margin:0; color:var(--ink-600); font-size:18px;}
.notice-board__count strong{font-weight:400; color:var(--c1);}
.notice-board__count span{display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:var(--surface-warm); color:var(--brand-dark);}
.notice-board__count svg{width:17px; height:17px; fill:currentColor;}
.notice-board__search{display:flex; gap:10px; height:50px;}
.notice-board__search select{width:130px; padding:0 38px 0 10px; border:1px solid var(--line); appearance:none; background-color:#fff; background-image:linear-gradient(45deg, transparent 50%, var(--ink-700) 50%),linear-gradient(135deg, var(--ink-700) 50%, transparent 50%); background-position:calc(100% - 17px) 22px,calc(100% - 12px) 22px; background-size:5px 5px,5px 5px; background-repeat:no-repeat; color:var(--ink-700); font:inherit;}
.notice-board__search label{display:flex; width:405px; background:var(--surface-warm);}
.notice-board__search input{width:100%; min-width:0; padding:0 12px; border:0; outline:0; background:transparent; font-size:16px;}
.notice-board__search input::placeholder{color:var(--ink-500); font-size:16px;}
.notice-board__search input::-webkit-search-cancel-button{-webkit-appearance:none; appearance:none;}
.notice-board__search button{display:grid; place-items:center; width:54px; border:0; background:transparent; color:var(--ink-900); cursor:pointer;}
.notice-board__search svg{width:27px; height:27px; stroke-width:1.25;}
.notice-board__search .notice-search__clear{display:none; flex:0 0 28px; align-self:center; width:28px; height:28px; margin-right:8px; border-radius:50%; background:var(--c1-soft); color:var(--c1);}
.notice-board__search .notice-search__clear.is-visible{display:grid;}
.notice-board__search .notice-search__clear svg{width:15px; height:15px; stroke-width:2;}
.notice-board__table-wrap{overflow-x:auto; border-top:3px solid var(--c1);}
.notice-board__table{width:100%; min-width:820px; border-collapse:collapse; table-layout:fixed; text-align:center;}
.notice-board__table th{height:54px; background:var(--c1-soft); color:var(--brand-dark); font-weight:500;}
.notice-board__table th:nth-child(1){width:10%;}.notice-board__table th:nth-child(2){width:64%;}.notice-board__table th:nth-child(3){width:15%;}.notice-board__table th:nth-child(4){width:11%;}
.notice-board__table th,.notice-board__table td{border:1px solid var(--line); vertical-align:middle;}
.notice-board__table td{height:46px; padding:0 14px; color:var(--ink-700); font-size:16px;}
.notice-board__table td:nth-child(2){text-align:left; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.notice-board__table td a{color:inherit; text-decoration:none;}

/* 관람객 FAQ */
.faq-board__title{margin:0 0 24px; color:var(--ink-900); font-size:22px; font-weight:700; line-height:1.3;}
.faq-board__list{border-top:3px solid var(--c1); border-bottom:1px solid #B0AEC2;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-item:last-child{border-bottom:0;}
.faq-item h3{margin:0;}
.faq-item button{display:flex; align-items:center; width:100%; min-height:66px; padding:15px 34px; border:0; background:#fff; color:var(--brand-dark); text-align:left; font:inherit; font-size:17px; font-weight:600; cursor:pointer;}
.faq-item button span{margin-right:18px; color:var(--c1); font-size:20px; font-weight:700;}
.faq-item button svg{width:26px; height:26px; margin-left:auto; color:#E4DCD3; transition:transform .2s ease;}
.faq-item.is-open button svg{transform:rotate(180deg); color:var(--ink-600);}
.faq-item__answer{display:none; align-items:flex-start; gap:28px; padding:20px 76px 22px; border-top:1px solid var(--line); background:var(--c1-soft); color:var(--ink-700); line-height:1.7;}
.faq-item.is-open .faq-item__answer{display:flex;}
.faq-item__answer strong{position:relative; top:-3px; color:var(--ink-700); font-size:18px; line-height:1.7;}
.faq-item__answer p{margin:0; font-size:15px;}

/* 참가기업리스트 검색 */
.exhibitor-search-page{padding:20px 0 40px;}
.exhibitor-search-tabs{display:grid; grid-template-columns:repeat(2, 1fr); margin-bottom:40px;}
.exhibitor-search-tabs button{height:64px; border:0; background:var(--c1-soft); color:var(--c1); font:inherit; font-size:18px; font-weight:700; cursor:pointer;}
.exhibitor-search-tabs button.is-active{background:var(--c1); color:#fff;}
.exhibitor-search-form{display:flex; align-items:center; gap:20px; padding:10px 30px; border:1px solid var(--line); background:var(--surface-warm);}
.exhibitor-search-form label{display:flex; align-items:center; gap:10px; color:var(--ink-900); font-size:16px; white-space:nowrap;}
.exhibitor-search-form select{width:130px; height:40px; border:1px solid var(--line-strong); padding:0 38px 0 10px; appearance:none; background-color:#fff; background-image:linear-gradient(45deg, transparent 50%, var(--ink-700) 50%),linear-gradient(135deg, var(--ink-700) 50%, transparent 50%); background-position:calc(100% - 17px) 17px,calc(100% - 12px) 17px; background-size:5px 5px,5px 5px; background-repeat:no-repeat; color:var(--ink-700); font:inherit;}
.exhibitor-search-form__keyword{flex:1; min-width:240px;}
.exhibitor-search-form__keyword > span{display:flex; flex:1; height:40px; border:1px solid var(--line-strong); background:#fff;}
.exhibitor-search-form__keyword input{width:100%; min-width:0; border:0; outline:0; padding:0 10px; font:inherit;}
.exhibitor-search-form__keyword button{display:grid; place-items:center; width:46px; border:0; background:#fff; color:var(--ink-900); cursor:pointer;}
.exhibitor-search-form__keyword svg{width:24px; height:24px; stroke-width:1.5;}
.exhibitor-search-form__sort{margin-left:auto;}
.exhibitor-search-form__sort input{appearance:none; width:24px; height:24px; margin:0; border:1px solid var(--line-strong); background:#fff; cursor:pointer;}
.exhibitor-search-form__sort input:checked{background:var(--c1); box-shadow:inset 0 0 0 5px #fff;}
.exhibitor-category__head{display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:78px; border:1px solid var(--line); background:var(--c1-soft); color:var(--c1); text-align:center;}
.exhibitor-category__head strong{font-size:18px; font-weight:600;}
.exhibitor-category__head span{margin-top:3px; font-size:16px;}
.exhibitor-category__list{display:grid; grid-template-columns:repeat(4, minmax(0,1fr));}
.exhibitor-category__list button{min-height:64px; padding:10px 22px; border:1px solid var(--line); border-top:0; background:#fff; color:var(--ink-500); font:inherit; font-size:16px; line-height:1.15; cursor:pointer;}
.exhibitor-category__list button:not(:nth-child(4n + 1)){border-left:0;}
.exhibitor-category__list button:hover{background:var(--c1-soft); color:var(--c1);}

/* 참가 안내 페이지 */
.effect{text-align:center;}
.effect h2{word-break: keep-all;}
.effect .title{font-size:21px; padding: 20px 0 10px 0;}
.effect .text {font-size:16px; color:var(--ink-600); word-break: keep-all;}
.effect_box ul{display:flex; gap:30px; text-align:center; padding:0px; margin:50px 0 20px 0; }
.effect_box ul li{border:1px solid var(--line); background:var(--surface-warm); border-radius: 20px; width:100%; padding:20px;}
.effect_box ul li strong{font-size:26px; color:var(--c1);}
.effect_box ul li p{padding-top:20px;  word-break: keep-all;}
.effect_box ul li p i{font-size:14px;  color:var(--ink-600);}
.effect .result{border-radius: 20px; padding: 40px; background: var(--surface-warm); border: 1px solid var(--line); word-break: keep-all; font-size:18px;}

.participate_benefit {padding-top:var(--section-y);}
.participate_benefit h2{word-break: keep-all; padding-bottom:30px;}

.diagram { height: 100%;}
.diagram ul { display: flex; flex-direction: column; justify-content: space-between; gap:3.2rem; height: 100%; padding:0px;}
.diagram li { flex:1; display: flex; flex-direction:row; justify-content: space-between; padding:30px; background: white; border-radius: 15px; box-shadow: 0px 10px 10px 0px #81818126;  gap:30px; width:400px; align-items: center;}
.diagram-box {z-index: 1;position: relative;display: grid;grid-template-columns: 1fr 1.5fr 1fr;align-items: center;width:100%; }
.diagram-box .diagram-bg > * { z-index: 1; }
.diagram-box .diagram-bg > div { position: absolute; left:50%; top:50%; transform: translate(-50%,-50%); pointer-events: none; }
.diagram-box .diagram-bg > img { position: relative;}
.diagram-bg { position: relative; width:400px; }
.diagram-logo{ position: relative; width: 16rem; aspect-ratio: 1/1; }
.diagram-logo span { z-index: -1; position: absolute; left:50%; top:50%; transform: translate(-50%,-50%); aspect-ratio: 1/1; border-radius: 100px; width:60%; background: var(--c1-soft); }
.diagram-logo p {position: absolute; left:50%; top:50%; transform: translate(-50%,-50%); text-align:center; font-weight:bold; color:var(--brand-dark);}
.diagram .list-img { flex-shrink: 0; }
.diagram .list-title { font-size: var(--font-size-1); line-height: 1.2; font-weight: 600; }
.diagram .list-text { margin-top: 1rem; color:var(--ink-600); font-size:14px; }
.diagram .list-img img{border-radius:100px;}

.booth{padding-top:var(--section-y); width: 100%; overflow: auto;}
.booth_image {width: 250px; margin:0 auto;}
.booth_table {text-align: center; width: 100%; word-break:keep-all; white-space: nowrap;}
.booth_table > tbody > .booth_row > .booth_cell {border: 1px solid var(--line-strong); padding: 20px; }
.booth_table > tbody > .booth_row > .booth_cell--title {background-color: var(--c1); color: #fff;}
.booth_table > tbody > .booth_row > .booth_cell > .booth_desc-text {font-size: 14px;}

.proposal{padding:50px 0;}
/* 높이를 고정하면 문구가 배경 밖으로 밀려 안 보인다(영문은 더 길다).
   최소 높이만 주고 안에서 가운데로 맞춘다. */
.proposal div{background:linear-gradient(0deg, rgba(17, 26, 56, 0.5), rgba(17, 26, 56, 0.5)), url(/assets/images/image/partner-019efc7bda08745b386653981930e9cf.jpg) no-repeat center / cover; width:1200px; min-height:200px; text-align:center; color:#F8B56F; padding:var(--section-y) 24px; display:flex; flex-direction:column; justify-content:center;}
.proposal p{margin-top:10px; font-size:18px; color:#fff;}

.inquiry .list-content {display:flex; height:80px;}
.inquiry dl .list-content:nth-child(1) {border-top:3px solid var(--c1);}
.inquiry .list-content dt{width: 192px; background: var(--c1-soft); font-weight: 500; justify-content: center;}
.inquiry .list-content dd{flex: 1 1 auto;justify-content: flex-start;font-weight: 400; margin-inline-start: 0px; padding-left:30px; color: var(--ink-600); word-break:keep-all;}
.inquiry dl .list-content dt,
.inquiry dl .list-content dd{border-bottom: 1px solid var(--line); min-height: 50px; display: flex; align-items: center; }

.step{padding-top:var(--section-y);}
.step h2{padding-bottom:30px;}
.step-wrap{display:flex; gap:20px; justify-content:center; flex-wrap:no-wrap;}
.step-box{flex:1;padding:30px; border:1px solid var(--line);border-radius:28px; text-align:center; transition:.3s;}
.step-box h3{color:var(--c1);}
.step-box:nth-child(2) h3{color:var(--c2);}
.step-box:nth-child(3) h3{color:var(--c3);}
.step-box:nth-child(4) h3{color:var(--c4);}
.step-box:nth-child(5) h3{color:var(--c1);}
.step-box span{font-size:14px; display:block; color:#b41b38; font-weight:bold; }
.step-icon {display:flex; justify-content:center; align-items:center; padding:20px 0;}
.step-info{display:flex; justify-content: space-between; align-items: center; background: var(--surface-warm); margin-top: 30px; line-height: 180%; word-break: keep-all; padding:30px;}
.info_buttons{display:flex; flex-direction:column; gap:10px; flex:0 0 auto;}
.info_button{background:var(--c1); border-radius:4px;}
.info_button a{display:block; min-width:260px; padding:15px 28px; color:#fff; font-weight:700; text-align:center; line-height:1.4;}
.info_button:hover{background:#4B4790;}
.step-text{line-height:175%; color:var(--ink-600);}

/*부대시설 안내 페이지 */
.facility{overflow: auto;}
.facility span{color:red; text-align:right; display:block; font-size:14px;}
.facility_table {margin-top:15px; text-align: center; width: 100%; word-break:keep-all; white-space: nowrap;}
.facility_table th{background-color: var(--c1); color: #fff;}
.facility_table th,
.facility_table td {border: 1px solid var(--line-strong); padding: 20px;}

.rental{margin-top:50px;}
.rental .list-content {display:flex; height:80px;}
.rental dl .list-content:nth-child(1) {border-top:3px solid var(--c1);}
.rental .list-content dt{width: 192px; background: var(--c1-soft); font-weight: 500; justify-content: center;}
.rental .list-content dd{flex: 1 1 auto;justify-content: flex-start;font-weight: 400; margin-inline-start: 0px; padding-left:30px; color: var(--ink-600); word-break:keep-all;}
.rental dl .list-content dt,
.rental dl .list-content dd{border-bottom: 1px solid var(--line); min-height: 50px; display: flex; align-items: center; }

.rental-info{background: var(--surface-warm); line-height: 200%; word-break: keep-all; padding:30px;}
.rental-info dl{margin:0;}
.rental_inquiry dt{font-size:18px; font-weight:bold;}
.rental_inquiry dd{margin:0;}
.rental_inquiry dd{margin-left:10px; color:var(--ink-600);}

.precautions{padding-top:var(--section-y);}
.precautions div{margin-top:15px; background:var(--surface-warm); line-height: 200%; word-break: keep-all; padding:30px; color:var(--ink-600);}
.precautions div p{text-indent: 10px;}
.precautions div ul li:last-child{margin-top:10px;}

/*관람 안내 페이지 */
.entrance{overflow: auto; margin-top:20px;}
.entrance_table {margin-top:30px; text-align: center; width: 100%; word-break:keep-all; white-space: nowrap;}
.entrance_table th{background-color: var(--c1); color: #fff;}
.entrance_table th,
.entrance_table td {border: 1px solid var(--line-strong); padding: 20px;}
.entrance-procedure{padding-top:var(--section-y);}
.entrance-procedure h2{margin:0 0 30px;}
.entrance-procedure__list{display:grid; grid-template-columns:repeat(4, 1fr); margin:0; padding:0; list-style:none; border:1px solid var(--line);}
.entrance-procedure__list li{position:relative; min-height:240px; padding:22px 18px 28px; border-left:1px solid var(--line); text-align:center;}
.entrance-procedure__list li:first-child{border-left:0;}
.entrance-procedure__number{position:absolute; top:0; left:0; display:grid; place-items:center; width:40px; height:38px; background:var(--c1); color:var(--c1-soft); font-size:16px; font-weight:700;}
.entrance-procedure__list li:nth-child(2) .entrance-procedure__number{background:var(--c2);}
.entrance-procedure__list li:nth-child(3) .entrance-procedure__number{background:var(--c3);}
.entrance-procedure__list li:nth-child(4) .entrance-procedure__number{background:var(--c4);}
.entrance-procedure__icon{display:grid; place-items:center; width:112px; height:112px; margin:0 auto 20px; border-radius:50%; color:var(--accent);}
.entrance-procedure__icon svg{width:48px; height:48px; stroke-width:1.5;}
.entrance-procedure__list p{margin:0; font-size:16px; line-height:1.7; word-break:keep-all;}
.entrance-procedure__list small{font:inherit; font-weight:400;}
.entrance-procedure__list li:not(:last-child)::after{content:'›'; position:absolute; z-index:1; top:50%; right:auto; left:100%; display:grid; place-items:center; width:32px; height:32px; margin-left:-16px; transform:translateY(-50%); border:1px solid var(--line-strong); border-radius:50%; background:#fff; color:var(--accent); font-size:28px; line-height:1;}

.park{padding-top:var(--section-y);}
.park h2{padding-bottom:30px;}
.park_table{width:100%;}
.park_table th {padding: 1.1875rem 0 1.125rem; font-size: 1.25rem; font-weight: 600; line-height: 1.4em; text-align: left; border-bottom: 1px solid var(--line);}
.park_table td {padding: 1.1875rem 0 1.125rem; color: var(--ink-900); font-size: 1rem; line-height: 1.4em; border-bottom: 1px solid var(--line);}
.park_text-tit {display: block; margin-bottom: 0.4375rem; color: var(--ink-900); font-size: 1rem; line-height: 1.4em;}	
.park_text-txt {display: block; color: #000; font-size: 1.875rem; font-weight: 600; line-height: 1.4em;}	
.park_table tr:nth-child(1) {border-top: 3px solid var(--c1);}
.textbullet-txt{color:var(--ink-600);}
.mb2 {margin-bottom: 0.625rem !important;}
.mb1 {margin-bottom: 0.938rem !important;}

.park-notice{padding:40px; background:var(--surface-warm); margin-top:30px; line-height:180%; word-break:keep-all;}
.park-notice .tit{font-size:18px;}
.park-notice p{font-size:16px; color:var(--ink-600);}
.park-notice span{border-bottom:1px solid var(--line); display:block; margin:20px 0px;}
.park-notice img{padding-right:5px;}

/* 사전등록 페이지 */
.register_guide > p {font-size:16px; color:var(--ink-600); padding-top:10px;}
.register_guide__actions{display:flex; justify-content:center; gap:15px;}
/* 글자를 알약 한가운데 놓는다.
   예전에는 높이만 주고 정렬이 없어서 글자가 왼쪽 위로 붙어 나왔다.
   너비도 %(15%) 대신 글자에 맞춰 늘어나게 바꿨다. */
.btn-header{
  display:flex; align-items:center; justify-content:center;
  min-width:170px; height:48px; padding:0 26px;
  color:#fff; font-size:15px; font-weight:700; line-height:1;
  text-align:center; white-space:nowrap;
  background:var(--c1); border:2px solid var(--c1);
  margin:30px 0 0; border-radius:100px;
  box-shadow:0 2px 10px rgba(97,93,179,.25);
  transition:background .2s, color .2s, border-color .2s;
}
.btn-header:hover{background:var(--brand-dark); border-color:var(--brand-dark);}
/* 보조 버튼 — 흰 바탕에 브랜드색 글씨.
   예전에는 둘 다 연보라 바탕(#C9C3E8 / #DFD8F2)에 흰 글씨라
   대비가 1.7:1 / 1.4:1 밖에 안 나와 글자가 거의 안 보였다. 지금은 5.6:1. */
.btn-header.check{background:#fff; color:var(--c1); box-shadow:none;}
.btn-header.check:hover{background:var(--c1-soft); color:var(--brand-dark); border-color:var(--brand-dark);}
.btn-header:focus-visible{outline:3px solid var(--c1); outline-offset:3px;}
.benefit{border-radius:20px;}
.benefit ul { display:flex; flex-direction: row; text-align:center; justify-content:flex-start; padding:0; margin:0;}
.benefit ul li {width:100%; border:1px solid var(--line); background:var(--surface-warm);  border-radius:20px; text-align:center; margin:30px 30px 30px 0; padding:30px;}
.benefit ul li:last-child{margin-right:0px;}
.benefit ul li img{margin:0 auto;}
.benefit ul li p{font-size:14px;padding-top:10px; color:var(--ink-600); word-break:keep-all;}

.notice-text{border-radius:20px; padding:40px; background:var(--surface-warm);}
.notice-text p{font-size:14px; color:var(--ink-600); }
.notice-text span{border-bottom:1px solid var(--line); display:block; margin:20px 0px;}
.notice-text strong{display:flex; align-item: center; align-items: center;}
.notice-text img{padding-right:5px;}

/* 반응형 */
@media (max-width: 1200px) {
.system-list> div,
.system-list> div:nth-child(1){width:calc((100% - 22px) / 2);}
.diagram li,
.diagram-bg {width:32vw;}
.proposal div{width:100%;}
.park_table th{font-size:16px;}
.park_text-txt{font-size:24px;}
.park_table td,
.park_text-tit,
.textbullet-txt{font-size:14px;}

}

@media (max-width: 1139px) {
.system-list> div,
.system-list> div:nth-child(1){width:calc((100% - 22px) / 2);}
.system-list .text-box{right:20px; left:20px;}
.step-wrap {gap:10px;}
}

@media (max-width: 1024px) {
.exhibitor-search-form{flex-wrap:wrap; gap:12px 20px;}
.exhibitor-search-form__keyword{flex:1 1 320px;}
.gallery-grid{grid-template-columns:repeat(3, minmax(0,1fr));}
.diagram ul{align-items:center;}
.diagram li{width:61vw; justify-content: normal;}
.diagram-box { display: block;}
.diagram-bg { width: 190px; height: 320px; margin:0 auto; }
.diagram-box .diagram-bg > img {position: absolute;left:50%;top:50%;transform: translate(-50%,-50%) rotate(90deg);width: 320px;max-width: none;height: 190px;}
.step-wrap{flex-direction: column; max-width:1024px;}
}

@media (max-width: 1062px) {
.system-list> div,
.system-list> div:nth-child(1){width:calc((100% - 22px) / 2);}

}

@media (max-width: 950px){
/* 좁아지면 알약을 줄여서 두 개가 한 줄에 들어가게 한다 */
}

@media (max-width: 814px){
.precautions div p{text-indent: 0px;}
}

@media (max-width: 674px){
}

@media (max-width: 430px){
}

@media (max-width: 380px){
.exhibitor-search-form label,.exhibitor-search-form select,.exhibitor-search-form input{font-size:14px;}
.exhibitor-category__head strong,.exhibitor-category__list button{font-size:14px;}
.notice-board__count{font-size:16px;}
.notice-board__search select,.notice-board__search input,.notice-board__search input::placeholder{font-size:16px;}
.notice-board__table td{font-size:12px;}
}

@media (max-width: 800px){
.system-list .text-box p{padding-right:20px;}
.proposal p{font-size:16px;}
}

@media (max-width: 884px){
.system-list> div,
.system-list> div:nth-child(1){width:calc((100% - 22px) / 2);}
.system-list .text-box p{word-break:keep-all;}
.effect_box ul li p{font-size:14px;}
.effect .result{font-size:16px;}
.info_button a{min-width:230px; padding:15px 20px;}
}

@media (max-width: 1024px){
  .notice-board__table{min-width:0; table-layout:fixed;}
  .notice-board__table th{height:46px; font-size:13px;}
  .notice-board__table th:nth-child(1){width:11%;}.notice-board__table th:nth-child(2){width:62%;}.notice-board__table th:nth-child(3){width:17%;}.notice-board__table th:nth-child(4){width:10%;}
  .notice-board__table td{height:auto; min-height:56px; padding:10px 6px; font-size:14px; line-height:1.45; word-break:break-all;}
  .notice-board__table td:nth-child(2){white-space:normal; overflow:visible; text-overflow:clip; text-align:left;}
  .notice-board__table td:nth-child(3),.notice-board__table td:nth-child(4){word-break:break-all;}
}

@media (max-width: 772px){
.system-list> div,
.system-list> div:nth-child(1){width:calc((100% - 22px) / 2);}
.info_button a{min-width:200px; padding:15px 16px;}
}

@media (max-width: 768px){
.side-event__table th{font-size:16px;}
.faq-board__title{margin-bottom:18px; font-size:20px;}
.faq-item button{min-height:58px; padding:13px 12px; font-size:15px; line-height:1.45;}
.faq-item button span{margin-right:10px; font-size:18px;}
.faq-item button svg{width:22px; height:22px; flex:0 0 auto; margin-left:10px;}
.faq-item__answer{gap:14px; padding:17px 20px;}
.faq-item__answer p{font-size:14px;}
.notice-board__top{align-items:stretch; flex-direction:column; gap:18px; margin-bottom:22px;}
.notice-board__search{height:46px;}
.notice-board__search select{width:110px;}
.notice-board__search label{width:auto; flex:1;}
.notice-board__table{min-width:0; table-layout:fixed;}
.notice-board__table th{height:46px; font-size:13px;}
.notice-board__table th:nth-child(1){width:11%;}.notice-board__table th:nth-child(2){width:62%;}.notice-board__table th:nth-child(3){width:17%;}.notice-board__table th:nth-child(4){width:10%;}
.notice-board__table td{height:auto; min-height:56px; padding:10px 6px; font-size:14px; line-height:1.45; word-break:break-all;}
.notice-board__table td:nth-child(2){white-space:normal; overflow:visible; text-overflow:clip; text-align:left;}
.notice-board__table td:nth-child(3),.notice-board__table td:nth-child(4){word-break:break-all;}
.exhibitor-search-page{padding-top:0;}
.exhibitor-search-tabs button{height:56px; font-size:16px;}
.exhibitor-category__list{grid-template-columns:repeat(2, minmax(0,1fr));}
.exhibitor-category__list button:nth-child(odd){border-left:1px solid var(--line);}
.exhibitor-category__list button:nth-child(even){border-left:0;}
.entrance-procedure__list{grid-template-columns:repeat(2, 1fr);}
.entrance-procedure__list li:nth-child(odd){border-left:0;}
.entrance-procedure__list li:nth-child(n+3){border-top:1px solid var(--line);}
.entrance-procedure__list li:nth-child(2)::after{top:auto; right:auto; bottom:-16px; left:50%; margin-left:-16px; transform:rotate(90deg);}
.gallery-page{padding-top:0;}
.gallery-page__head{display:block; margin-bottom:40px;}
.gallery-page__title{margin-bottom:30px;}



.gallery-grid{grid-template-columns:repeat(2, minmax(0,1fr)); gap:18px 12px;}
.gallery-card img{height:150px;}
.gallery-card > div{padding:14px;}
.gallery-card p.gallery-card__title{font-size:16px; line-height:1.4;}
.park_text-txt{font-size:20px;}
}

@media (max-width: 772px){
.system-list> div,
.system-list> div:nth-child(1){width:calc((100% - 22px) / 2);}
.effect_box ul,
.diagram ul{gap:20px;}
.
}

@media (max-width: 712px){
.system-list> div,
.system-list> div:nth-child(1){width:100%;}
.effect_box ul {flex-direction:column;}
.park_text-txt{font-size:16px;}
.park_text-tit{font-size:12px;}
}

@media (max-width: 691px){
.btn-header{min-width:150px; padding:0 18px;}
.benefit ul{flex-direction: column; gap:15px;}
.benefit ul li{margin: 15px 0 0 0;}
.benefit ul li:nth-child(1){margin-top:30px;}
.benefit ul li:nth-child(3){margin-bottom:30px;}
.step-info{flex-direction: column; align-items: flex-start; gap:15px;}
.info_buttons{width:100%;}
.info_button a{min-width:0; width:100%; padding:15px 10px;}

}

@media (max-width: 580px){
.notice-board__table th:nth-child(1),
.notice-board__table td:nth-child(1),
.notice-board__table th:nth-child(4),
.notice-board__table td:nth-child(4){display:none;}
.notice-board__table th:nth-child(2){width:72%;}
.notice-board__table th:nth-child(3){width:28%;}
.notice-board__table td{padding:8px 6px; font-size:14px;}
.notice-board__table td:nth-child(2){word-break:keep-all;}
.notice-board__table td:nth-child(3){white-space:nowrap; word-break:normal; line-height:1.35;}
.exhibitor-search-form{display:grid; grid-template-columns:1fr; row-gap:14px; padding:18px;}
.exhibitor-search-form label{display:grid; grid-template-columns:60px minmax(0,1fr); column-gap:12px; min-width:0; justify-content:initial;}
.exhibitor-search-form__keyword{grid-column:auto; min-width:0;}
.exhibitor-search-form__sort{display:flex; grid-column:auto; margin-left:0; justify-content:flex-end !important; justify-self:end;}
.exhibitor-search-form label.exhibitor-search-form__sort{display:flex; grid-template-columns:none; gap:8px; align-items:center;}
.exhibitor-search-form select{width:100%;}
.exhibitor-category__head{min-height:70px;}
.exhibitor-category__list{grid-template-columns:1fr;}
.exhibitor-category__list button,.exhibitor-category__list button:nth-child(odd),.exhibitor-category__list button:nth-child(even){border-left:1px solid var(--line);}
.entrance-procedure__list{grid-template-columns:1fr;}
.entrance-procedure__list li{min-height:0; padding:22px 18px 28px; border-left:0; border-top:1px solid var(--line);}
.entrance-procedure__list li:first-child{border-top:0;}
.entrance-procedure__list li::after{top:auto !important; right:auto !important; bottom:-16px; left:50% !important; margin-left:-16px; transform:rotate(90deg) !important;}
.entrance-procedure__icon{width:88px; height:88px; margin-bottom:12px;}
.entrance-procedure__icon svg{width:38px; height:38px;}
.gallery-page__head{margin-bottom:28px;}
.gallery-grid{grid-template-columns:1fr; gap:16px;}
.gallery-card img{height:190px;}
.effect .result{font-size:14px; padding:30px;}
.diagram li{width:71vw;}
.proposal p{word-break:keep-all; font-size:14px;  padding:0 20px;}
.inquiry .list-content dt,
.rental .list-content dt{width:30%;}
.park_table th{font-size:14px;}
.park-notice{padding:30px;}
.park-notice .tit{font-size:16px;}
.park-notice p{font-size:14px;}
}

/* 입장 절차 연결 화살표 제거 */
.entrance-procedure__list li::after{display:none !important;}

@media (max-width: 505px){
.btn-header{min-width:0; flex:1 1 0; padding:0 12px;}
.register_guide > p,
.event-item .text,
.system> p,
.inquiry dl .list-content dd,
.entrance_table td,
.rental dl .list-content dd,
.entrance-procedure__list p{font-size:14px;}
.benefit ul{gap:0;}
.benefit ul li img{width:80px;}
.notice-text,
.vision{padding:20px;}
.system-list{gap:15px;}
.effect h2{font-size:24px;}
.effect .title{font-size:20px;}
.effect .text{font-size:14px;}
.effect_box ul{gap:15px; margin:30px 0 15px 0;}
.effect_box ul li strong{font-size:24px;}
.diagram ul{gap:15px;}
.diagram li{flex-direction: column; align-items: normal}
.rental_inquiry dd{margin:0;}
}

@media (max-width: 430px){
.step-text,
.info_button a{font-size:14px;}
.step-info{padding:20px;}
.rental .list-content dt{width:25%; font-size:14px;}
.rental .list-content dd{padding-left:15px;}
.rental-info,
.precautions div{font-size:14px; padding:20px;}
.rental_inquiry dt{font-size:16px;}
}

@media (max-width: 408px){
.notice-text {word-break:keep-all;} 
.event-item .title{padding:10px; min-width:80px;}
.effect .title{font-size:16px;}
.effect .result{padding:20px;}
.diagram li{width:75vw;}
.rental .list-content dd{padding-left:10px;}
}

@media (max-width: 380px){
.btn-header{font-size:13px; padding:0 8px;}
.inquiry .list-content dt{width:20%;}
.inquiry .list-content dd{padding-left:15px;}
.rental .list-content dt{width:20%;}
.rental .list-content dd{padding-left:5px;}
}

@media (max-width: 360px){
.rental .list-content dt{width:20%;}
}

@media (max-width: 320px){
.inquiry .list-content dt{font-size:14px;}
.rental .list-content dt{ word-break:keep-all; text-align:center;}
.rental dl .list-content dd{font-size:12px;}
}

/* 모바일 카드 영역의 좌우 여백을 동일하게 유지 */
@media (max-width: 712px){
}

/* 모바일 서브 탭: 항목 글자가 다음 줄로 떨어지지 않도록 한 줄 균등 배치 */

@media (max-width: 360px){
}

@media (max-width: 480px){
}

@media (max-width: 360px){
}

/* 340px 이하 갤러리: 콘텐츠가 한쪽으로 밀리지 않도록 폭을 고정 */
@media (max-width:340px){

}

/* 공지 검색: 좁은 화면에서는 선택창과 검색창을 한 줄씩 배치 */
@media (max-width:380px){
  .notice-board__search{flex-direction:column; gap:10px; height:auto;}
  .notice-board__search select,.notice-board__search label{width:100%; flex:none; height:46px;}
  .notice-board__search select,.notice-board__search input,.notice-board__search input::placeholder{font-size:14px !important;}
  .notice-board__table td{font-size:12px;}
}

/* ==========================================================================
   2026-08-21  서브페이지 상단 배너 높이 정리
   "해딩 부분 줄여주세요" 요청.
   기존 520px(모바일 385px)는 첫 화면을 거의 다 차지해서, 본문을 보려면
   무조건 스크롤해야 했다. 화면 높이에 비례하되 최대값을 둔다.
   ========================================================================== */

/* FAQ 등록된 글이 없을 때 */
.faq-board__empty { padding: 70px 20px; text-align: center; color: var(--ink-600); }
.faq-board__empty p { margin: 0; font-size: 16px; }

/* 참가기업 리스트 - 준비중 안내 */
.exhibitor-empty{margin-top:40px;padding:70px 20px;border-top:1px solid var(--line);text-align:center;}
.exhibitor-empty__title{margin:0 0 12px;color:var(--brand-dark);font-size:19px;font-weight:600;}
.exhibitor-empty__desc{margin:0;color:var(--ink-600);font-size:15px;line-height:1.7;}
.exhibitor-empty__desc a{color:var(--c1);text-decoration:underline;}

@media (max-width: 900px){
  .itemgroup{grid-template-columns:1fr;}
  .itemgroup__cell:nth-child(odd){border-right:0;}
  .itemgroup__cell:nth-child(3){border-bottom:1px solid rgba(93,73,150,.14);}
}
@media (max-width: 560px){
  .itemgroup__cell{grid-template-columns:1fr; gap:10px; padding:20px 18px;}
  .itemgroup__cell h3{font-size:17px;}
  .itemgroup__cell li{font-size:14px;}
}

/* 참가기업 카드 */
.exhibitor-count{margin:26px 0 14px; color:var(--ink-600); font-size:15px;}
.exhibitor-count strong{color:var(--c1); font-weight:700;}
.exhibitor-grid{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:16px;}
.exhibitor-card{
  display:flex; align-items:center; gap:14px; min-width:0;
  padding:16px 18px; background:#fff;
  border:1px solid var(--line); border-radius:14px;
  transition:border-color .15s, transform .15s, box-shadow .15s;
}
.exhibitor-card:hover{border-color:var(--c1); transform:translateY(-2px); box-shadow:0 8px 22px rgba(43,42,67,.07);}
.exhibitor-card__logo{flex:0 0 52px; width:52px; height:52px; border-radius:10px; overflow:hidden; background:var(--surface-warm); display:grid; place-items:center;}
.exhibitor-card__logo img{width:100%; height:100%; object-fit:contain;}
.exhibitor-card__logo--empty span{color:var(--c1); font-size:20px; font-weight:700;}
.exhibitor-card__body{min-width:0;}
.exhibitor-card__name{margin:0; color:var(--ink-900); font-size:15.5px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.exhibitor-card__cat{display:inline-block; margin-top:5px; padding:2px 9px; border-radius:100px; background:var(--c1-soft); color:var(--c1); font-size:12px; font-weight:600;}
.exhibitor-noresult{padding:70px 20px; border:1px solid var(--line); border-radius:14px; background:#fff; color:var(--ink-500); text-align:center;}

@media (max-width: 1024px){ .exhibitor-grid{grid-template-columns:repeat(3, minmax(0,1fr));} }
@media (max-width: 768px){  .exhibitor-grid{grid-template-columns:repeat(2, minmax(0,1fr));} }
@media (max-width: 480px){  .exhibitor-grid{grid-template-columns:1fr;} }

/* 참가기업 상세 */
.ex-view{max-width:900px;margin:0 auto;}
.ex-view__head{padding-bottom:22px;border-bottom:2px solid var(--c1);}
.ex-view__cat{display:inline-block;margin-bottom:10px;padding:4px 12px;border-radius:100px;background:var(--c1-soft);color:var(--c1);font-size:13px;font-weight:600;}
.ex-view__name{margin:0;color:var(--ink-900);font-size:26px;font-weight:800;letter-spacing:-.02em;}
.ex-view__item{margin:8px 0 0;color:var(--ink-600);font-size:16px;}
.ex-view__grid{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:start;margin-top:30px;}
.ex-view__grid:only-child,
.ex-view__grid > .ex-view__side:only-child{grid-column:1 / -1;}
.ex-view__photo{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface-warm);}
.ex-view__photo img{width:100%;height:auto;display:block;}
.ex-view__info{margin:0;border-top:1px solid var(--line);}
.ex-view__info > div{display:flex;gap:16px;padding:15px 4px;border-bottom:1px solid var(--line);}
.ex-view__info dt{flex:0 0 88px;color:var(--ink-600);font-size:14.5px;font-weight:600;}
.ex-view__info dd{margin:0;flex:1 1 auto;min-width:0;color:var(--ink-900);font-size:15px;word-break:break-all;}
.ex-view__info a{color:var(--c1);text-decoration:underline;text-underline-offset:2px;}
.ex-view__body{margin-top:36px;padding:26px 28px;border-radius:14px;background:var(--surface-warm);border:1px solid var(--line);}
.ex-view__body h3{margin:0 0 12px;color:var(--c1);font-size:17px;font-weight:700;}
.ex-view__body p{margin:0;color:var(--ink-700);font-size:15.5px;line-height:1.85;word-break:keep-all;}
.ex-view__foot{margin-top:34px;text-align:center;}

@media (max-width: 768px){
  .ex-view__grid{grid-template-columns:1fr;gap:22px;}
  .ex-view__name{font-size:22px;}
  .ex-view__body{padding:20px 18px;}
}

/* 참가기업 상세 — 사진 여러 장 */
.ex-view__photo-main{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface-warm);}
.ex-view__photo-main img{width:100%;height:auto;display:block;}
.ex-view__thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:10px 0 0;padding:0;list-style:none;}
.ex-view__thumb{display:block;width:100%;padding:0;border:2px solid transparent;border-radius:9px;overflow:hidden;background:var(--surface-warm);cursor:pointer;transition:border-color .15s;}
.ex-view__thumb img{width:100%;height:52px;object-fit:cover;display:block;}
.ex-view__thumb:hover{border-color:var(--line-strong);}
.ex-view__thumb.is-active{border-color:var(--c1);}

/* =========================================================
   온라인 사전등록
   ========================================================= */
.pre-channel{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:34px;padding:26px 20px;
  border:1px solid var(--line);border-radius:14px;background:var(--surface-warm);text-align:center;}
.pre-channel strong{color:var(--c1);font-size:16px;font-weight:700;}
.pre-channel p{margin:0;color:var(--ink-500);font-size:14px;}
.pre-channel__links{display:flex;gap:12px;margin-top:10px;flex-wrap:wrap;justify-content:center;}
.pre-channel__links a{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:100px;
  background:#fff;border:1px solid var(--line);color:var(--ink-700);font-size:14px;font-weight:600;transition:border-color .15s,color .15s;}
.pre-channel__links a:hover{border-color:var(--c1);color:var(--c1);}
.pre-channel__links svg{width:18px;height:18px;}

.pre-form{margin-top:56px;scroll-margin-top:90px;}
.pre-sec{margin-bottom:34px;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;}
.pre-sec--flat{border:0;background:transparent;}
.pre-sec__head{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;margin:0;padding:16px 22px;
  background:var(--c1);color:#fff;font-size:16px;font-weight:700;}
.pre-sec__head span{margin-left:auto;font-size:12.5px;font-weight:400;opacity:.85;}

.pre-grid{display:grid;grid-template-columns:190px 1fr;margin:0;}
.pre-grid > dt,.pre-grid > dd{margin:0;padding:15px 20px;border-bottom:1px solid var(--line);min-width:0;}
.pre-grid > dt{display:flex;align-items:center;background:var(--surface-warm);color:#3E3C54;font-size:14.5px;font-weight:600;}
.pre-grid > dt b{color:var(--c3);margin-left:3px;}
.pre-grid > dd:last-of-type,.pre-grid > dt:last-of-type{border-bottom:0;}

.pre-in{height:42px;padding:0 12px;border:1px solid var(--line-strong);border-radius:7px;background:#fff;
  font:inherit;font-size:14.5px;color:var(--ink-900);width:100%;max-width:420px;transition:border-color .15s,box-shadow .15s;}
.pre-in:focus{outline:none;border-color:var(--c1);box-shadow:0 0 0 3px rgba(97,93,179,.14);}
.pre-in[readonly]{background:#F6F2ED;color:var(--ink-600);}
select.pre-in{max-width:130px;}
.pre-help{display:block;margin-top:6px;color:var(--ink-500);font-size:13px;}

.pre-inline{display:flex;gap:22px;flex-wrap:wrap;align-items:center;}
.pre-addr{display:flex;flex-direction:column;gap:8px;}
.pre-addr__zip{display:flex;gap:8px;align-items:center;}
.pre-addr__zip .pre-in{max-width:160px;}
.pre-email{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.pre-email .pre-in{max-width:180px;}
.pre-email span{color:var(--ink-500);}
.pre-phone{display:flex;gap:8px;align-items:center;}
.pre-phone .pre-in{max-width:120px;}
.pre-phone span{color:var(--ink-500);}

.pre-q{padding:20px 22px;border-bottom:1px solid var(--line);}
.pre-q:last-child{border-bottom:0;}
.pre-q__t{margin:0 0 12px;color:var(--ink-900);font-size:15px;font-weight:700;}
.pre-q__t b{color:var(--c3);}
.pre-q__sub{color:var(--ink-500);font-size:13px;font-weight:400;}
.pre-q__opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px;}
.pre-q__opts--inline{display:flex;flex-wrap:wrap;gap:10px 24px;}
.pre-q__opts--two{grid-template-columns:repeat(2,minmax(0,1fr));}

.pre-opt{display:flex;align-items:flex-start;gap:8px;cursor:pointer;color:var(--ink-700);font-size:14.5px;line-height:1.5;}
.pre-opt input{flex:0 0 auto;margin-top:3px;accent-color:var(--c1);width:16px;height:16px;}
.pre-opt span{min-width:0;word-break:keep-all;}
.pre-opt--desc span em{display:block;margin-top:2px;color:var(--ink-500);font-size:13px;font-style:normal;line-height:1.45;}
.pre-etc{margin-top:12px;max-width:420px;}

.pre-terms{max-height:300px;overflow-y:auto;margin:20px 22px 0;padding:20px 22px;
  border:1px solid var(--line);border-radius:10px;background:#FDFBF8;color:var(--ink-700);font-size:14px;line-height:1.75;}
.pre-terms h4{margin:0 0 14px;color:var(--ink-900);font-size:15.5px;font-weight:700;}
.pre-terms h5{margin:20px 0 8px;color:var(--c1);font-size:14.5px;font-weight:700;}
.pre-terms h5:first-of-type{margin-top:0;}
.pre-terms p{margin:0 0 8px;word-break:keep-all;}
.pre-terms ul{margin:0 0 10px;padding-left:2px;list-style:none;}
.pre-terms li{position:relative;padding-left:12px;margin-bottom:4px;word-break:keep-all;}
.pre-terms li::before{content:'';position:absolute;left:0;top:.68em;width:3px;height:3px;border-radius:50%;background:#B0AEC2;}
.pre-terms__note{color:var(--ink-500);font-size:13.5px;}

.pre-agree{display:flex;align-items:center;justify-content:center;gap:9px;
  padding:18px 22px;cursor:pointer;color:var(--ink-900);font-size:15px;font-weight:600;}
.pre-agree input{accent-color:var(--c1);width:17px;height:17px;}
.pre-agree b{color:var(--c3);}
.pre-sec--flat .pre-agree{justify-content:flex-start;padding:0 4px;font-weight:500;color:var(--ink-700);}

.pre-submit{margin:38px 0 10px;text-align:center;}
.pre-submit .btn{min-width:220px;height:52px;font-size:16px;}
.pre-submit .btn:disabled{opacity:.6;cursor:default;}

@media (max-width: 900px){
  .pre-q__opts{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 640px){
  .pre-grid{grid-template-columns:1fr;}
  .pre-grid > dt{padding-bottom:0;background:transparent;border-bottom:0;font-size:13.5px;color:var(--ink-600);}
  .pre-grid > dd{padding-top:8px;}
  .pre-in{max-width:none;}
  .pre-email .pre-in,.pre-phone .pre-in,.pre-addr__zip .pre-in{max-width:none;}
  select.pre-in{max-width:110px;}
  .pre-q__opts,.pre-q__opts--two{grid-template-columns:1fr;}
  .pre-sec__head{font-size:15px;padding:14px 16px;}
  .pre-sec__head span{margin-left:0;width:100%;}
  .pre-q{padding:16px;}
  .pre-terms{margin:16px;padding:16px;max-height:260px;}
  .pre-submit .btn{width:100%;}
}

/* 사전등록 결과 / 확인 */
.pre-result{max-width:640px;margin:0 auto;padding:48px 32px;text-align:center;
  border:1px solid var(--line);border-radius:16px;background:#fff;}
.pre-result__ico{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 20px;border-radius:50%;}
.pre-result__ico svg{width:34px;height:34px;}
.pre-result--ok .pre-result__ico{background:#EAF6F0;color:#0F9D6E;}
.pre-result--warn .pre-result__ico{background:#FBEBE6;color:var(--c3);}
.pre-result__title{margin:0;color:var(--ink-900);font-size:22px;font-weight:800;letter-spacing:-.02em;}
.pre-result__desc{margin:10px 0 0;color:var(--ink-600);font-size:15.5px;word-break:keep-all;}
.pre-result__code{margin:18px 0 0;color:var(--ink-600);font-size:15px;}
.pre-result__code strong{color:var(--c1);font-size:18px;font-weight:800;letter-spacing:.02em;}
.pre-result__box{margin:26px 0 0;padding:18px 20px;border-radius:12px;background:var(--surface-warm);text-align:left;}
.pre-result__box p{margin:0 0 6px;color:var(--ink-700);font-size:14.5px;line-height:1.7;word-break:keep-all;}
.pre-result__box p:last-child{margin-bottom:0;}
.pre-result__actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:30px;}

.pre-check{max-width:560px;margin:0 auto;}
.pre-check__title{margin:0;color:var(--ink-900);font-size:23px;font-weight:800;letter-spacing:-.02em;text-align:center;}
.pre-check__desc{margin:10px 0 28px;color:var(--ink-600);font-size:15px;text-align:center;word-break:keep-all;}
.pre-check__form{display:flex;flex-direction:column;gap:14px;padding:26px;border:1px solid var(--line);border-radius:14px;background:#fff;}
.pre-check__form label{display:flex;flex-direction:column;gap:6px;}
.pre-check__form label span{color:var(--ink-700);font-size:14px;font-weight:600;}
.pre-check__form .pre-in{max-width:none;}
.pre-check__form .btn{margin-top:6px;height:48px;}
.pre-check__result{margin-top:22px;padding:22px 24px;border-radius:14px;border:1px solid;}
.pre-check__result p{margin:0 0 6px;font-size:15px;line-height:1.7;word-break:keep-all;}
.pre-check__result p:last-child{margin-bottom:0;}
.pre-check__result--ok{border-color:#BFE5D5;background:#F1FAF6;color:var(--ink-900);}
.pre-check__result--warn{border-color:#F0CDC2;background:#FDF3F0;color:var(--ink-900);}
.pre-check__code{color:var(--ink-600);}
.pre-check__code strong{color:var(--c1);font-size:17px;font-weight:800;}
.pre-check__note{color:var(--ink-500);font-size:14px;}
.pre-check__note a{color:var(--c1);text-decoration:underline;text-underline-offset:2px;}
.pre-check__actions{margin-top:26px;text-align:center;}

@media (max-width: 640px){
  .pre-result{padding:36px 20px;}
  .pre-result__actions .btn{width:100%;}
}

/* --- 사전등록 안내 (260827 수정) ---------------------------------------
   "꼭 확인해주세요!" 목록.
   기호를 바깥에 두고 본문만 들여써서, 줄이 넘어가도 기호 자리로
   내려오지 않고 글자 시작선에 맞춰진다. */
.notice-text__list{margin:0; padding:0; list-style:none;}
.notice-text__list li{
  position:relative;
  padding-left:14px;
  font-size:14px;
  color:var(--ink-600);
  line-height:1.7;
  word-break:keep-all;
}
.notice-text__list li::before{
  content:"-";
  position:absolute;
  left:0;
  top:0;
}

/* 서버 검증에 걸렸을 때 폼 위에 보여 주는 문구 */
.pre-error{
  margin:0 0 16px;
  padding:14px 18px;
  border-radius:12px;
  border:1px solid #E9C4BA;
  background:#FBEFEB;
  color:#B4472C;
  font-size:14px;
  font-weight:600;
}

/* --- 관람안내 (260827 수정) --------------------------------------------
   입장 절차를 사전등록자 / 초청장 소지자 / 현장등록자 셋으로 나눴다.
   단계 수가 3개인 트랙과 4개인 트랙이 섞여 있어서, 칸 수를 고정하지 않고
   항목 수만큼 자동으로 나눈다. */
.entrance-procedure__lead{margin:-18px 0 26px; color:var(--ink-500); font-size:15px;}

.entrance-track + .entrance-track{margin-top:34px;}
.entrance-track__title{
  display:inline-block;
  margin:0 0 12px;
  padding:6px 14px;
  border-radius:999px;
  background:var(--brand-soft);
  color:var(--brand-dark);
  font-size:15px;
  font-weight:700;
}
.entrance-track .entrance-procedure__list{
  grid-template-columns:none;
  grid-auto-flow:column;
  grid-auto-columns:1fr;
}

/* 코엑스 안내 링크 */
.park--links{padding-top:var(--section-y);}
.park__lead{margin:-14px 0 22px; color:var(--ink-500); font-size:15px;}
.park__links{display:flex; flex-wrap:wrap; gap:12px;}
.park__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:260px;
  padding:15px 26px;
  border-radius:10px;
  background:var(--brand-dark);
  color:#fff;
  font-size:15px;
  font-weight:600;
  transition:.2s;
}
.park__link:hover{background:var(--brand); transform:translateY(-2px);}

@media (max-width: 768px){
  /* 좁아지면 가로로 늘어놓을 수 없으니 세로로 쌓는다 */
  .entrance-track .entrance-procedure__list{
    grid-auto-flow:row;
    grid-auto-columns:auto;
    grid-template-columns:1fr;
  }
  .entrance-track .entrance-procedure__list li{
    border-left:0;
    border-top:1px solid var(--line);
  }
  .entrance-track .entrance-procedure__list li:first-child{border-top:0;}
  .park__link{min-width:0; width:100%;}
}

/* --- 사전등록: 안내 / 등록폼 두 화면 전환 ------------------------------
   "사전등록 바로가기" 를 누르면 안내가 접히고 등록 폼만 남는다.
   기본값은 폼을 접어 둔 상태다.
   자바스크립트가 막혀 있으면 아래 noscript 규칙이 둘 다 펼친다. */
.pre-stage{display:none;}
.pre-stage.is-open{display:block;}
.register_guide.is-closed{display:none;}

/* =========================================================================
   메뉴별 액센트
   -------------------------------------------------------------------------
   예전에는 모든 서브페이지가 같은 보라 하나만 써서, 어느 메뉴에 들어와
   있는지 색으로는 구분이 되지 않고 전체가 단조로워 보였다.
   로고 마크의 그라디언트 4색을 메뉴마다 하나씩 맡긴다.
   컴포넌트는 --accent-page 만 보면 되고, 페이지가 바뀌면 색이 따라 바뀐다.
   ========================================================================= */
:root{
  --accent-page:var(--c1);
  --accent-page-soft:var(--c1-soft);
}
body[data-sec="participate"]{ --accent-page:var(--c2); --accent-page-soft:var(--c2-soft); }
body[data-sec="guide"]      { --accent-page:var(--c3); --accent-page-soft:var(--c3-soft); }
body[data-sec="major"]      { --accent-page:var(--c4); --accent-page-soft:var(--c4-soft); }
/* event · notice 는 기본(보라)을 그대로 쓴다 */

/* --- 페이지 머리 / 탭에 색을 실어 준다 -------------------------------- */
.pagehead{position:relative;}
.pagehead::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:3px;
  /* color-mix 를 모르는 구형 브라우저는 아래 단색 줄만 보게 된다 */
  background:var(--accent-page);
  background:linear-gradient(90deg,
    var(--accent-page) 0%, var(--accent-page) 22%,
    color-mix(in srgb, var(--accent-page) 35%, transparent) 60%,
    transparent 100%);
}
.pagehead__title{color:var(--ink-900);}
.tabs__list a.is-active{color:var(--accent-page); border-color:var(--accent-page);}

/* --- 표 머리 · 위쪽 선 ------------------------------------------------- */
.notice-board__table-wrap,
.faq-board__list,
.side-event__table-wrap{border-top-color:var(--accent-page);}
.notice-board__table th{
  background:var(--accent-page-soft);
  color:var(--brand-dark);   /* 구형 브라우저 대비 */
  color:color-mix(in srgb, var(--accent-page) 72%, #000 28%);
}
.notice-board__count strong{color:var(--accent-page);}
.facility_table th{background:var(--accent-page);}
.side-event__table th{background:var(--accent-page-soft);}
.inquiry dl .list-content:nth-child(1){border-top-color:var(--accent-page);}
.inquiry .list-content dt{background:var(--accent-page-soft);}

/* 표에 마우스를 올리면 그 줄만 살짝 물든다 — 긴 표에서 줄을 놓치지 않게 */
.notice-board__table tbody tr:hover,
.facility_table tbody tr:hover{background:var(--accent-page-soft);}
.notice-board__table tbody tr{transition:background .15s;}

/* --- FAQ --------------------------------------------------------------- */
.faq-item button span{color:var(--accent-page);}
.faq-item__answer{background:var(--accent-page-soft);}
.faq-item__answer strong{color:var(--accent-page); font-weight:700;}
.faq-item.is-open button{color:var(--accent-page);}

/* --- 참가기업 카드 ------------------------------------------------------
   카테고리마다 다른 색을 준다. 목록에서 분야가 한눈에 갈린다. */
.exhibitor-card:hover{border-color:var(--accent-page);}
.exhibitor-card__logo--empty span{color:var(--accent-page);}
.exhibitor-card__cat{background:var(--c1-soft); color:var(--c1);}
.exhibitor-card:nth-child(4n+2) .exhibitor-card__cat{background:var(--c2-soft); color:var(--c2);}
.exhibitor-card:nth-child(4n+3) .exhibitor-card__cat{background:var(--c3-soft); color:var(--c3);}
.exhibitor-card:nth-child(4n+4) .exhibitor-card__cat{background:var(--c4-soft); color:var(--c4);}
.exhibitor-card:nth-child(4n+2) .exhibitor-card__logo--empty span{color:var(--c2);}
.exhibitor-card:nth-child(4n+3) .exhibitor-card__logo--empty span{color:var(--c3);}
.exhibitor-card:nth-child(4n+4) .exhibitor-card__logo--empty span{color:var(--c4);}

/* --- 갤러리 카드 -------------------------------------------------------- */
.gallery-card{border-radius:var(--r-md); transition:transform .2s, box-shadow .2s;}
.gallery-card:hover{transform:translateY(-3px); box-shadow:var(--shadow-md);}

/* --- 준비 중 화면 -------------------------------------------------------
   예전에는 "Preparing" 이미지 한 장만 덩그러니 놓여 있었다.
   무엇을 준비 중이고 그동안 어디를 보면 되는지까지 알려 준다. */
.preparing{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:14px; padding:clamp(56px,8vw,96px) var(--gutter);
  border:1px solid var(--line); border-radius:var(--r-lg);
  background:linear-gradient(180deg,#fff 0%,var(--surface-warm) 100%);
  text-align:center;
}
.preparing__icon{
  display:grid; place-items:center; width:72px; height:72px; margin-bottom:6px;
  border-radius:50%; background:var(--accent-page-soft); color:var(--accent-page);
}
.preparing__icon svg{width:32px; height:32px;}
.preparing__title{margin:0; color:var(--ink-900); font-size:clamp(17px,1.6vw,20px); font-weight:700;}
.preparing__desc{
  margin:0; max-width:52ch; color:var(--ink-600);
  font-size:15px; line-height:1.7; word-break:keep-all;
}
.preparing .btn{margin-top:10px;}

/* --- 문의처 ------------------------------------------------------------- */
.inquiry__lead{margin:8px 0 26px; color:var(--ink-600); font-size:15px;}
.inquiry .list-content dd a{color:var(--accent-page); font-weight:600;}
.inquiry .list-content dd a:hover{text-decoration:underline;}

.inquiry-links{
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:clamp(12px,1.4vw,20px); margin-top:var(--section-y);
}
.inq-card{
  position:relative; overflow:hidden;
  padding:clamp(20px,2vw,26px);
  border:1px solid var(--line); border-radius:var(--r-lg); background:#fff;
  transition:transform .2s, box-shadow .2s, border-color .2s;
}
.inq-card::before{
  content:""; position:absolute; left:0; right:0; top:0; height:3px;
  background:var(--c1);
}
.inq-card:nth-child(2)::before{background:var(--c2);}
.inq-card:nth-child(3)::before{background:var(--c3);}
.inq-card:nth-child(4)::before{background:var(--c4);}
.inq-card__no{font-size:12px; font-weight:800; letter-spacing:.1em; color:var(--c1);}
.inq-card:nth-child(2) .inq-card__no{color:var(--c2);}
.inq-card:nth-child(3) .inq-card__no{color:var(--c3);}
.inq-card:nth-child(4) .inq-card__no{color:var(--c4);}
.inq-card strong{display:block; margin:10px 0 8px; color:var(--ink-900); font-size:17px;}
.inq-card p{margin:0; color:var(--ink-600); font-size:14px; line-height:1.6; word-break:keep-all;}
.inq-card:hover{transform:translateY(-3px); box-shadow:var(--shadow-md); border-color:transparent;}

/* --- 반응형 : 이번에 추가한 블록들 ------------------------------------- */
@media (max-width: 950px){
  .inquiry-links{grid-template-columns:repeat(2,1fr);}
}
@media (max-width: 560px){
  .inquiry-links{grid-template-columns:1fr;}
  .preparing{padding:48px 20px;}
  .preparing__icon{width:60px; height:60px;}
  .preparing__icon svg{width:26px; height:26px;}
}

/* --- 섹션 제목 통일 ------------------------------------------------------
   22 / 24 / 26px 세 가지가 섞여 있어서 페이지마다 무게가 달라 보였다.
   하나의 크기로 맞추고, 제목 앞에 그 메뉴의 액센트 색 막대를 둔다. */
main.page h2,
.notice-board__title,
.faq-board__title,
.gallery-page__title{
  font-size:clamp(20px, 1.7vw, 24px);
  font-weight:700;
  line-height:1.3;
  letter-spacing:-.02em;
  color:var(--ink-900);
}

/* 제목 위 액센트 선.
   처음에는 제목 왼쪽에 세로 막대를 뒀는데, 그만큼 제목만 안으로 밀려서
   아래 본문·버튼과 시작선이 어긋났다. 선을 제목 위로 올려서
   제목과 본문이 같은 선에서 시작하게 한다. */
main.page h2:not(.sr-only),
.notice-board__title,
.faq-board__title,
.gallery-page__title{
  position:relative;
  padding-top:14px;
}
main.page h2:not(.sr-only)::before,
.notice-board__title::before,
.faq-board__title::before,
.gallery-page__title::before{
  content:"";
  position:absolute; left:0; top:0;
  width:28px; height:3px; border-radius:2px;
  background:var(--accent-page);
}
/* 가운데 정렬인 화면은 선도 가운데로 */
.preparing h2::before,
.register_guide > h2::before{left:50%; transform:translateX(-50%);}

/* 오류 화면의 버튼 줄 */
.err-links{display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:10px;}
@media (max-width:560px){
  .err-links{width:100%;}
  .err-links .btn{flex:1 1 100%;}
}

/* ══════════════════════════════════════════════════════════════════
   참가기업 자가등록 (/exhibitor)
   업체가 직접 자사 정보를 넣는 화면. 관리자 화면이 아니라 프론트라서
   파일 선택 버튼 같은 것을 여기에 따로 둔다(관리자 CSS 를 안 불러온다).
   ══════════════════════════════════════════════════════════════════ */
.ex-login__help{margin-top:20px;text-align:center;color:var(--ink-600);font-size:14px;line-height:1.9;}
.ex-login__help a{color:var(--c1);font-weight:600;}
.ex-login__help span{margin:0 8px;color:var(--ink-300,#B0AEC2);}

.ex-self{max-width:860px;margin:0 auto;}

/* 지금 어느 업체로 들어와 있고, 글이 공개됐는지 */
.ex-self__bar{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:16px 20px;border:1px solid var(--line);border-radius:12px;background:var(--surface-warm);
}
.ex-self__bar strong{color:var(--ink-900);font-size:17px;font-weight:800;}
.ex-self__state{
  display:inline-block;margin-left:10px;padding:3px 10px;border-radius:999px;
  background:#F1EEE9;color:var(--ink-600);font-size:12.5px;font-weight:700;
}
.ex-self__state--live{background:#E4F3EA;color:#2E7D53;}
.ex-self__state--new{background:var(--c1-soft);color:var(--c1);}
.ex-self__links{display:flex;gap:16px;font-size:14px;}
.ex-self__links a{color:var(--ink-600);font-weight:600;}
.ex-self__links a:hover{color:var(--c1);}

.ex-self__msg{
  margin:16px 0 0;padding:14px 18px;border-radius:10px;
  border:1px solid #CFE3D6;background:#EFF7F2;color:#2E7D53;font-size:14.5px;font-weight:600;
}
.ex-self__guide{
  margin:20px 0 26px;color:var(--ink-600);font-size:15px;line-height:1.8;word-break:keep-all;
}
.ex-self__guide a{color:var(--c1);font-weight:600;text-decoration:underline;}

.ex-self__grid{
  display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px 20px;align-items:start;
  padding:28px;border:1px solid var(--line);border-radius:14px;background:#fff;
}
.ex-self__grid > label{padding-top:11px;color:var(--ink-700);font-size:14.5px;font-weight:700;}
.ex-self__grid > label b{color:#D9694E;}
.ex-self__grid .pre-in{width:100%;max-width:none;}
.ex-self__body{height:auto;min-height:200px;padding:12px;line-height:1.7;resize:vertical;}

.ex-self__hint{margin-top:8px;color:var(--ink-500,#7A7893);font-size:13px;line-height:1.7;}

/* 파일 선택 — 기본 input 은 감추고 버튼처럼 보이게 */
.ex-self .file{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.ex-self .file__pick{
  display:inline-flex;align-items:center;height:40px;padding:0 16px;position:relative;
  border-radius:8px;background:var(--c1-soft);color:var(--c1);
  font-size:14px;font-weight:700;cursor:pointer;
}
.ex-self .file__pick:hover{background:#E3DAFA;}
.ex-self .file input[type=file]{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);border:0;
}
.ex-self .mfile__count{color:var(--ink-600);font-size:14px;}

.ex-self__thumbs{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}
.ex-self__thumbs img{
  width:110px;height:80px;object-fit:cover;
  border:1px solid var(--line);border-radius:8px;background:#fff;
}

.ex-self__foot{display:flex;gap:10px;justify-content:center;margin-top:26px;}

@media (max-width: 760px){
  .ex-self__grid{grid-template-columns:1fr;gap:8px 0;padding:20px;}
  .ex-self__grid > label{padding-top:14px;}
  .ex-self__bar{flex-direction:column;align-items:flex-start;gap:10px;}
  .ex-self__foot{flex-direction:column;}
}

/* 참가기업 리스트 아래, 업체가 스스로 등록하러 가는 줄 */
.exhibitor-selflink{
  margin-top:34px;padding-top:22px;border-top:1px solid var(--line);
  text-align:center;color:var(--ink-600);font-size:14.5px;
}
.exhibitor-selflink a{margin-left:6px;color:var(--c1);font-weight:700;text-decoration:underline;}

/* ══════════════════════════════════════════════════════════════════
   사전등록 폼 — 260826 수정
   · 구성은 SPOEX 사전등록과 같다 (표지 → 안내 → 기본정보 → 설문 → 동의)
   · 색은 로고의 "8" 에서 가져왔다. 라벤더에서 복숭아로 넘어가는 그라데이션.
     칸 머리를 보라 한 가지로 칠했을 때보다 로고와 한 식구로 보인다.
   ══════════════════════════════════════════════════════════════════ */
:root{
  --pre-grad:linear-gradient(100deg,#6F63C2 0%,#9A78C9 38%,#D58FB0 70%,#EFA077 100%);
  --pre-grad-soft:linear-gradient(120deg,#F4F0FB 0%,#FBF1F4 55%,#FEF3EA 100%);
}

/* 칸 머리 */
.pre-sec__head{background:var(--pre-grad);align-items:center;}
.pre-sec__btn{
  margin-left:auto;padding:7px 16px;border-radius:999px;
  background:#fff;color:var(--c1);font-size:13px;font-weight:700;line-height:1;
  box-shadow:0 2px 8px rgba(60,40,110,.12);transition:transform .15s;
}
.pre-sec__btn:hover{transform:translateY(-1px);}

/* 표지 */
.pre-cover{
  margin:0 0 28px;padding:44px 24px 36px;border-radius:18px;
  background:var(--pre-grad-soft);border:1px solid #EEE6F3;text-align:center;
}
.pre-cover__logo{display:block;width:min(560px,86%);height:auto;margin:0 auto;}
.pre-cover__name{margin:18px 0 0;color:var(--ink-700);font-size:clamp(17px,2.2vw,24px);font-weight:700;letter-spacing:-.02em;}
.pre-cover__date{
  display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;
  margin:12px 0 0;color:var(--ink-900);font-size:clamp(15px,1.8vw,20px);font-weight:500;
}
.pre-cover__date strong{font-weight:800;}
.pre-cover__date i{width:1px;height:18px;background:#CFC5DE;}

/* 안내 칸 : 왼쪽 안내글, 오른쪽 공식 채널 */
.pre-guide{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:22px;padding:22px;}
.pre-guide__list{margin:0;padding:0;list-style:none;}
.pre-guide__list li{position:relative;padding-left:14px;margin-bottom:6px;font-size:14.5px;line-height:1.7;word-break:keep-all;}
.pre-guide__list li::before{position:absolute;left:0;}
.pre-guide__list .is-key{color:var(--ink-900);font-weight:700;}
.pre-guide__list .is-key::before{content:'·';font-weight:800;}
.pre-guide__list .is-warn{color:#D6455A;}
.pre-guide__list .is-warn::before{content:'-';}
.pre-guide__when{margin:18px 0 0;color:var(--ink-700);font-size:14.5px;line-height:1.75;}
.pre-guide__when strong{display:block;color:var(--ink-900);font-weight:800;}

.pre-guide__channel{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
  padding:22px 16px;border-radius:14px;background:var(--pre-grad-soft);text-align:center;
}
.pre-guide__channel strong{color:var(--c1);font-size:15px;font-weight:800;word-break:keep-all;}
.pre-guide__channel p{margin:0;color:var(--ink-500);font-size:13.5px;}
.pre-guide__sns{display:flex;gap:12px;}
.pre-guide__sns a{
  display:grid;place-items:center;width:46px;height:46px;border-radius:12px;
  color:#fff;box-shadow:0 4px 12px rgba(60,40,110,.14);transition:transform .15s;
}
.pre-guide__sns a:hover{transform:translateY(-2px);}
.pre-guide__sns svg{width:24px;height:24px;}
.pre-guide__sns .is-insta{background:linear-gradient(45deg,#F9A13A,#E1306C 55%,#8A3AB9);}
.pre-guide__sns .is-home{background:var(--pre-grad);}

/* 기본정보 — 두 칸씩, 긴 것은 한 줄 통째로 */
.pre-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;padding:24px 26px 28px;}
.pre-f{display:flex;flex-direction:column;gap:7px;min-width:0;}
.pre-f--full{grid-column:1 / -1;}
.pre-f > label{color:var(--ink-900);font-size:14.5px;font-weight:700;}
.pre-f > label b{color:#D6455A;}
.pre-f > label small{margin-left:4px;color:var(--ink-500);font-size:12.5px;font-weight:500;}
.pre-f .pre-in{width:100%;max-width:none;}

/* 칸 안에서 셋으로 쪼개지는 전화·이메일 */
.pre-fields .pre-phone{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center;}
.pre-fields .pre-phone .pre-in,.pre-fields .pre-phone select.pre-in{max-width:none;}
.pre-fields .pre-email{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:center;}
.pre-fields .pre-email .pre-in,.pre-fields .pre-email select.pre-in{max-width:none;}
.pre-fields .pre-addr__zip{display:flex;gap:8px;}
.pre-fields .pre-addr__zip .pre-in{max-width:none;flex:1 1 auto;}

.pre-btn-line{
  flex:0 0 auto;height:42px;padding:0 18px;border-radius:7px;
  border:1px solid var(--line-strong);background:#fff;color:var(--ink-900);
  font-size:14px;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s;
}
.pre-btn-line:hover{border-color:var(--c1);color:var(--c1);}

@media (max-width: 860px){
  .pre-guide{grid-template-columns:1fr;}
}
@media (max-width: 640px){
  .pre-cover{padding:30px 16px 26px;}
  .pre-fields{grid-template-columns:1fr;padding:18px 16px 22px;gap:16px;}
  .pre-fields .pre-email{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);}
  .pre-fields .pre-email select.pre-in{grid-column:1 / -1;}
  .pre-f > label small{display:block;margin:3px 0 0;}
  .pre-sec__btn{padding:6px 12px;font-size:12.5px;}
  .pre-guide{padding:16px;}
}

/* 로컬 dry-run 표시 */
.pre-result__dry{display:inline-block;margin:14px 0 0;padding:5px 12px;border-radius:6px;background:#FFF4D6;color:#8A5A00;font-size:12.5px;font-weight:700;letter-spacing:.02em;}
.pre-terms__date{margin-top:14px;color:var(--ink-500);font-size:13px;text-align:right;}

/* ══════════════════════════════════════════════════════════════════
   게시물 상세 (공지사항·뉴스레터, 국문·영문 공통)
   v2 로 CSS 를 새로 짤 때 예전 board-view.css 와 함께 빠져서
   상세 화면이 제목·첨부·이전글이 한 줄씩 늘어선 맨 글자로 보였다. 다시 짠다.
   ══════════════════════════════════════════════════════════════════ */
.notice-view{max-width:1000px;margin:0 auto;}

.notice-view__head{padding:0 4px 22px;border-bottom:1px solid var(--line-strong);}
.notice-view__title{margin:0;color:var(--ink-900);font-size:clamp(20px,2vw,26px);font-weight:700;line-height:1.4;word-break:keep-all;}
.notice-view__meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin:12px 0 0;padding:0;list-style:none;color:var(--ink-500);font-size:14px;}
.notice-view__meta span{margin-left:6px;color:var(--ink-700);}
.notice-view__meta li + li::before{content:"";display:inline-block;width:1px;height:11px;margin-right:18px;background:var(--line-strong);vertical-align:-1px;}

/* 첨부 — 내려받기 */
.notice-view__file{display:flex;gap:18px;padding:16px 20px;border-bottom:1px solid var(--line);background:var(--surface-warm);}
.notice-view__file-label{flex:0 0 auto;padding-top:7px;color:var(--ink-900);font-size:14.5px;font-weight:700;}
.notice-view__file-list{display:flex;flex-wrap:wrap;gap:8px;min-width:0;margin:0;padding:0;list-style:none;}
.notice-view__file-list a{
  display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:7px 13px;
  border:1px solid var(--line);border-radius:8px;background:#fff;
  color:var(--ink-700);font-size:14px;transition:border-color .15s,color .15s;
}
.notice-view__file-list a:hover{border-color:var(--c1);color:var(--c1);}
.notice-view__file-list svg{flex:0 0 auto;width:16px;height:16px;}
.notice-view__file-list span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.notice-view__file-list em{flex:0 0 auto;color:var(--ink-500);font-size:12.5px;font-style:normal;}

/* 본문 — 올린 사진 → HTML 파일 → 입력한 글 */
.notice-view__body{
  padding:40px 4px 48px;border-bottom:1px solid var(--line);
  color:var(--ink-700);font-size:16px;line-height:1.85;
  word-break:keep-all;overflow-wrap:anywhere;
}
.notice-view__media{display:flex;flex-direction:column;align-items:center;gap:20px;}
.notice-view__media a{display:block;max-width:100%;}
.notice-view__media img{display:block;max-width:100%;height:auto;border-radius:6px;}
.notice-view__media + .notice-view__html,
.notice-view__media + .notice-view__text,
.notice-view__html + .notice-view__text{margin-top:32px;}
.notice-view__html{overflow-x:auto;}
.notice-view__text:empty{display:none;}
.notice-view__body img{max-width:100%;height:auto;}
.notice-view__text a,.notice-view__html a{color:var(--c1);}
/* 붙여넣은 뉴스레터 속 제목에 사이트 제목 장식(위 액센트 선)이 붙지 않게 */
main.page .notice-view__body h2{padding-top:0;}
main.page .notice-view__body h2::before{content:none;}

/* 이전글 · 다음글 */
.notice-view__nav{border-bottom:1px solid var(--line);}
.notice-view__nav-item{display:flex;align-items:center;gap:24px;padding:16px 20px;color:var(--ink-700);font-size:15px;}
.notice-view__nav-item + .notice-view__nav-item{border-top:1px solid var(--line-soft);}
a.notice-view__nav-item{transition:background .15s;}
a.notice-view__nav-item:hover{background:var(--surface-warm);}
.notice-view__nav-label{flex:0 0 64px;color:var(--ink-900);font-weight:700;}
.notice-view__nav-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.notice-view__nav-item.is-none,
.notice-view__nav-item.is-none .notice-view__nav-label{color:var(--ink-300);font-weight:500;}

.notice-view__btns{display:flex;justify-content:center;margin-top:36px;}
.notice-view__btn{
  display:inline-flex;align-items:center;justify-content:center;min-width:160px;height:48px;padding:0 26px;
  border-radius:999px;background:var(--c1);color:#fff;font-size:15px;font-weight:700;transition:filter .15s;
}
.notice-view__btn:hover{filter:brightness(1.08);}

@media (max-width: 640px){
  .notice-view__file{flex-direction:column;gap:8px;padding:14px;}
  .notice-view__file-label{padding-top:0;}
  .notice-view__body{padding:28px 0 36px;font-size:15px;}
  .notice-view__nav-item{gap:14px;padding:14px 8px;font-size:14px;}
  .notice-view__nav-label{flex-basis:48px;}
}

/* 본문 HTML(뉴스레터 소스·HTML 파일)을 그리는 격리 틀. 높이는 site.js 가 내용에 맞춘다. */
.notice-view__frame{display:block;width:100%;min-height:120px;border:0;background:transparent;}
.notice-view__media + .notice-view__frame,
.notice-view__frame + .notice-view__frame,
.notice-view__frame + .notice-view__text{margin-top:32px;}

/* 오픈 전, 허용된 곳에서만 보이는 사전등록 화면임을 알리는 띠 */
.pre-preview{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  margin:0 0 24px;padding:12px 18px;border-radius:10px;
  border:1px solid #F0D9A8;background:#FFF8E8;color:#8A5A00;
  font-size:14px;line-height:1.6;word-break:keep-all;
}
.pre-preview > b:first-child{
  padding:3px 9px;border-radius:999px;background:#8A5A00;color:#fff;font-size:12.5px;
}
.preparing__ip{margin-top:14px;color:var(--ink-500);font-size:13.5px;}
.preparing__ip b{color:var(--ink-900);}

/* ===== 참가기업 디렉토리 260916 수정 =====================================
   · 목록 카드 : 로고를 크게(52 -> 84px), 업체명 / 품목 / 제품명 순으로
   · 상세      : 부스번호 표시, 로고는 작게, 제품 이미지는 아래로
   · 등록 폼   : 사진마다 지우기(X) 단추, 글자수 초과 표시
   ======================================================================= */

/* --- 목록 카드 --- */
.exhibitor-card__logo{
  flex:0 0 84px; width:84px; height:84px; border-radius:12px;
}
.exhibitor-card__logo img{padding:6px;}
.exhibitor-card__logo--empty span{font-size:30px;}

.exhibitor-card__item{
  margin:4px 0 0; color:var(--ink-600); font-size:13.5px;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.exhibitor-card__product{
  margin:2px 0 0; color:var(--ink-500); font-size:13px;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}

/* --- 상세 : 부스번호 --- */
/* 카테고리 알약 옆에 붙는다. 색을 달리해 한눈에 구분되게 한다. */
.ex-view__booth{
  display:inline-block; margin:0 0 10px 6px; padding:4px 12px;
  border-radius:100px; border:1px solid var(--c1);
  color:var(--c1); font-size:13px; font-weight:700; letter-spacing:.01em;
}

/* --- 상세 : 로고 --- */
.ex-view__logo{
  display:grid; place-items:center;
  padding:18px; border:1px solid var(--line); border-radius:14px;
  background:var(--surface-warm);
}
.ex-view__logo img{width:100%; max-width:200px; height:auto; display:block;}

/* --- 상세 : 제품 이미지 (로고 아래 가로로) --- */
.ex-view__photos{margin-top:30px;}
.ex-view__photos .ex-view__photo-main img{max-height:520px; object-fit:contain;}

/* --- 등록 폼 : 사진 지우기 단추 --- */
.ex-self__thumbs li{position:relative; display:inline-block; line-height:0;}
.ex-self__del{
  position:absolute; top:-7px; right:-7px;
  width:24px; height:24px; padding:0;
  display:grid; place-items:center;
  border:1px solid var(--line); border-radius:50%;
  background:#fff; color:var(--ink-700);
  font-size:15px; font-weight:700; line-height:1; cursor:pointer;
  box-shadow:0 2px 6px rgba(43,42,67,.18);
  transition:background .15s, color .15s, border-color .15s;
}
.ex-self__del:hover{background:var(--c3); border-color:var(--c3); color:#fff;}
.ex-self__del:focus-visible{outline:3px solid var(--c1); outline-offset:2px;}

/* 글자수가 한도를 넘으면 안내 문구를 눈에 띄게 */
.ex-self__hint.is-over{color:var(--c3); font-weight:700;}

@media (max-width: 480px){
  .exhibitor-card__logo{flex-basis:64px; width:64px; height:64px;}
}
