@charset "utf-8";
/* ================================================================
   GGDC 2026 게시판 (FAQ / 아카이빙 갤러리 / 세션)
   ================================================================ */
@font-face {font-family:'Outfit'; font-weight:700; font-style:normal; src:url('/font/Outfit-Bold.woff2') format('woff2'); font-display:swap;}   /* 메인 외 서브에서 Q/A 표기용 */

.no_data{width:100% !important; border-top:1px solid #000; border-bottom:1px solid #000; height:28.125rem !important; display:flex !important; flex-direction:column; align-items:center; justify-content:center; gap:1.25rem; margin:0 !important; aspect-ratio:initial !important;}
.no_data .icon{width: 2.625rem;}
.no_data p{font-size: 1.125rem; line-height: 150%; text-align:center;}
.dpp_basic_bd .no_data{border-top: none;}

/* 분류 탭 (Figma sec01_tab 7725:14255 · tab_item 7689:5453 / 7689:5456) */
.bd_tab {margin-bottom:3rem;}   /* inner gap 48px */
.bd_tab ul {display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:0.625rem;}
.bd_tab a {display:flex; align-items:center; padding:0.8125rem 1.75rem; border:1px solid #E1E2E4; border-radius:999px; background:#fff; font-size:1.125rem; font-weight:700; line-height:1.5; color:#5A5C63; white-space:nowrap;}
.bd_tab a#bo_cate_on {border-color:transparent; background:linear-gradient(91.84deg, #89C56D 10.77%, #00B7EE 90.04%) border-box; color:#fff;}

/* 게시판 상단 (TOTAL + 검색) */
.bd_sort {display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom:1.5rem;}
.bd_sort .total {font-size:1.125rem; font-weight:400; line-height:1.5; color:#5A5C63;}
.bd_sort .total strong {margin-left:0.25rem; font-weight:700; color:#171719;}
.bd_sort .bd_search {display:flex; align-items:center; gap:0.5rem; height:3.125rem;}
.bd_sort .bd_search select {width:10.625rem; height:100%; padding:0 2.125rem 0 1rem; border:0; border-bottom:1px solid #E1E2E4; border-radius:0; background:#fff url("/img/board/select_arrow.svg") no-repeat right 0.5rem center / 1.625rem; -webkit-appearance:none; appearance:none; font-size:1rem; font-weight:400; color:#AEB0B6; outline:none; cursor:pointer;}
.bd_sort .search_input {display:flex; align-items:center; gap:1rem; width:24.4375rem; height:100%; padding:0 1rem; border-bottom:1px solid #E1E2E4; background:#fff;}
.bd_sort .search_input input {flex:1; min-width:0; height:100%; padding:0; border:0; background:none; font-size:1rem; font-weight:400; color:#171719; outline:none;}
.bd_sort .search_input input::placeholder {color:#AEB0B6;}
.bd_sort .search_input button {flex-shrink:0; width:1.5rem; height:1.5rem; padding:0; border:0; background:none; cursor:pointer;}
.bd_sort .search_input button img {display:block; width:100%;}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-text-fill-color: #000;
    -webkit-box-shadow: 0 0 0px 1000px #fff inset;
    box-shadow: 0 0 0px 1000px #fff inset;
    transition: background-color 5000s ease-in-out 0s;
}

input:autofill,
input:autofill:hover,
input:autofill:focus,
input:autofill:active {
    -webkit-text-fill-color: #000;
    -webkit-box-shadow: 0 0 0px 1000px #fff inset;
    box-shadow: 0 0 0px 1000px #fff inset;
    transition: background-color 5000s ease-in-out 0s;
}

/* 페이지네이션 (Figma pagination 7689:5501) */
.bd_page {margin-top:3rem;}   /* inner gap 48px */
.bd_page:empty{margin: 0 !important;}
.bd_page .pg {display:flex; align-items:center; justify-content:center; gap:1.5rem;}
.bd_page .pg_page {display:flex; align-items:center; justify-content:center; min-width:0; height:auto; padding:0; border-radius:0; font-size:1.125rem; font-weight:400; line-height:normal; color:#878A93;}
.bd_page .pg_page:hover {background-color:transparent;}
.bd_page .pg_current {display:flex; align-items:center; justify-content:center; width:2.3125rem; height:2.3125rem; border-radius:6.25rem; background:#171719; font-size:1.125rem; font-weight:600; line-height:normal; color:#fff;}
.bd_page .pg_start, .bd_page .pg_prev, .bd_page .pg_next, .bd_page .pg_end {width:1.25rem; height:1.25rem; font-size:0; text-indent:0; background:no-repeat center / 1.25rem;}
.bd_page .pg_start {background-image:url("/img/board/page_first.svg");}
.bd_page .pg_prev {background-image:url("/img/board/page_prev.svg");}
.bd_page .pg_next {background-image:url("/img/board/page_next.svg");}
.bd_page .pg_end {background-image:url("/img/board/page_last.svg");}


/* ===== FAQ (Figma sub_faq 7725:13915 · faq_item 7689:5570 / 7689:5578) ===== */
.bd_faq .list > li {border-bottom:1px solid #E1E2E4;}
.bd_faq .list > li:first-child {border-top:1px solid #E1E2E4;}
.bd_faq .q {display:flex; align-items:center; gap:1.25rem; width:100%; padding:2.25rem 0; border:0; background:none; text-align:left; cursor:pointer;}
.bd_faq .q::after {content:""; flex-shrink:0; width:2rem; height:2rem; background:url("/img/board/faq_toggle.svg") no-repeat center / 100%;}
.bd_faq .q_ic {flex-shrink:0; width:1.75rem; font-family:var(--font-outfit); font-size:1.375rem; font-weight:700; line-height:1.45; background-image:linear-gradient(90.95deg, #89C56D 10.77%, #00B7EE 90.04%); -webkit-background-clip:text; background-clip:text; color:transparent;}
.bd_faq .q_tit {flex:1; min-width:0; font-size:1.5rem; font-weight:700; line-height:1.33; letter-spacing:-0.015rem; color:#2E2F33; word-break:keep-all;}
.bd_faq .on .q::after {background-image:url("/img/board/faq_toggle_open.svg");}
.bd_faq .on .q_tit {color:#171719;}
.bd_faq .a {display:none; padding-bottom:1.25rem;}
.bd_faq .a_in {display:flex; align-items:flex-start; gap:1.25rem; padding:1.75rem 1.75rem 2.25rem; border-radius:0.75rem; background:#F4F4F5;}
.bd_faq .a_ic {flex-shrink:0; font-family:var(--font-outfit); font-size:1.375rem; font-weight:700; line-height:1.45; color:#5A5C63;}
.bd_faq .cont {flex:1; min-width:0; font-size:1.25rem; font-weight:400; line-height:1.45; letter-spacing:-0.00625rem; color:#5A5C63; word-break:keep-all;}
.bd_faq .cont *{font-size:1.25rem; font-weight:400; line-height:1.45; letter-spacing:-0.00625rem; color:#5A5C63; word-break:keep-all;}
.bd_faq .cont img {max-width:100%; height:auto;}
.bd_faq .cont ul {margin-top:0.75rem;}
.bd_faq .cont ul > li {position:relative; padding-left:0.625em;}
.bd_faq .cont ul > li::before {content:""; position:absolute; top:0.5em; left:0; width:0.2em; height:0.2em; border-radius:50%; background:currentColor;}
.bd_faq .down {display:flex; flex-wrap:wrap; gap:0.5rem 1rem; margin-top:1rem;}
.bd_faq .down a {display:inline-flex; align-items:center; gap:0.375rem; font-size:1rem; line-height:1.5; color:#5A5C63;}
.bd_faq .down img {width:1.25rem;}


/* ===== 아카이빙 갤러리 (Figma sub_아카이빙_white01 7725:14241) ===== */
.bd_gal .list {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:3.5rem 2.5rem;}
.bd_gal .item {display:block; width:100%; padding:0; border:1px solid #E1E2E4; border-radius:1rem; background:#fff; overflow:hidden; cursor:pointer;}
.bd_gal .item img {display:block; width:100%; aspect-ratio:440 / 290; object-fit:cover;}


/* ===== 세션 (Figma sub_세션 7725:14387 · card_item 7689:5532) ===== */
.bd_session .list {display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:3.5rem 1.5rem;}
.bd_session .item {display:flex; flex-direction:column; width:100%; padding:0; border:0; background:none; text-align:left; cursor:pointer;}
.bd_session .img {position:relative; display:block; border-radius:1rem; overflow:hidden; background:#F4F4F5;}
.bd_session .img img {display:block; width:100%; aspect-ratio:332 / 380; object-fit:cover;}
.bd_session .view {position:absolute; right:0.75rem; bottom:0.625rem; display:flex; align-items:center; justify-content:center; gap:0.140625rem; width:5.625rem; height:5.625rem; padding:0 0.5625rem; border-radius:50%; background:rgba(137,197,109,0.7); -webkit-backdrop-filter:blur(0.140625rem); backdrop-filter:blur(0.140625rem); font-size:0.9rem; font-weight:700; line-height:1.5; color:#fff; opacity:0; transition:opacity 0.3s ease;}   /* drag 7697:10880 */
.bd_session .view::after {content:""; width:0.9rem; height:0.9rem; background:url("/img/board/session_view_arrow.svg") no-repeat center / 100%; transform:scaleX(-1);}
.bd_session .item:hover .view, .bd_session .item:focus-visible .view {opacity:1;}
.bd_session .txt {display:flex; flex-direction:column; gap:1rem; padding-top:1.25rem;}
.bd_session .info {display:flex; flex-direction:column; gap:0.25rem;}
.bd_session .name {display:flex; flex-wrap:wrap; align-items:flex-end; gap:0 0.5rem;}
.bd_session .nm {font-size:1.375rem; font-weight:700; line-height:1.45; letter-spacing:-0.006875rem; color:#171719;}
.bd_session .rank {font-size:1rem; font-weight:400; line-height:1.5; color:#AEB0B6;}
.bd_session .company {display:block; width:fit-content; font-size:1rem; font-weight:700; line-height:1.5; color:#89c56d;}
.bd_session .desc {display:block; padding-top:0.75rem; border-top:1px solid #E1E2E4; font-size:1rem; font-weight:700; line-height:1.5; color:#171719; word-break:keep-all;}


/* ===== 게시판 팝업 공통 ===== */
.bd_pop {position:fixed; inset:0; z-index:9000; display:none; align-items:center; justify-content:center; padding:4rem 1rem 1.5rem;}
.bd_pop.on {display:flex;}
.bd_pop [hidden] {display:none;}
.bd_pop .bg {position:absolute; inset:0;}
.bd_pop .pop_in {position:relative; z-index:1; max-width:100%;}
.bd_pop .close {width:2.75rem; height:2.75rem; padding:0; border:0; background:url("/img/board/gal_pop_close.svg") no-repeat center / 1.25rem; cursor:pointer;}   /* 아이콘 20px, 터치영역 44px */

/* 갤러리 팝업 (Figma popup02 7725:14379) */
.gal_pop .bg {background:rgba(11,11,11,0.7);}
.gal_pop .pop_in {display:flex; flex-direction:column; align-items:flex-end; gap:0.75rem; width:40.625rem; padding-bottom: 2.75rem;}
.gal_pop .close {margin:-0.75rem -0.75rem -0.75rem 0;}
.gal_pop .pop_img {display:block; width:100%; max-height:calc(100vh - 8rem); object-fit:contain;}

/* 세션 팝업 (Figma popup 7725:14448) */
.session_pop .bg {background:rgba(17,17,17,0.7);}
.session_pop .pop_in {display:flex; flex-direction:column; gap:1.75rem; width:43rem; max-height:calc(100vh - 6rem); padding:2.5rem; border:1px solid #E1E2E4; background:#fff;}
.session_pop .close {position:absolute; top:-2.75rem; right:-0.75rem; background-image:url("/img/board/session_pop_close.svg");}   /* 아이콘 20px 이 팝업 우측 끝에서 12px 위 */
.session_pop .head {display:flex; align-items:flex-start; gap:0.75rem;}
.session_pop .badge {flex-shrink:0; padding:0.3125rem 0.75rem; border-radius:999px; background:linear-gradient(92.24deg, #89C56D 10.77%, #00B7EE 90.04%); font-size:0.875rem; font-weight:700; line-height:1.43; color:#fff; white-space:nowrap;}
.session_pop .tit {flex:1; min-width:0; font-size:1.375rem; font-weight:700; line-height:1.45; letter-spacing:-0.006875rem; color:#171719; word-break:keep-all;}

/* 스크롤 영역 : 스크롤바를 팝업 여백(우측 20px)에 걸치도록 음수 마진 사용 */
.session_pop .body {flex:1 1 auto; min-height:0; max-height:44.5rem; margin-right:-1.25rem; padding-right:1.25rem; overflow-y:auto; overscroll-behavior:contain;}
.session_pop .body::-webkit-scrollbar {width:0.125rem;}
.session_pop .body::-webkit-scrollbar-track {border-radius:0.625rem; background:#C2C4C8;}
.session_pop .body::-webkit-scrollbar-thumb {border-radius:0.625rem; background:#5A5C63;}

/* 연사 카드 : 그라데이션 바 (Figma speaker 7725:14459) */
.session_pop .speaker {display:flex; align-items:center; gap:1rem; margin-bottom:1.75rem; padding:1.25rem; background:linear-gradient(108.74deg, #89C56D 10.77%, #00B7EE 90.04%);}
.session_pop .cont dt + .speaker {margin-top:0.5rem;}   /* dt margin-bottom 0.75rem + 0.5rem = 시안 20px */
.session_pop .thumb {flex-shrink:0; width:4.5rem; height:4.5rem; border-radius:50%; overflow:hidden;}
.session_pop .thumb img {width:100%; height:100%; object-fit:cover;}
.session_pop .sp_name {font-size:1.25rem; font-weight:700; line-height:1.45; letter-spacing:-0.00625rem; color:#fff; white-space:pre-wrap;}
.session_pop .sp_company {margin-top:0.25rem; font-size:0.875rem; font-weight:500; line-height:1.43; color:#fff;}

.session_pop .cont {font-size:0.875rem; font-weight:400; line-height:1.43; color:#5A5C63; word-break:keep-all;}
.session_pop .cont dt {margin-bottom:0.75rem; font-size:1rem; font-weight:700; line-height:1.5; color:#00B7EE;}   /* 세션 소개 / 연사 소개 */
/* 항목 사이 구분선 : 시안 기준 위 40px · 아래 32px (빈 노드가 뒤따라도 선이 남지 않도록 뒤 항목에 지정) */
.session_pop .cont dl + dl {margin-top:2.5rem; padding-top:2rem; border-top:1px solid #DBDCDF;}
.session_pop .cont img {max-width:100%; height:auto;}


@media screen and (max-width:1024px){

    .no_data{height:18.375rem !important; gap:0.875rem;}
    .no_data .icon{width:1.875rem;}
    .no_data p{font-size:1rem;}
	
	.bd_sort {margin-bottom: 1.25rem;}
	.bd_sort .total {font-size:0.9375rem;}
	.bd_sort .bd_search {gap:0.5rem; height:2.75rem;}
	.bd_sort .bd_search select {flex-shrink:0; width:6.5rem; padding:0 1.75rem 0 0.5rem; background-position:right 0.375rem center; background-size:1.25rem; font-size:0.875rem;}
	.bd_sort .search_input {flex:1; min-width:0; width:auto; gap:0.5rem; padding:0 0.5rem;}
	.bd_sort .search_input input {font-size:0.875rem;}
	.bd_sort .search_input button {width:2.75rem; height:2.75rem; margin-right:-0.75rem; padding:0.6875rem;}

	.bd_tab {margin-bottom:2rem;}
	.bd_tab a {padding:0.625rem 1.25rem; font-size:1rem;}
	.bd_page {margin-top:2.5rem;}

	.bd_faq .q {gap:0.75rem; padding:1.5rem 0;}
	.bd_faq .q::after {width:1.5rem; height:1.5rem;}
	.bd_faq .q_ic {width:1.25rem; font-size:1.125rem;}
	.bd_faq .q_tit {font-size:1.125rem;}
	.bd_faq .a {padding-bottom:1rem;}
	.bd_faq .a_in {gap:0.75rem; padding:1.25rem 1.25rem 1.5rem;}
	.bd_faq .a_ic {font-size:1.125rem;}
	.bd_faq .cont,
	.bd_faq .cont * {font-size:1rem;}
	.bd_faq .cont ul {margin-top:0.5rem;}

	.bd_gal .list {grid-template-columns:repeat(2, minmax(0, 1fr)); gap:1.5rem 1rem;}
	.bd_session .list {grid-template-columns:repeat(3, minmax(0, 1fr)); gap:2.5rem 1rem;}

	.session_pop .pop_in {gap:1.25rem; padding:1.5rem;}
	.session_pop .tit {font-size:1.125rem;}
	.session_pop .body {max-height:none; margin-right:-0.75rem; padding-right:0.75rem;}
	.session_pop .speaker {margin-bottom:1.25rem; padding:1rem;}
	.session_pop .cont dl + dl {margin-top:1.5rem; padding-top:1.25rem;}
}

@media screen and (max-width:768px){

	.bd_page .pg {gap:0.25rem;}
	.bd_page .pg_page {min-width:2.75rem; height:2.75rem; font-size:1rem;}
	.bd_page .pg_current {width:2.25rem; height:2.25rem; margin:0 0.25rem; font-size:1rem;}
	.bd_page .pg_start, .bd_page .pg_prev, .bd_page .pg_next, .bd_page .pg_end {width:2.75rem; height:2.75rem;}

	.bd_sort {flex-direction:column-reverse; align-items:stretch; gap:1.75rem; margin-bottom: 0.75rem;}

	.bd_session .list {grid-template-columns:repeat(2, minmax(0, 1fr)); gap:2rem 0.75rem;}
	.bd_session .txt {gap:0.75rem; padding-top:0.875rem;}
	.bd_session .nm {font-size:1.125rem;}
	.bd_session .rank, .bd_session .company, .bd_session .desc {font-size:0.875rem;}
	.bd_session .view {display:none;}

	.session_pop .speaker {gap:0.75rem;}
	.session_pop .thumb {width:3.5rem; height:3.5rem;}
	.session_pop .sp_name {font-size:1rem;}
}

@media screen and (max-width:560px){
	.bd_gal .list {grid-template-columns:minmax(0, 1fr);}
}
