@charset "utf-8";
:root{--gs-blue:#2685a6;--gs-ink:#333;--gs-width:1170px}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--gs-ink);font:15px/1.65 "Malgun Gothic","맑은 고딕",Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}img{max-width:100%}.gs-container{width:min(var(--gs-width),calc(100% - 30px));margin-inline:auto}.gs-skip{position:fixed;left:16px;top:-100px;background:#fff;padding:12px;z-index:10000}.gs-skip:focus{top:8px}a:focus-visible,button:focus-visible{outline:3px solid #e7ad25;outline-offset:4px}.gs-top{background:var(--gs-blue);color:#fff;font-size:12px}.gs-top .gs-container{display:flex;align-items:center;gap:12px;min-height:40px}.gs-login{margin-left:auto}.gs-nav-row{display:flex;align-items:center;justify-content:space-between;min-height:120px;gap:20px}.gs-logo{width:260px;display:block;flex-shrink:0}.gs-logo img{display:block;width:100%;height:auto}.gs-slogan{display:inline-block;margin-left:-10px;padding:6px 14px;border-left:2px solid #e5e5e5;color:#2685a6;font-size:15px;font-weight:600;letter-spacing:-0.3px;flex-shrink:0;line-height:1.3}#gs-nav{margin-left:auto}#gs-nav ul{margin:0;padding:0;list-style:none}#gs-nav>ul{display:flex;gap:50px}#gs-nav>ul>li{position:relative}#gs-nav>ul>li>a{display:block;line-height:120px;font-size:21px;font-weight:700;color:#222;border-bottom:3px solid transparent}#gs-nav .is-active>a{color:var(--gs-blue);border-color:var(--gs-blue)}#gs-nav li>ul{display:none;position:absolute;top:100%;left:-20px;z-index:50;min-width:220px;background:#fff;box-shadow:0 8px 25px #0002;padding:10px 0}#gs-nav li:hover>ul,#gs-nav li:focus-within>ul{display:block}#gs-nav li>ul a{display:block;padding:10px 20px;font-size:14px}#gs-nav li>ul a:hover{color:var(--gs-blue);background:#f5f7f8}.gs-menu-toggle{display:none}.gs-hero{height:600px;position:relative;overflow:hidden;background:#334f60}.gs-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s ease;background-position:center;background-size:cover;color:#fff;display:flex;align-items:center}.gs-slide.is-active{opacity:1;visibility:visible}.gs-slide h1{font-family:Arial,sans-serif;font-size:54px;line-height:1.2;margin:0 0 26px;font-weight:600;letter-spacing:-1px}.gs-slide p{font-size:16px;margin:0 0 30px;font-weight:600}.gs-slide a{display:inline-block;color:#fff;border:1px solid rgba(255,255,255,0.6);padding:12px 28px;font-size:13px;letter-spacing:1px;transition:background 0.2s,color 0.2s}.gs-slide a:hover{background:#fff;color:#1a2a3a}.gs-slide a span{margin-left:34px}.gs-slider-controls{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:14px;color:white}.gs-slider-controls button{background:#0002;border:0;color:#fff;border-radius:3px;font-size:23px;min-width:30px;min-height:34px}.gs-slider-controls [data-slide=pause]{font-size:14px}.gs-slider-controls b{font-size:28px;font-weight:400}.gs-home-banners{position:relative;z-index:2;margin-top:-45px;display:grid;grid-template-columns:1fr 2fr;align-items:end}.gs-home-banners img{display:block;width:100%}.gs-quick{display:grid;grid-template-columns:repeat(5,1fr);margin:30px 0 60px;gap:0}.gs-quick a{display:block;border:1px solid #eee}.gs-quick img{width:100%;display:block}.gs-section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.gs-section-heading h2{font-size:25px;margin:0}.gs-section-heading h2 span{font-size:13px;font-weight:400;color:#999;margin-left:12px;letter-spacing:1px}.gs-section-heading>a{font-size:13px;color:#777}.gs-home-cases{margin-bottom:80px}.gs-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}.gs-card{display:block;background:#f8f8f8;min-width:0}.gs-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.gs-card h3{font-size:15px;margin:0;padding:25px 15px;text-align:center;line-height:1.6}.gs-card:hover h3{color:var(--gs-blue)}.gs-page-banner{padding:85px 0;background-position:center;background-size:cover;color:#fff}.gs-page-banner h1{font-size:34px;margin:0;line-height:1.8;font-weight:600}.gs-page-banner h1 span{font-size:22px}.gs-subnav{border-bottom:1px solid #ccc}.gs-subnav .gs-container{display:flex;gap:34px;overflow:auto;scrollbar-width:thin}.gs-subnav a{white-space:nowrap;display:block;padding:14px 0;font-size:13px;border-bottom:3px solid transparent}.gs-subnav a[aria-current]{border-color:var(--gs-blue);color:var(--gs-blue)}.gs-content{padding-top:85px;padding-bottom:75px;min-height:420px}.gs-static img{height:auto;max-width:100%}.gs-static p{margin:0}.gs-static .xet-container{width:100%}.gs-static table{max-width:100%}.gs-location{padding:55px 30px;background:#f4f7f8;border-top:3px solid var(--gs-blue);text-align:center}.gs-location h2{margin:0 0 20px}.gs-location p{margin:10px 0}.gs-button{display:inline-block;margin-top:20px;background:var(--gs-blue);color:white;padding:12px 20px;border:0}.gs-footer{background:#262a2c;color:#aeb3b5;padding:55px 0 25px;font-size:13px}.gs-footer-grid{display:grid;grid-template-columns:2fr 1fr 1.2fr;gap:60px}.gs-footer h2{font:600 15px Arial,sans-serif;color:#fff;margin:0 0 24px}.gs-footer p{margin:0;line-height:2.1}.gs-footer ul{list-style:none;margin:0;padding:0}.gs-footer li{padding:4px 0}.gs-footer a:hover{color:#fff}.gs-copyright{border-top:1px solid #ffffff18;padding-top:25px;margin-top:40px;font-size:12px}.gs-copyright span{margin-left:12px}.gs-top-link{position:fixed;right:22px;bottom:20px;padding:6px 14px;border:1px solid #ddd;background:#fff;color:#666;z-index:10}
/* Core board controls, CSRF handling, editor and permissions remain in GNUBOARD. */
#bo_gall,#bo_list,#bo_v,#bo_w{width:100%!important}#gall_ul.gall_row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin:0;padding:0}#gall_ul .gall_li{width:auto!important;margin:0!important;padding:0!important;float:none;min-width:0}#gall_ul .gall_box{border:0;background:#f8f8f8;position:relative}#gall_ul .gall_img{height:auto!important;max-height:none!important;margin:0;position:relative}#gall_ul .gall_img a{display:block}#gall_ul .gall_img img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}#gall_ul .gall_text_href{padding:25px 15px;text-align:center}#gall_ul .gall_text_href .bo_tit{font-size:15px;font-weight:600;white-space:normal;line-height:1.7}#gall_ul .gall_info,#gall_ul .bo_cnt,#gall_ul .gall_option{display:none}#gall_ul .gall_chk{position:absolute;top:8px;left:8px;z-index:3}#gall_ul .gs-image-count{position:absolute;right:10px;top:10px;color:white;background:#3338;border-radius:20px;font-size:11px;padding:0 5px}#bo_v_title{text-align:center;margin-bottom:25px}#bo_v_con img{max-width:100%;height:auto}#bo_v_con{font-size:15px;line-height:1.8}.pg_wrap{margin-top:40px}.pg_current{background:var(--gs-blue)!important;border-color:var(--gs-blue)!important}.btn_submit,a.btn_submit,.btn_b02,a.btn_b02{background:var(--gs-blue);color:#fff}.gs-preview-search{display:flex;justify-content:center;gap:8px;margin-top:30px}.gs-preview-search input{border:1px solid #ccc;padding:8px 12px;min-width:0}.gs-preview-search button{border:0;background:var(--gs-blue);color:#fff;padding:8px 16px}.gs-pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:35px}.gs-pagination a{padding:6px 12px;border:1px solid #ddd}.gs-pagination a[aria-current]{background:var(--gs-blue);color:#fff}.gs-preview-detail h2{text-align:center;font-size:25px}.gs-preview-detail .gs-meta{padding-bottom:20px;border-bottom:1px solid #ddd;color:#888}.gs-preview-detail figure{text-align:center;margin:30px 0}.gs-preview-detail img{max-width:100%;height:auto}.gs-preview-text{white-space:pre-wrap}.gs-note{padding:12px 18px;background:#f3f6f7;color:#555;margin-bottom:24px}
@media(max-width:991px){#gs-nav>ul{gap:24px}.gs-logo{width:180px}.gs-cards,#gall_ul.gall_row{gap:20px}.gs-top .gs-container{gap:8px}.gs-page-banner{padding:65px 0}}
@media(max-width:767px){.gs-container{width:calc(100% - 32px)}.gs-top .gs-container{min-height:33px;font-size:10px}.gs-top span,.gs-top a[href^=mailto]{display:none}.gs-nav-row{min-height:76px;flex-wrap:wrap}.gs-logo{width:166px}.gs-menu-toggle{display:block;border:0;background:white;color:#444;padding:10px}#gs-nav{display:none;width:100%}#gs-nav.is-open{display:block}#gs-nav>ul{display:block;padding-bottom:20px}#gs-nav>ul>li>a{line-height:45px;font-size:16px;border:0}#gs-nav li>ul{display:block;position:static;box-shadow:none;background:#f6f7f8;padding:6px 10px}#gs-nav li>ul a{padding:7px 10px;font-size:13px}.gs-hero{height:390px}.gs-slide h1{font-size:36px;margin-bottom:20px}.gs-slide p{font-size:13px;max-width:260px;line-height:1.8}.gs-slider-controls{bottom:16px}.gs-home-banners{margin-top:0;grid-template-columns:1fr 2fr}.gs-quick{grid-template-columns:repeat(3,1fr);margin:20px 0 38px}.gs-cards,#gall_ul.gall_row{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.gs-card h3,#gall_ul .gall_text_href{padding:15px 10px;font-size:13px}#gall_ul .gall_text_href .bo_tit{font-size:13px}.gs-section-heading h2{font-size:22px}.gs-section-heading h2 span{display:none}.gs-page-banner{padding:42px 0}.gs-page-banner h1{font-size:26px}.gs-page-banner h1 span{font-size:16px}.gs-subnav .gs-container{gap:22px}.gs-content{padding-top:35px;padding-bottom:40px}.gs-static table td{font-size:13px!important}.gs-static table td[width]{width:auto}.gs-static table td[style*="background-image"]{background-position:right top;background-size:auto 100%;background-repeat:no-repeat}.gs-footer{padding-top:35px}.gs-footer-grid{grid-template-columns:1fr 1fr;gap:30px}.gs-footer-grid>section:first-child{grid-column:1/-1}.gs-copyright span{display:block;margin:8px 0 0}.gs-home-cases{margin-bottom:45px}#bo_v_title .bo_v_tit{font-size:22px}#bo_gall .btn_bo_user{float:none}.gs-location{padding:35px 18px}}
#bo_gall #gall_ul{margin:0;padding:0}#bo_gall #gall_ul .gall_box{margin:0;border:0}#bo_gall #gall_ul .gall_img .gs-image-count{display:block;position:absolute;right:10px;top:10px;left:auto;bottom:auto;width:auto;height:auto;line-height:20px;background:#3338;color:#fff;border-radius:20px;font-size:11px;padding:0 5px}#bo_gall #gall_ul .gall_img{margin:0}
.gs-home-banners{margin-top:0}.gs-home-banners>a:first-child{transform:translateY(-45px);margin-bottom:-45px}.gs-slider-controls{bottom:58px;z-index:5}
@media(max-width:767px){.gs-home-banners>a:first-child{transform:none;margin-bottom:0}.gs-static table td[style*="background-image"]{background-image:none!important}}
@media(max-width:767px){.gs-slider-controls{bottom:16px}}

/* ===== 추가: 적용사례 하단 영역 심플화 + 로그인 버튼 강조 ===== */

/* 1) 페이지네이션 — 깔끔한 숫자 박스 (flexbox 중앙정렬 강제) */
.pg_wrap, #bo_gall .pg_wrap, #bo_list .pg_wrap {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    text-align: center !important;
    margin: 40px auto 25px !important;
    border: 0 !important;
    padding: 0 !important;
    background: none !important;
    float: none !important;
    clear: both;
    width: 100%;
}
.pg_wrap .pg {
    display: inline-flex !important;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    margin: 0 auto !important;
    float: none !important;
}
.pg_wrap a, .pg_wrap strong, .pg_wrap .pg_current, .pg_wrap .pg_page {
    display: inline-block !important;
    min-width: 34px;
    height: 34px;
    line-height: 32px !important;
    padding: 0 10px !important;
    margin: 0 2px !important;
    border: 1px solid #ddd !important;
    background: #fff !important;
    color: #666 !important;
    font-size: 13px !important;
    font-weight: normal !important;
    text-align: center;
    text-decoration: none !important;
    box-sizing: border-box;
    vertical-align: middle;
    border-radius: 2px;
}
.pg_wrap .pg_current, .pg_wrap strong {
    background: #2685a6 !important;
    color: #fff !important;
    border-color: #2685a6 !important;
    font-weight: 600 !important;
}
.pg_wrap a:hover { border-color: #2685a6 !important; color: #2685a6 !important; }
/* PREV/NEXT 아이콘은 유지하되 깔끔하게 */
.pg_wrap .pg_prev, .pg_wrap .pg_next, .pg_wrap .pg_start, .pg_wrap .pg_end { color: #999 !important; }

/* 2) 인라인 검색 폼 (list.skin.php 커스텀 .gs-inline-search) */
.gs-inline-search {
    display: flex;
    gap: 6px;
    justify-content: center;
    align-items: center;
    margin: 15px auto 25px;
    max-width: 480px;
    flex-wrap: wrap;
}
.gs-inline-search select#sfl {
    height: 36px;
    padding: 0 10px;
    border: 1px solid #ccc;
    background: #fff;
    font-size: 13px;
    color: #333;
    min-width: 100px;
}
.gs-inline-search input#stx, .gs-inline-search .sch_input {
    height: 36px;
    padding: 0 12px;
    border: 1px solid #ccc;
    background: #fff;
    font-size: 13px;
    width: 240px;
    max-width: 100%;
}
.gs-inline-search .sch_btn {
    height: 36px;
    padding: 0 16px;
    background: #2685a6;
    color: #fff;
    border: 0;
    font-size: 13px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.gs-inline-search .sch_btn:hover { background: #1e6c87; }
@media(max-width:480px){ .gs-inline-search input#stx { width: 160px; } }

/* 3) 하단 쓰기 버튼 영역 — 관리자용 */
.btn_bo_user { list-style: none; padding: 0; margin: 20px 0 0; text-align: right; }
.btn_bo_user li { display: inline-block; margin-left: 4px; }
.btn_bo_user .btn_b01, .btn_bo_user .btn_admin {
    padding: 6px 12px; font-size: 12px; border: 1px solid #ddd; background: #fff; color: #666;
    border-radius: 2px;
}

/* 4) 기존 모달형 검색 폼은 숨김 (list.skin.php 수정으로 더 이상 생성 안 되지만 안전장치) */
.bo_sch_wrap, .bo_sch_bg, .btn_bo_sch { display: none !important; }

/* 8) 반응형 (슬로건/모바일 메뉴) */
@media(max-width:991px){ .gs-slogan { display:none; } }
@media(max-width:767px){
    .gs-nav-row { min-height: 76px; }
    .gs-logo { width: 180px; }
    #gs-nav>ul>li>a { line-height: 45px; font-size: 17px; color: #222; }
}

/* 원본 테마 "맨위로" 버튼 숨김 (중복 방지 — gs-top-link 유지) */
#xet-top-scroll { display: none !important; }

/* 히어로 슬라이더 서브타이틀 크기 확대 (원본 16px → 28px, 약 1.75배) */
.xet-slider .xet-slider-container h5 {
    font-size: 28px !important;
    line-height: 1.5 !important;
    letter-spacing: 0.3px;
    font-weight: 500;
    margin-top: 25px !important;
}
@media (max-width: 991px) {
    .xet-slider .xet-slider-container h5 {
        font-size: 22px !important;
    }
}
@media (max-width: 767px) {
    .xet-slider .xet-slider-container h5 {
        font-size: 17px !important;
        line-height: 1.5 !important;
    }
}

/* 더보기 버튼 (적용사례 하단) */
.gs-more-wrap { text-align: center; margin: 50px 0 20px; }
.gs-more-btn {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    padding: 14px 42px;
    border: 1px solid #333;
    background: #fff;
    color: #333;
    font-size: 14px;
    letter-spacing: 1px;
    text-decoration: none;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.gs-more-btn:hover { background: #2685a6; color: #fff; border-color: #2685a6; }
.gs-more-btn span { font-size: 18px; font-weight: 400; }

/* 9) 적용사례 Swiper 캐러셀 (원본 Gallery 재현) */
.gs-home-cases {
    background: #f9f9f9;      /* bg-f9 전체폭 배경 */
    padding: 80px 0 90px;
    margin: 60px 0 0;
}
.gs-cases-title {
    text-align: center;
    font-size: 32px;
    font-weight: 400;
    margin: 0 0 50px;
    letter-spacing: 2px;
    color: #333;
}
.gs-cases-swiper {
    padding: 10px 50px 50px !important;
    position: relative;
}
.gs-cases-swiper .swiper-slide {
    height: auto;
    background: #fff;
}
.gs-case-card {
    display: block;
    background: #fff;
    text-decoration: none;
    color: inherit;
    transition: box-shadow 0.2s;
}
.gs-case-card:hover { box-shadow: 0 6px 20px rgba(0,0,0,0.1); }
.gs-case-thumb {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1/1;
    background: #eee;
}
.gs-case-thumb img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s;
}
.gs-case-card:hover .gs-case-thumb img { transform: scale(1.05); }
.gs-case-more {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(38,133,166,0.85);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    opacity: 0;
    transition: opacity 0.3s;
}
.gs-case-card:hover .gs-case-more { opacity: 1; }
.gs-case-overlay { display: none; }
.gs-case-title {
    text-align: center;
    padding: 15px 10px;
    margin: 0;
    font-size: 14px;
    font-weight: 400;
    color: #333;
    line-height: 1.5;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Swiper 네비게이션 커스텀 */
.gs-cases-swiper .swiper-button-prev,
.gs-cases-swiper .swiper-button-next {
    width: 40px; height: 40px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    color: #666;
    top: 50%;
    margin-top: -40px;
}
.gs-cases-swiper .swiper-button-prev { left: 0; }
.gs-cases-swiper .swiper-button-next { right: 0; }
.gs-cases-swiper .swiper-button-prev::after,
.gs-cases-swiper .swiper-button-next::after { font-size: 14px; font-weight: 700; }
.gs-cases-swiper .swiper-button-prev:hover,
.gs-cases-swiper .swiper-button-next:hover { background: #2685a6; color: #fff; border-color: #2685a6; }
.gs-cases-swiper .swiper-pagination {
    bottom: 0;
    position: relative;
    margin-top: 20px;
}
.gs-cases-swiper .swiper-pagination-bullet-active { background: #2685a6; }

@media(max-width:767px){
    .gs-home-cases { padding: 50px 0 60px; margin-top: 40px; }
    .gs-cases-title { font-size: 24px; margin-bottom: 30px; }
    .gs-cases-swiper { padding: 10px 30px 40px !important; }
    .gs-cases-swiper .swiper-button-prev,
    .gs-cases-swiper .swiper-button-next { width: 30px; height: 30px; }
    .gs-case-title { font-size: 12px; padding: 10px 8px; }
}

/* 7) 카카오맵 스크립트 지도 (드래그/줌 가능) — 반응형 */
.gs-kakaomap { width: 100%; margin: 0 auto; }
.gs-kakaomap .root_daum_roughmap,
.gs-kakaomap .root_daum_roughmap_landing { width: 100% !important; }
/* 로더가 생성한 wrap 영역 (높이는 mapHeight=400 설정으로 고정) */
.gs-kakaomap .wrap_map { width: 100% !important; height: 400px !important; }
.gs-kakaomap .map_border { width: 100% !important; }
/* 모바일 */
@media(max-width:767px){
    .gs-kakaomap .wrap_map { height: 320px !important; }
}

/* 6) 메인 히어로 슬라이더 — 드래그 가능 UX */
.gs-hero { cursor: grab; user-select: none; -webkit-user-select: none; }
.gs-hero:active { cursor: grabbing; }
.gs-hero .gs-slide { user-select: none; -webkit-user-drag: none; }
/* 컨트롤 버튼 영역은 기본 커서 유지 (버튼 클릭 UX) */
.gs-slider-controls, .gs-slider-controls * { cursor: pointer; }
.gs-slide a { cursor: pointer; }

/* 5) 메인 5개 아이콘 섹션 — 테두리 제거 + 이미지 원본 크기로 */
.gs-quick {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 0 !important;
    margin: 30px auto 60px !important;
    max-width: 100%;
    align-items: center;
}
.gs-quick a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    border: 0 !important;          /* 테두리 완전 제거 */
    padding: 25px 15px;
    background: transparent;
    transition: opacity 0.2s;
}
.gs-quick a:hover { opacity: 0.75; }
.gs-quick img {
    width: auto !important;        /* 원본 크기 */
    max-width: 100% !important;
    height: auto;
    display: block;
    margin: 0 auto;
}
@media(max-width:767px){
    .gs-quick { grid-template-columns: repeat(3, 1fr) !important; }
    .gs-quick a { padding: 15px 8px; }
}

/* 3) 상단 "관리자 로그인" 버튼 강조 */
.gs-login {
    margin-left: auto;
    background: rgba(255,255,255,0.2);
    padding: 4px 14px;
    border-radius: 3px;
    font-weight: 600;
}
.gs-login:hover { background: rgba(255,255,255,0.4); color: #fff; }

/* 4) 찾아오시는 길 — 지도 iframe 반응형 */
.gs-map-embed {
    position: relative;
    width: 100%;
    aspect-ratio: 16/9;
    max-height: 500px;
    margin: 0 auto 30px;
    overflow: hidden;
    border: 1px solid #e5e5e5;
}
.gs-map-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
@media(max-width:767px){ .gs-map-embed { aspect-ratio: 4/3; } }

@media(prefers-reduced-motion:reduce){.gs-slide{transition:none}*{scroll-behavior:auto!important}}
