#wrap{position: relative; overflow: clip;}
.w_custom{position: relative; width: calc(100% - 60px); max-width: 1240px; margin-inline: auto;}
body:has(#mainContent) .w_custom{max-width:1760px;}
#container{position: relative;padding-block:var(--row-gap100) var(--row-gap140);}
#container:has(.full-sec){width: 100%; max-width:100%;}
#container:has(.pd-dn){padding-bottom:0;}
#container:has(#mainContent){padding:0;}
/* body::-webkit-scrollbar {display: none; } */
body [class*="swiper-button"]:after{display: none;}
.link{position: absolute; inset: 0; z-index: 5;}
.blind{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;}
.ofc{overflow:hidden;}
.ofc img{width:100% !important;height:100% !important;object-fit:cover !important;}
.dragscroll{ scrollbar-gutter: stable;}
.dragscroll::-webkit-scrollbar {width: clamp(3px, 0.6vw, 4px); height: clamp(3px, 0.6vw, 4px);}
.dragscroll::-webkit-scrollbar-track {background: #eee; border-radius: 10px;}
.dragscroll::-webkit-scrollbar-thumb {background: #aaa; border-radius: 10px;}

br.for_m{display: none;}
@media (max-width:1600px) {
    br.for_pc{display: none;}
}
@media (max-width:1023px) {
    br.for_tm{display: none;}
    br.for_m{display:inline;}
}
@media (max-width:860px) {
    .w_custom{width: calc(100% - 30px);}
}
@media (max-width:320px) {
    .w_custom{width: calc(100% - 20px);}
}

/* ========================================
    빠른 상담문의 (Quick Inquiry)
======================================== */
    #dbQuickInquiry{display: none;}
    /* ── 공통 ── */
    .db-qi-header { display: flex; align-items: center; justify-content: space-between; padding: 0.75rem 1rem; }
    .db-qi-title { font-size: 1rem; font-weight: 700; color: var(--qi-text, #fff); }
    .db-qi-close { background: none; border: none; color: var(--qi-text, #fff); font-size: 1.5rem; cursor: pointer; opacity: 0.7; line-height: 1; }
    .db-qi-close:hover { opacity: 1; }

    .db-qi-input { display: block; width: 100%; padding: 0.5rem 0.75rem; border: 1px solid rgba(255,255,255,0.3); border-radius: 0.375rem; background: rgba(255,255,255,0.15); color: var(--qi-text, #fff); font-size: 0.875rem; outline: none; transition: border-color 0.2s; }
    .db-qi-input::placeholder { color: rgba(255,255,255,0.6); }
    .db-qi-input:focus { border-color: rgba(255,255,255,0.7); background: rgba(255,255,255,0.25); }

    .db-qi-privacy { display: flex; align-items: center; gap: 0.375rem; font-size: 0.75rem; color: var(--qi-text, #fff); opacity: 0.85; cursor: pointer; flex-shrink: 0; }
    .db-qi-privacy input[type="checkbox"] { width: 14px; height: 14px; flex-shrink: 0; }
    .db-qi-privacy-link { color: var(--qi-text, #fff); text-decoration: underline; opacity: 0.8; margin-left: 0.25rem; }
    .db-qi-privacy-link:hover { opacity: 1; }

    .db-qi-btn { padding: 0.5rem 1.5rem; background: rgba(255,255,255,0.95); color: var(--qi-bg, #1e40af); border: none; border-radius: 0.375rem; font-weight: 700; font-size: 0.875rem; cursor: pointer; transition: background 0.2s; white-space: nowrap; flex-shrink: 0; }
    .db-qi-btn:hover { background: #fff; }

    .db-qi-msg { text-align: center; font-size: 0.8rem; padding: 0.5rem; color: var(--qi-text, #fff); }
    .db-qi-form { display: flex; flex-direction: column; gap: 0.5rem; padding: 0 1rem 1rem; }

    /* ── 하단 고정 바 ── */
    .db-qi-bottom { position: fixed; bottom: 0; left: 0; right: 0; z-index: 9980; }
    .db-qi-bottom-tab { display: flex; align-items: center; justify-content: center; gap: 0.5rem; width: 100%; padding: 0.75rem; background: var(--qi-bg, #1e40af); color: var(--qi-text, #fff); border: none; cursor: pointer; font-size: 0.9rem; font-weight: 600; }
    .db-qi-bottom-tab:hover { filter: brightness(1.1); }
    .db-qi-bottom-panel { background: var(--qi-bg, #1e40af); border-top: 1px solid rgba(255,255,255,0.1); }
    .db-qi-bottom-inner { max-width: 1200px; margin: 0 auto; }
    .db-qi-form-row { flex-direction: row !important; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
    .db-qi-form-row .db-qi-input { width: auto; flex: 1 1 150px; min-width: 120px; }

    /* 캡차 영역 */
    .db-qi-captcha { flex: 0 0 auto; display: flex; align-items: center; }
    .db-qi-captcha img { height: 40px !important; border-radius: 6px; }
    .db-qi-captcha input[name="captcha_answer"] { height: 40px; padding: 0 10px; border: 1px solid #d1d5db; border-radius: 6px; width: 110px; font-size: 13px; color: #111; background: #fff; }
    @media (max-width: 768px) {
        .db-qi-captcha { width: 100%; justify-content: flex-start; }
    }

    /* ── 우측 패널 ── */
    .db-qi-right { position: fixed; right: 0; top: 50%; transform: translateY(-50%); z-index: 9980; display: flex; align-items: flex-start; }
    .db-qi-right-tab { writing-mode: vertical-rl; text-orientation: mixed; padding: 1rem 0.5rem; background: var(--qi-bg, #1e40af); color: var(--qi-text, #fff); border: none; border-radius: 0.5rem 0 0 0.5rem; cursor: pointer; font-size: 0.85rem; font-weight: 600; letter-spacing: 0.05em; }
    .db-qi-right-tab:hover { filter: brightness(1.1); }
    .db-qi-right-panel { display: none; width: 280px; background: var(--qi-bg, #1e40af); border-radius: 0.5rem 0 0 0.5rem; box-shadow: -4px 0 20px rgba(0,0,0,0.15); }

    /* ── 반응형 ── */
    @media (max-width: 768px) {
        .db-qi-form-row { flex-direction: column !important; }
        .db-qi-form-row .db-qi-input { width: 100%; flex: none; }
        .db-qi-right { right: 0; top: auto; bottom: 0; transform: none; left: 0; flex-direction: column; }
        .db-qi-right-tab { writing-mode: horizontal-tb; text-orientation: initial; border-radius: 0; width: 100%; text-align: center; }
        .db-qi-right-panel { width: 100%; border-radius: 0; }
    }

/*────────────────────────────────────────────────────
    Header
────────────────────────────────────────────────────*/
    #header{position:fixed;height:clamp(70px, 10vw, 110px);top:0;z-index:100;width:100%;background:var(--point-white);box-shadow:inset 0 -1px 0 var(--border-color01);}
    #header .header_inner{width:100%;height:100%;padding-inline:clamp(15px, 4vw, 50px);display:flex;align-items:center;justify-content:space-between;gap:30px;}
    #header .w_custom{height: 100%;display: flex;align-items: center;justify-content: space-between;gap: 15px;}
    #header .logo{width:min(281px, 46vw);flex:0 0 auto;}
    #header .logo a{display:flex;width:100%;height:100%;align-items:center;}
    #header .logo img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center;}
    #header .logo img.logo_w{display:none;}
    #header .header_nav{height:100%;position: absolute;left:50%;translate:-50%;}
    #header .gnb{display:flex;justify-content:center;height:100%;text-align:center;width:auto;}
    #header .gnb > li{position: relative;font-size:var(--text-20);font-weight: 600;color: var(--black-color03);line-height: 1.4;letter-spacing: 0;transition: all 0.4s;}
    #header .gnb > li > a{display:flex;align-items:center;justify-content:center;height:100%;padding-inline:clamp(18px, 2.1vw, 35px);position:relative;white-space:nowrap;}
        #header .gnb > li.on > a{color: var(--point-color01);}
    #header .gnb .dep02{position: absolute;top: 100%;left:50%;translate:-50%;width: 100%;padding-block: 30px 42px;opacity: 0;pointer-events: none;transition: inherit;background:var(--point-white);width:180px;box-shadow:var(--shadow-01);}
    #header .gnb .dep02 > li{font-size:var(--text-17);transition:inherit;color: var(--black-color03);font-weight:400;}
    #header .gnb .dep02 > li > a{display:block;padding: 8px 15px;}
    #header .gnb .dep03{display: none;}
    #header .utility{position:relative;display:flex;align-items:center;gap:30px;height:100%;}
    #header .allCate{display:flex;border:0;align-items:center;justify-content:center;}
    #header .allCate_icon{display:block;width:26px;height:26px;background:url('/images/all_cate.svg') no-repeat center/contain;}
    #header :is(a,button):focus-visible{outline:3px solid #1677ff;outline-offset:-3px;}

        /* 메인 비주얼 위 떠있는 상단(스크롤 전 투명) */
        #wrap #header:not(.on){background:transparent;box-shadow:none;}
        #wrap #header:not(.on) :is(.logo img.logo_w, .gnb > li > a, .allCate_icon){filter:var(--filter-white)}
        #wrap #header:not(.on) .logo img.logo_w{display:block;}
        #wrap #header:not(.on) .logo img:not(.logo_w){display:none;}

        /* hover */
        @media (hover:hover) and (pointer: fine) {
            #wrap #header:not(.on):hover{background:var(--point-white);box-shadow:inset 0 -1px 0 var(--border-color01);}
            #wrap #header:not(.on):hover :is(.logo img.logo_w, .gnb > li > a, .allCate_icon){filter:none;}
            #wrap #header:not(.on):hover .logo img.logo_w{display:none;}
            #wrap #header:not(.on):hover .logo img:not(.logo_w){display:block;}

            #header .gnb > li:hover > a{color: var(--point-color01);}
            #header .gnb > li:hover .dep02{opacity: 1; pointer-events: all;}
            #header .gnb .dep02 > li:hover{color: var(--point-color02);text-decoration: underline;font-weight:600;}
        }

    @media (max-width:1023px) {
        #header .header_nav{display:none;}
    }

/*────────────────────────────────────────────────────
    전체메뉴(#aside) — respon_default 방식(모자이크 타일 반짝 + fade-in)
────────────────────────────────────────────────────*/
    .aside_bg{position:fixed;inset:0;width:100%;height:100%;z-index:190;pointer-events:none;}
    .aside_bg div{position:absolute;background:var(--point-white);opacity:0;transform:rotateY(-50deg) scale(0.5);transform-origin:bottom;transition:all .6s cubic-bezier(.71, .05, .09, .91);transition-delay:0.3s;}
    .aside_bg.on div{opacity:1;transform:rotate(0deg) translateY(0);}

    #aside{position:fixed;top: 0;left:0;width: 100%;height: 100%;z-index: 999;background: rgba(255,255,255,0.8);backdrop-filter:blur(10px);display: flex;flex-direction: column;overflow: hidden;overflow-y: auto;padding-block: 10vh;box-sizing: border-box;opacity: 0;transition: all 0.6s;clip-path: inset(0 0 100% 0);}
        #aside.on{opacity: 1;clip-path: inset(0);}
        body:has(#aside.on){overflow: clip; touch-action: none;}
    #aside .w_custom{flex-shrink: 0;max-width: 1800px;min-height: 100%;display: flex;align-items: center;}
    #aside .gnb{width: 100%;display: grid;align-items: start;justify-content: center;grid: auto / repeat(4, 1fr);gap: clamp(15px, 2.2vw, 40px);}
    #aside .gnb > li{color: var(--black-color01);font-size: var(--text-20);text-align: center;}

        @media (min-width:861px) {
            #aside .gnb > li{opacity:0;translate:0 100px;transition:all 0.8s 0.3s;}
            #aside.on .gnb > li{opacity:1;translate:0;}
            #aside.on .gnb > li:nth-child(2){transition-delay:0.4s;}
            #aside.on .gnb > li:nth-child(3){transition-delay:0.5s;}
            #aside.on .gnb > li:nth-child(4){transition-delay:0.6s;}
            #aside.on .gnb > li:nth-child(5){transition-delay:0.7s;}
            #aside.on .gnb > li:nth-child(6){transition-delay:0.8s;}
        }
    #aside .gnb > li > a{position: relative;display: block;font-size: var(--text-40);font-weight: 700;line-height: 1.4;padding-block: 30px;transition: all 0.4s;letter-spacing: 0;}
        #aside .gnb > li > a:before{position: absolute;content: '';top: 0;left: 50%;translate: -50%;width:12px;height: 0;opacity:0;border-radius:100%;background: var(--point-color01);transition:all 0.3s;}
    #aside .gnb .dep02{position: relative;}
    #aside .gnb .dep02 > li > a{display: block;font-weight: 400;padding-block: clamp(7px, 1.7vw, 13px);color: var(--black-color06);line-height: 1.6;transition: all 0.4s;}
    #aside .gnb .dep03{display: none;}
    #aside .utility{position: absolute;top: clamp(30px, 2.8vw, 50px);right: clamp(30px, 2.8vw, 50px);display: flex;align-items: center;gap: clamp(15px, 1.6vw, 30px);z-index:2;}

        /* over */
            @media (hover:hover) and (pointer:fine){
				#aside .gnb > li:hover > a{color: var(--point-color01);}
                #aside .gnb > li:hover > a:before{height:12px;opacity:1;}
                #aside .gnb .dep02 > li:hover a{color: var(--point-color01);}
            }

    @media (max-width:1300px){
        #aside .gnb{grid: auto / repeat(3, 1fr);}
    }
    @media (max-width:1023px){
        #aside{padding-block: clamp(80px, 12vw, 120px);}
    }
    @media (max-width:860px){
		#aside{display: block;}
		#aside .w_custom{align-items:flex-start;}
		#aside .gnb{grid-template: auto / repeat(1, 1fr);gap:0;}
        #aside .gnb > li{padding-block: clamp(20px, 3vw, 25px);text-align:left;border-bottom: 1px solid rgba(0,0,0,0.15);}
        #aside .gnb > li > a{padding-block: 0;}
		#aside .gnb > li > a:before{display: none;}
        #aside .gnb .dep02{display: grid;gap: 0 20px;grid-template: auto / repeat(2, 1fr);margin-top: clamp(10px, 1.8vw, 15px);justify-content: flex-start;}
		#aside .utility{top:15px; right: 15px;}
    }
    @media (max-width:640px){
        #aside .w_custom{display:block;min-height:auto;}
    }
    @media (max-width:479px){
        #aside .gnb .dep02{grid-template: auto / repeat(1, 1fr);}
    }

/*────────────────────────────────────────────────────
    메인 비주얼
────────────────────────────────────────────────────*/
    .main_visual{position:relative;width:100%;background:var(--black-color00);}
    .main_visual .swiper-slide{position:relative;height:clamp(560px, 48.9vw, 940px);overflow:hidden;}
    .main_visual .swiper-slide:before{width:100%;height:100%;content:"";position: absolute;top:0;left:0;pointer-events:none;background:rgba(0,0,0,0.3);z-index:3;}
    .main_visual .visual_bg{position:absolute;inset:0;}
    .main_visual .visual_bg img{scale:1.1;transition:all 3s;}
    .main_visual .swiper-slide-active .visual_bg img{scale:1;}
    .main_visual .visual_inner{position:absolute;left:50%;top:50%;translate:-50% -50%;text-align:center;z-index:4;}
    .main_visual .visual_eyebrow{font-size:var(--text-20);font-weight:600;color:var(--point-white);letter-spacing:0.02em;}
    .main_visual .visual_title{margin-top:var(--row-gap20);font-size:var(--text-60);font-weight:700;color:var(--point-white);line-height:1.3;}
    .main_visual .visual_desc{margin-top:var(--row-gap25);font-size:var(--text-18);font-weight:400;color:var(--point-white);line-height:1.6;opacity:0.9;}
    .main_visual .txt-ani{opacity:0;translate:0 30px;transition:all 0.6s;}
    .main_visual .swiper-slide-active .txt-ani{opacity:1;translate:0 0;}
    .main_visual .swiper-slide-active .txt-ani:nth-child(2){transition-delay:0.3s;}
    .main_visual .swiper-slide-active .txt-ani:nth-child(3){transition-delay:0.5s;}

    .main_visual .swiper-pagination{position:absolute;left:50%;translate:-50% 0;bottom:var(--row-gap50);display:inline-flex;align-items:center;gap:14px;width:auto;}
    .main_visual .swiper-pagination-bullet{width:12px;height:12px;margin:0;background:rgba(255,255,255,0.5);opacity:1;border-radius:50%;transition:background .3s;}
    .main_visual .swiper-pagination-bullet-active{background:var(--point-color01);}

/*────────────────────────────────────────────────────
    read more 버튼 (공통 — main_about / main_news 등에서 재사용)
────────────────────────────────────────────────────*/
    .read_more_btn{display:inline-block;}
    .read_more_btn span{position:relative;display:inline-block;font-size:var(--text-15);font-weight:600;color:var(--black-color03);transition:color 0.4s;}
    .read_more_btn span:before{position:absolute;content:'';width:100%;height:1px;background:var(--black-color03);left:0;bottom:1px;}
    .read_more_btn span:after{position:absolute;content:'';width:30px;height:1px;background:var(--point-color01);left:0;bottom:1px;opacity:0;transition:opacity 0.4s;}

    @keyframes readMoreSlide{0%{left:0;opacity:1;}100%{left:calc(100% - 30px);}}

    @media (hover:hover) and (pointer: fine) {
        .read_more_btn:hover span{color:var(--point-color01);}
        .read_more_btn:hover span:after{animation:readMoreSlide 2s linear infinite alternate;opacity:1;}
    }

/*────────────────────────────────────────────────────
    회사소개(main_about)
────────────────────────────────────────────────────*/
    .main_about{position:relative;padding-block:var(--row-gap140) var(--row-gap160);}
    .main_about .w_custom{position:relative;display:flex;align-items:center;gap:40px;}
    .main_about .tit_nav{position:absolute;top:0;left:0;display:inline-flex;align-items:center;font-size:var(--text-16);font-weight:600;color:var(--black-color03);letter-spacing:0.08em;}
    .main_about .tit_nav:before{content:'';display:inline-flex;width:6px;height:6px;margin-right:8px;background:var(--point-color01);}
    .main_about .main_tit{width:calc(100% - 740px);box-sizing:border-box;padding-top:var(--row-gap20);}
    .main_about .main_tit h3{font-size:var(--text-50);font-weight:800;color:var(--black-color01);letter-spacing:-0.025em;line-height:1.3;}
    .main_about .main_tit .desc{margin-top:var(--row-gap25);font-size:var(--text-18);font-weight:400;color:var(--black-color07);line-height:1.6;}
    .main_about .read_more_btn{margin-top:var(--row-gap40);}
    .main_about .thumb{width:740px;height:400px;flex-shrink:0;}

    @media (max-width:1240px){
        .main_about .main_tit{width:calc(100% - 46.2vw);}
        .main_about .thumb{width:46.2vw;height:25vw;min-height:230px;}
    }
    @media (max-width:860px){
        .main_about{padding-block:var(--row-gap100) var(--row-gap110);}
        .main_about .w_custom{display:block;}
        .main_about .tit_nav{position:relative;}
        .main_about .main_tit{width:100%;padding-top:var(--row-gap25);}
        .main_about .read_more_btn{display:none;}
        .main_about .thumb{width:100%;height:54.7vw;min-height:200px;margin-top:var(--row-gap25);}
    }

/*────────────────────────────────────────────────────
    와이드 배너(main_wide_bnr)
────────────────────────────────────────────────────*/
    .main_wide_bnr .bnr_list{display:flex;justify-content:space-between;}
    .main_wide_bnr .bnr_list > li{position:relative;width:100%;box-sizing:border-box;overflow:hidden;}
    .main_wide_bnr .bnr_list > li:before{position:absolute;content:'';inset:0;background:linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,0) 60%);z-index:1;pointer-events:none;}
    .main_wide_bnr .bnr_list .link{position:absolute;inset:0;z-index:2;}
    .main_wide_bnr .bnr_list .tittle{position:absolute;left:7.5%;top:77.5%;z-index:1;width:85%;}
    .main_wide_bnr .bnr_list .tittle dt{font-size:var(--text-36);font-weight:500;color:var(--point-white);letter-spacing:-0.01em;}
        .main_wide_bnr .bnr_list .tittle dt + dd{margin-top:16px;}
    .main_wide_bnr .bnr_list .tittle dd{font-size:var(--text-16);font-weight:400;color:var(--point-white);letter-spacing:0.085em;}
    .main_wide_bnr .bnr_list .thumb{display:block;width:100%;height:34.99vw;}
    .main_wide_bnr .bnr_list .thumb img{transition:transform 0.4s, opacity 0.4s;}

    .view_more_btn{position:fixed;display:none;transform:translate(-50%, -50%);z-index:3;pointer-events:none;}
    .view_more_btn span{display:inline-flex;align-items:center;justify-content:center;width:120px;height:120px;background:var(--point-color01);font-size:var(--text-14);font-weight:500;color:var(--point-white);border-radius:100%;}

    @media (hover:hover) and (pointer:fine){
        .main_wide_bnr .bnr_list > li:hover .thumb img{transform:scale(1.05);opacity:0.9;}
    }

    @media (max-width:1023px){
        .view_more_btn{display:none !important;}
    }
    @media (max-width:860px){
        .main_wide_bnr .bnr_list{display:block;}
        .main_wide_bnr .bnr_list .tittle{left:18px;top:72%;}
        .main_wide_bnr .bnr_list .thumb{height:70vw;min-height:300px;}
        .main_wide_bnr .bnr_list .tittle dt + dd{margin-top:7px;}
    }

/*────────────────────────────────────────────────────
    새소식(main_news) — 
────────────────────────────────────────────────────*/
    .main_news{position:relative;padding-top:var(--row-gap140);}
    .main_news .tit_nav{position:relative;margin-bottom:var(--row-gap45);display:inline-flex;align-items:center;font-size:var(--text-16);font-weight:600;color:var(--black-color03);letter-spacing:0.08em;}
    .main_news .tit_nav:before{content:'';display:inline-flex;width:6px;height:6px;margin-right:8px;background:var(--point-color01);}
    .main_news .NewsSwiper{overflow:hidden;box-sizing:border-box;}
    .main_news .board_li{position:relative;}
    .main_news .board_li .link{position:absolute;inset:0;z-index:1;}
    .main_news .board_li .thumb{width:100%;height:20.94vw;max-height:280px;}
    .main_news .board_li .thumb + .txt{margin-top:24px;}
    .main_news .board_li .thumb img{transition:transform 0.4s, opacity 0.4s;}
    .main_news .board_li .thumb .db-expose-no-img{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--black-color10);background:#f2f2f2;}
    .main_news .board_li .thumb .db-expose-no-img svg{width:32px;height:32px;}
    .main_news .board_li .txt strong{display:block;font-size:var(--text-24);font-weight:600;color:var(--black-color01);letter-spacing:-0.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
    .main_news .board_li .txt .db-expose-date{display:block;margin-top:6px;font-size:var(--text-14);color:var(--black-color08);}
    .main_news .board_li .txt .read_more_btn{margin-top:14px;}
    .main_news .controller{position:relative;margin-top:var(--row-gap90);display:flex;align-items:center;}
    .main_news .swiper-pagination{position:relative;width:100%;height:2px;background:var(--border-color01);margin-top:var(--row-gap60);}
    .main_news .swiper-pagination .swiper-pagination-progressbar-fill{background:var(--point-color01);}
    .main_news .read_more_btn.all_more{position:absolute;right:0;bottom:0;}
    .main_news .read_more_btn.all_more span{width:120px;text-align:center;line-height:1;}
    .main_news .read_more_btn.all_more span:before, .main_news .read_more_btn.all_more span:after{display:none;}

    @media (hover:hover) and (pointer:fine){
        .main_news .board_li:hover .thumb img{transform:scale(1.05);opacity:0.9;}
    }

    @media (max-width:860px){
        .main_news{padding-top:var(--row-gap100);}
        .main_news .tit_nav{margin-bottom:var(--row-gap30);}
        .main_news .board_li .thumb{height:53.6vw;max-height:none;}
        .main_news .controller{margin-top:var(--row-gap50);}
        .main_news .swiper-pagination{width:100%;}
        .main_news .read_more_btn.all_more span{display:none;}
    }

/*────────────────────────────────────────────────────
    상담신청(main_consult)
────────────────────────────────────────────────────*/
    .main_consult{position:relative;display:flex;height:clamp(320px, 21.875vw, 420px);align-items:center;justify-content:center;overflow:hidden;background:var(--black-color02);margin-top:var(--row-gap140);}
    .main_consult_bg{position:absolute;inset:0;}
    .main_consult_bg:before{width:100%;height:100%;content:"";position: absolute;top:0;left:0;background:rgba(0,0,0,0.5);z-index:3;}
    .main_consult_bg > a{display:block;height:100%;}
    .main_consult_bg p{display:none;}
    .main_consult_bg img{display:block;width:100%;height:100%;object-fit:cover;}
    .main_consult_content{z-index:3;display:flex;flex-direction:column;align-items:center;gap:var(--row-gap40);color:var(--point-white);text-align:center;}
    .main_consult_title{display:flex;flex-direction:column;align-items:center;gap:var(--row-gap20);}
    .main_consult_title h2{font-size:var(--text-60);font-weight:600;line-height:1.4;letter-spacing:-.03em;}
    .main_consult_title p{font-size:var(--text-22);line-height:1.6;letter-spacing:-.03em;}
    .main_consult_link{display:flex;width:clamp(140px, 8.33vw, 160px);height:clamp(54px, 3.125vw, 60px);align-items:center;justify-content:center;border-radius:500px;background:var(--point-color01);color:var(--point-white);font-size:var(--text-20);font-weight:500;line-height:1.6;}
    .main_consult_link:focus-visible{outline:3px solid var(--focus-color);outline-offset:3px;}

    @media (max-width:640px){
        .main_consult_content{gap:var(--row-gap30);}
        .main_consult_title p{max-width:90%;}
    }

/*────────────────────────────────────────────────────
    Footer
────────────────────────────────────────────────────*/
    #footer{border-top:1px solid var(--border-color01);background:var(--point-white);padding-block:var(--row-gap60) var(--row-gap70);}
    #footer .footer_inner{margin:0 auto;padding-inline:clamp(15px, 5vw, 60px);}
    #footer .footer_top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:var(--row-gap30);border-bottom:1px solid var(--border-color01);}
    #footer .footer_logo{display:block;width:min(281px, 46vw);flex-shrink:0;}
    #footer .footer_logo img{display:block;width:100%;height:auto;object-fit:contain;}
    #footer .footer_nav ul{display:flex;flex-wrap:wrap;gap:8px 24px;}
    #footer .footer_nav a{font-size:var(--text-16);color:var(--black-color06);transition:color .3s;}
    #footer .footer_nav .policy a{color:var(--black-color03)}
    #footer .footer_body{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;padding-top:var(--row-gap30);}
    #footer .footer_contact{display:flex;flex-wrap:wrap;gap:6px 28px;}
    #footer .footer_contact dl{display:flex;gap:8px;font-size:var(--text-16);color:var(--black-color07);}
    #footer .footer_contact dt{font-weight:600;color:var(--black-color05);}
    #footer .footer_contact dd a{color:inherit;transition:color .3s;}
    #footer .footer_copy{font-size:var(--text-16);color:var(--black-color09);text-align:right;line-height:1.7;}
    #footer .footer_copy a{display:inline-block;margin-left:8px;color:inherit;transition:color .3s;}
    #footer :is(a,button):focus-visible{outline:3px solid var(--focus-color, #1677ff);outline-offset:2px;}

    @media (hover:hover) and (pointer:fine){
        #footer .footer_nav a:hover{color:var(--point-color01);}
        #footer .footer_contact dd a:hover{color:var(--point-color01);}
        #footer .footer_copy a:hover{color:var(--point-color01);}
    }

    @media (max-width:768px){
        #footer{padding-block:var(--row-gap50) var(--row-gap60);}
        #footer .footer_top{flex-direction:column;align-items:flex-start;gap:16px;}
        #footer .footer_body{flex-direction:column;align-items:flex-start;}
        #footer .footer_contact{flex-direction:column;gap:4px;}
        #footer .footer_copy{text-align:left;}
        #footer .footer_copy a{display:block;margin-left:0;margin-top:4px;}
    }

/*────────────────────────────────────────────────────
    Quick Menu (상단 이동 버튼)
────────────────────────────────────────────────────*/
    .quick_menu{position:fixed;right:clamp(15px, 2vw, 30px);bottom:clamp(15px, 2vw, 30px);z-index:150;}
    .quick_top{position:relative;display:flex;align-items:center;justify-content:center;width:52px;height:52px;border:0;border-radius:50%;background:var(--point-color01);box-shadow:var(--shadow-02);opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .3s, transform .3s;}
    .quick_top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0);}
    .quick_top:before{content:'';display:block;width:10px;height:10px;border-top:2px solid var(--point-white);border-left:2px solid var(--point-white);transform:translateY(2px) rotate(45deg);}
    .quick_top:focus-visible{outline:3px solid var(--focus-color, #1677ff);outline-offset:2px;}

    @media (hover:hover) and (pointer:fine){
        .quick_top:hover{filter:brightness(0.92);}
    }

/*────────────────────────────────────────────────────
    전체메뉴 닫기 버튼(#aside .close_btn)
────────────────────────────────────────────────────*/
    #aside .close_btn{display:flex;width:26px;height:26px;}
    #aside .close_icon{display:block;width:100%;height:100%;}
    #aside .close_icon img{display:block;width:100%;height:100%;}

/*────────────────────────────────────────────────────────────
    서브 공통
────────────────────────────────────────────────────────────*/
    /*visual*/
        .sub_visual { height:clamp(350px, 54vw, 540px);position: relative;}
        .sub_visual .thumb{width:100%;height:100%;position: absolute;top:0;left:0;}
        .sub_visual .thumb:before{width:100%;height:100%;content:"";position: absolute;top:0;left:0;z-index:2;background:rgba(0,0,0,0.3);}

        .sub_visual .sv_title { text-align: center; width: 100%; height: 100%; display: flex; align-items: center;justify-content: center; color: var(--point-white);box-sizing: border-box;position: relative;z-index:3;}
        .sub_visual .sv_title h2 {font-size: var(--text-60);font-weight: 700;line-height:1.4;}

        .sub_nav{ position: absolute; left: 0; bottom: 0; width: 100%; background: rgba(0, 0, 0, 0.4);z-index:3;}
        .sub_nav .w_custom { width: 100%; }
        .sub_nav .desc{ position: relative; display: flex; height:clamp(50px, 6vw, 60px);font-size: var(--text-18); font-weight: 400; }
        .sub_nav .desc :where(dt, dd){position: relative; height: 100%; box-sizing: border-box; border-left: 1px solid rgba(255, 255, 255, 0.2); }
        .sub_nav .desc dt a{display: flex;width:clamp(49px, 6vw, 59px); height: 100%; align-items: center;justify-content: center;font-size: 0;padding: clamp(16px, 2vw, 21px);box-sizing: border-box;}
        .sub_nav .desc dt a img { height: 19px; }
        .sub_nav .desc dd:last-child { border-right: 1px solid rgba(255, 255, 255, 0.2); }
        .sub_nav .desc dd span{position: relative;display: flex;align-items: center;height: 100%;padding:0 clamp(50px, 6vw, 60px) 0 clamp(15px, 2vw, 23px);box-sizing: border-box; font-family: var(--font-type02); font-weight: 300;color: var(--point-white);min-width:clamp(260px, 26vw, 299px); line-height: 1.4;cursor: pointer; letter-spacing: -0.03em;}
        .sub_nav .desc dd span:before{position: absolute; content: ''; width:8px;aspect-ratio:auto 1;border: solid var(--point-white); border-width: 0 0 2px 2px; top: 46%; right:clamp(15px, 2vw, 26px); transform: translateY(-50%) rotate(-45deg); border-radius: 1px; transition: all 0.4s; }
        .sub_nav .desc dd.on span:before{transform: translateY(-50%) rotate(135deg); top: 48%; }
        .sub_nav .desc dd ul{position: absolute;top: calc(100% + 1px);left: 0;width: calc(100% + 2px);padding: 20px 0;background: var(--point-white);border:1px solid var(--border-color01); box-sizing: border-box;opacity: 0;pointer-events: none;transition: all 0.4s; z-index: 10; }
        .sub_nav .desc dd.on ul{opacity: 1; pointer-events: all;}
        .sub_nav .desc dd ul li a{display: block;font-weight: 400;color: var(--black-color02);padding: 11px 24px;box-sizing: border-box;line-height: 1.4;}
        .sub_nav .desc dd ul li.on a{color: var(--point-color01);text-decoration: underline;text-underline-offset: 3px;text-decoration-thickness: 1px;font-weight: 500;}

        @media screen and (max-width: 640px){
            .sub_nav .desc dt { border-left: 0; }
            .sub_nav .desc dt a { width: 49px; }
            .sub_nav .desc { height: 50px; }
            .sub_nav .desc dd:not(:last-child) { display: none; }
            .sub_nav .desc dd { width: calc(100% - 49px); }
            .sub_nav .desc dd:last-child { border-right: 0; }

        }

    /*컨텐츠 블록 공통 (하위 페이지 섹션 구분용)*/
        .sub-block{display:flex;flex-direction:column;gap:var(--row-gap40);}
        .sub-block + .sub-block{margin-top:var(--row-gap120);}
        .sub-block-divider{padding-top:var(--row-gap80);border-top:1px solid var(--border-color01);}
        .sub-block-tit{margin:0;font-size:var(--text-36);font-weight:700;color:var(--black-color00);letter-spacing:-0.02em;}
        .sub-block-desc{margin:calc(var(--row-gap20) - var(--row-gap40)) 0 0;font-size:var(--text-18);color:var(--black-color06);line-height:1.6;}
        .bullet-list{display:flex;flex-direction:column;gap:var(--row-gap10);}
        .bullet-list li{position:relative;padding-left:var(--col-gap17);color:var(--black-color06);font-size:var(--text-18);}
        .bullet-list li:before{content:'';position:absolute;top:.65em;left:0;width:4px;height:4px;border-radius:50%;background:var(--border-color01);}

/*────────────────────────────────────────────────────────────
    오시는 길(location)
────────────────────────────────────────────────────────────*/
    .lc-photo{width:100%;height:clamp(400px, 50vw, 600px);border-radius:var(--radius-20);margin-bottom:var(--row-gap20);}
    .lc-info{display:flex;flex-wrap:wrap;align-items:center;gap:var(--row-gap20) var(--col-gap30);padding:var(--row-gap30) var(--col-gap30);border:1px solid var(--border-color01);border-radius:var(--radius-20);background:var(--gray-bg01);}
    .lc-name-wrap{flex:0 0 100%;display:flex;flex-wrap:wrap;align-items:center;gap:16px;}
    .lc-name{margin:0;font-size:var(--text-22);font-weight:700;color:var(--black-color00);}
    .lc-brand-logo{display:block;height:22px;width:auto;}
    .lc-contact-wrap{flex:1 1 auto;font-style:normal;}
    .lc-contact{display:flex;flex-wrap:wrap;gap:var(--row-gap15) var(--col-gap40);margin:0;}
    .lc-contact > div{display:flex;align-items:center;gap:var(--col-gap17);}
    .lc-contact dt{display:flex;align-items:center;gap:var(--col-gap17);margin:0;flex-shrink:0;}
    .lc-contact dd{margin:0;}
    .lc-ico{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border-radius:50%;background:var(--point-color01);color:var(--point-white);}
    .lc-label{flex-shrink:0;font-size:var(--text-18);font-weight:600;color:var(--point-color01);}
    .lc-value{font-size:var(--text-22);color:var(--black-color03);}
    .lc-value a{color:inherit;text-decoration:underline;text-underline-offset:3px;}
    .lc-map-btn{display:inline-flex;align-items:center;gap:var(--col-gap17);flex-shrink:0;margin-left:auto;padding:var(--row-gap15) var(--col-gap22);border-radius:999px;background:var(--point-color01);color:var(--point-white);font-size:var(--text-18);font-weight:600;white-space:nowrap;}
    .lc-map{position:relative;margin-top:var(--row-gap20);height:clamp(260px, 45vw, 420px);border-radius:var(--radius-20);overflow:hidden;border:1px solid var(--border-color01);background:var(--gray-bg02);}
    .lc-map iframe{display:block;width:100%;height:100%;border:0;}

    .lc-table-wrap{width:100%;border:1px solid var(--border-color01);border-radius:var(--radius-16);}
    .lc-table{width:100%;border-collapse:collapse;}
    .lc-table th,
    .lc-table td{padding:var(--row-gap15) var(--col-gap20);border:1px solid var(--border-color01);border-top:0;border-right:0;font-size:var(--text-18);line-height:1.5;}
    .lc-table th{width:180px;background:var(--gray-bg01);color:var(--black-color01);font-weight:600;text-align:left;}
    .lc-table td{color:var(--black-color03);text-align:left;}
    .lc-table td a{color:inherit;text-decoration:underline;text-underline-offset:3px;}
    .lc-table tbody tr:first-child th,
    .lc-table tbody tr:first-child td{border-top:0;}
    .lc-table tbody tr:last-child th,
    .lc-table tbody tr:last-child td{border-bottom:0;}
    .lc-table tr > :first-child{border-left:0;}

    @media (hover:hover) and (pointer:fine){
        .lc-map-btn:hover{filter:brightness(0.92);}
        .lc-value a:hover{color:var(--point-color01);}
        .lc-table td a:hover{color:var(--point-color01);}
    }

    @media (max-width:640px){
        .lc-map-btn{margin-left:0;width:100%;justify-content:center;}
        .lc-table th{width:120px;}
    }
    @media (max-width:479px){
        .lc-contact > div{flex-direction: column;align-items: flex-start;}
    }

/*────────────────────────────────────────────────────────────
    약속(commitment)
────────────────────────────────────────────────────────────*/
    .cm-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--col-gap30);margin-top:var(--row-gap20);list-style:none;padding:0;}
    .cm-card{padding:var(--row-gap40) var(--col-gap30);border:1px solid var(--border-color01);border-radius:var(--radius-20);background:var(--point-white);}
    .cm-ico{display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:var(--row-gap20);border-radius:50%;background:var(--point-color01);color:var(--point-white);}
    .cm-tit{margin:0 0 var(--row-gap15);font-size:var(--text-24);font-weight:700;color:var(--black-color01);letter-spacing:-0.01em;}
    .cm-card .bullet-list{margin-top:0;}

    @media (max-width:768px){
        .cm-grid{grid-template-columns:1fr;}
    }

/*────────────────────────────────────────────────────────────
    조직도(structure)
────────────────────────────────────────────────────────────*/
    .og-tree{display:flex;flex-direction:column;align-items:center;}
    .og-top{width:220px;padding:var(--row-gap20) var(--col-gap20);border-radius:999px;background:var(--point-color01);color:var(--point-white);font-size:var(--text-28);font-weight:700;text-align:center;}
    .og-mid{display:flex;justify-content:center;gap:var(--row-gap120);align-items: center;}
    .og-mid-item p,
    .og-branch-stack li{display:flex;align-items:center;justify-content:center;min-height:50px;margin:0;padding:var(--row-gap10) var(--col-gap17);border:1px solid var(--point-color01);border-radius:var(--radius-10);background:var(--point-white);color:var(--point-color01);font-size:var(--text-16);font-weight:600;text-align:center;white-space:nowrap;box-sizing:border-box;}
    .og-branch-stack{display:flex;flex-direction:column;gap:var(--row-gap10);margin:0;padding:0;list-style:none;}
    .og-depts{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--row-gap40) var(--col-gap40);margin:0;padding:0;list-style:none;}
    .og-depts > li{width:calc(25% - var(--col-gap40) * 3 / 4);min-width:170px;}
    .og-depts > li > p{display:flex;align-items:center;justify-content:center;min-height:64px;margin:0;padding:var(--row-gap10) var(--col-gap17);border:1px solid var(--point-color01);border-radius:var(--radius-16);background:var(--point-white);color:var(--point-color01);font-size:var(--text-18);font-weight:600;text-align:center;box-sizing:border-box;}
    .og-dept-sub{display:flex;flex-direction:column;gap:var(--row-gap10);margin:var(--row-gap10) 0 0;padding:0;list-style:none;}
    .og-dept-sub li{padding:var(--row-gap10);border:1px solid var(--border-color01);border-radius:var(--radius-06);color:var(--black-color05);font-size:var(--text-16);text-align:center;}
    /* .og-depts / .og-mid 의 margin:0 뒤에 위치해야 margin-top 이 덮어쓰이지 않는다 */
    .og-line02{position:relative;margin-top:var(--row-gap50);width:100%;}
    .og-line02:before{content:'';position:absolute;top:calc(-1 * var(--row-gap50));left:calc(50% - .5px);width:1px;height:var(--row-gap50);background:var(--border-color01);}
    .og-line02:after{content:'';position:absolute;top:0;left:11.67%;right:11.67%;height:1px;background:var(--border-color01);}
    .og-mid.og-line02:after{left:22%;right:22%;}
    .og-line03{position:relative;padding-top:var(--row-gap50);z-index:4;}
    .og-line03:before{content:'';position:absolute;top:0;left:calc(50% - .5px);width:1px;height:var(--row-gap50);background:var(--border-color01);}
    .og-line03:after{content:'';position:absolute;top:0;left:50%;width:9px;height:9px;border-radius:50%;background:var(--point-color01);translate:-50% -50%;}
    .og-line02.og-mid:before{height:calc(100% + var(--row-gap50));}
    .og-mid-item.og-line03{padding-top:0;width:200px;}
    .og-mid-item.og-line03:before{height:1px;width:calc(var(--row-gap120) / 2);left:100%;top:calc(50% - 0.5px);translate:0;}
    .og-mid-item.og-line03:nth-child(2):before{left:calc(var(--row-gap120) / 2 * -1);}
    .og-mid-item.og-line03:after{left:calc(100% - 4.5px);translate:0 -50%;top:50%;}
    .og-mid-item.og-line03:nth-child(2):after{left:-4.5px;}
    .og-mid:after{display: none;}

    @media (max-width:1023px){
        .og-depts > li{width:calc(50% - var(--col-gap40) / 2);}
        .og-line02:after{left:25%;right:25%;}
        .og-mid.og-line02:after{left:15%;right:15%;}
    }
    @media (max-width:640px){
        .og-depts > li{width:100%;}
        .og-line02:before{display: none;}
        .og-line02:after{display:none;}
        .og-mid{flex-direction:column;align-items:center;gap:var(--row-gap15);}
        .og-mid-item.og-line03{padding-top:0;}
        .og-mid-item.og-line03:before,
        .og-mid-item.og-line03:after{display:none;}
        .og-mid.og-line02:before{display:none;}
    }

/*────────────────────────────────────────────────────────────
    연혁(history)
────────────────────────────────────────────────────────────*/
    .history_list{position:relative;margin:0;padding:0;list-style:none;}
    .history_group{display:flex;align-items:flex-start;position:relative;padding-bottom:var(--row-gap80);}
    .history_group:last-child{padding-bottom:0;}
    .history_range{width:clamp(100px, 13vw, 130px);margin:0;text-align:left;font-size:var(--text-32);color:var(--point-color01);font-weight:700;letter-spacing:0.02em;}
    .history_range time{display:block;}
    .history_years{width:85%;margin:4px 0 0;padding-left:var(--row-gap60);display:flex;flex-direction:column;gap:clamp(6px, 0.8vw, 9px);list-style:none;position:relative;}
    .history_years:before{content:'';position:absolute;left:0;top:clamp(10px, 1.3vw, 13px);width:clamp(28px, 4vw, 44px);height:2px;border-top:1px dashed var(--point-color01);opacity:0.5;}
    .history_years li{font-size:var(--text-18);color:var(--black-color05);font-weight:400;line-height:1.6;letter-spacing:-0.02em;}

    .history_group .line{position:absolute;top:0;left:clamp(100px, 13vw, 130px);width:1px;height:100%;background:var(--border-color01);}
    .history_group:first-child .line{top:15px;height:calc(100% - 15px);}
    .history_group .line:before{content:'';position:absolute;top:clamp(16px, 1.6vw, 18px);left:50%;translate:-50% -50%;width:clamp(6px, 0.8vw, 9px);aspect-ratio:1;border-radius:50%;background:var(--point-color01);transition:all 0.3s;}
    .history_group:first-child .line:before{top:0;}
    .history_group .line em{position:absolute;top:0;left:0;width:100%;height:0;background:var(--point-color01);display:block;}
    .history_group.on:not(:has(~ .history_group.on)) .line:before{box-shadow:0 0 0 clamp(5px, 0.8vw, 6px) rgba(132, 194, 67, 0.25);}

    @media (max-width:640px){
        .history_group{flex-direction:column;gap:var(--row-gap20);padding-left:var(--row-gap30);}
        .history_group .line{left:0;}
        .history_years{margin-top:0;padding-left:0;gap:var(--row-gap10);}
        .history_years:before{display:none;}
        .history_range,
        .history_years{width:100%;padding-right:0;text-align:left;}
    }

/*────────────────────────────────────────────────────────────
    생산공정(run)
────────────────────────────────────────────────────────────*/
    .process_list{display:grid;grid-template-columns:repeat(4, 1fr);gap:var(--row-gap40) var(--col-gap30);margin:var(--row-gap50) 0 0;padding:0;list-style:none;}
    .process_item{position:relative;}
    .process_fig{position:relative;aspect-ratio:4 / 3;margin:0;}
    .process_fig_inner{position:absolute;inset:0;border-radius:var(--radius-14);background:var(--border-color01);}
    .process_num{position:absolute;top:12px;left:12px;z-index:2;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--point-color01);color:var(--point-white);font-size:var(--text-16);font-weight:700;font-family:var(--font-type01);box-shadow:0 2px 8px rgba(0,0,0,0.25);}
    .process_tit{margin:var(--row-gap15) 0 0;font-size:var(--text-18);font-weight:600;color:var(--black-color03);line-height:1.4;}
    .process_tit span{display:block;margin-top:2px;font-size:var(--text-14);font-weight:500;color:var(--point-color01);}

    /* 공정 흐름 화살표 커넥터 */
    .process_fig:after{content:'';position:absolute;top:50%;right:calc(-1 * var(--col-gap30) / 2);translate:50% -50%;width:0;height:0;border-style:solid;border-width:6px 0 6px 9px;border-color:transparent transparent transparent var(--point-color01);z-index:2;}
    .process_item:nth-child(4n) .process_fig:after,
    .process_item:last-child .process_fig:after{content:none;}

    /* 1단계(동시 진행 공정: Calender 1 + 2, 사진 두 장을 한 칸에 배치) */
    .process_fig--dual{display:flex;gap:3px;}
    .process_fig--dual .process_fig_inner{position:relative;inset:auto;flex:1 1 0;height:100%;border-radius:var(--radius-14) 0 0 var(--radius-14);}
    .process_fig--dual .process_fig_inner + .process_fig_inner{border-radius:0 var(--radius-14) var(--radius-14) 0;}

    @media (max-width:1023px){
        .process_list{grid-template-columns:repeat(3, 1fr);}
        .process_item:nth-child(4n) .process_fig:after{content:'';}
        .process_item:nth-child(3n) .process_fig:after,
        .process_item:last-child .process_fig:after{content:none;}
    }
    @media (max-width:768px){
        .process_list{grid-template-columns:repeat(2, 1fr);gap:var(--row-gap30) var(--col-gap20);}
        .process_fig:after{right:calc(-1 * var(--col-gap20) / 2);}
        .process_item:nth-child(3n) .process_fig:after{content:'';}
        .process_item:nth-child(2n) .process_fig:after,
        .process_item:last-child .process_fig:after{content:none;}
    }
    @media (max-width:400px){
        .process_list{grid-template-columns:1fr;}
        .process_item .process_fig:after{content:none;}
    }

/*────────────────────────────────────────────────────────────
    제품(product) — /product 목록·분류 페이지 (app/Views/front/product/list.php)
────────────────────────────────────────────────────────────*/
    .pf-list-title{font-size:var(--text-40);font-weight:700;color:var(--black-color01);letter-spacing:-0.02em;margin-bottom:var(--row-gap30);}

    /* 검색은 공용 .search_wrap/.inp_box 스타일 사용 (게시판과 동일 — 아래 "검색(search_wrap)" 섹션 참고) */

    .pf-list-count{margin-bottom:var(--row-gap20);font-size:var(--text-15);color:var(--black-color07);}
    .pf-list-empty{padding:var(--row-gap100) 0;text-align:center;font-size:var(--text-18);color:var(--black-color09);}

    /* 목록 카드 그리드 */
    .pf-list-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--row-gap40);margin:0;padding:0;list-style:none;}
    .pf-card{display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius-16);background:var(--point-white);box-shadow:var(--shadow-01);}

    .pf-card-thumb{position:relative;display:block;aspect-ratio:1.4;flex-shrink:0;overflow:hidden;background:var(--gray-bg01);}
    .pf-card-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 0.4s;}
    .pf-card-img--empty{display:flex;align-items:center;justify-content:center;color:var(--black-color10);}
    .pf-card-img--empty svg{width:56px;height:56px;}

    .pf-card-body{display:flex;flex:1;flex-direction:column;padding:var(--row-gap30) var(--col-gap24);}
    .pf-card-title-link{color:inherit;}
    .pf-card-title{font-size:var(--text-22);font-weight:700;line-height:1.3;color:var(--black-color01);}

    .pf-card-fields{display:flex;flex-direction:column;gap:var(--row-gap10);margin-top:var(--row-gap20);padding-top:var(--row-gap20);border-top:1px solid var(--border-color03);}
    .pf-card-field{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--row-gap10);font-size:var(--text-15);line-height:1.6;}
    .pf-card-field dt{flex-shrink:0;color:var(--black-color06);}
    .pf-card-field dd{color:var(--black-color03);text-align:right;font-weight:500;}

    .pf-card-desc{margin-top:var(--row-gap15);font-size:var(--text-16);line-height:1.6;color:var(--black-color06);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;}

    .pf-card-cta{display:flex;align-items:center;justify-content:center;width:100%;margin-top:auto;padding:var(--row-gap15) 0;border-radius:999px;background:var(--point-color01);color:var(--point-white);font-size:var(--text-16);font-weight:600;}
    .pf-card-fields + .pf-card-cta,
    .pf-card-desc + .pf-card-cta{margin-top:var(--row-gap30);}

    :is(.pf-card-thumb, .pf-card-title-link, .pf-card-cta):focus-visible{outline:3px solid var(--focus-color, #1677ff);outline-offset:2px;}

    @media (hover:hover) and (pointer:fine){
        .pf-card-title-link:hover{color:var(--point-color01);}
        .pf-card:hover .pf-card-img{transform:scale(1.06);}
        .pf-card-cta:hover{filter:brightness(0.92);}
    }

    @media (max-width:1023px){
        .pf-list-grid{grid-template-columns:repeat(2, 1fr);}
    }
    @media (max-width:640px){
        .pf-list-grid{grid-template-columns:1fr;gap:var(--row-gap30);}
    }

/*────────────────────────────────────────────────────────────
    제품 상세(product view) — app/Views/front/product/view.php
    참고: bigmamafoods.co.kr/product/.../oyster-powder- 뷰페이지 구조
────────────────────────────────────────────────────────────*/
    .sub_prd .prd_detail_top{display:flex;gap:var(--row-gap100);}

    /* 이미지 */
    .prd_thumb_box{width:45.7%;flex-shrink:0;}
    .prd_thumb_box .thumb{display:flex;flex-direction:column;gap:var(--row-gap20);}
    .prd_thumb_box .detail_img{position:relative;width:100%;aspect-ratio:1;border:1px solid var(--border-color01);display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--point-white);}
    .prd_thumb_box .detail_img img{width:100%;height:100%;object-fit:contain;}
    .prd_thumb_box .detail_img--empty{color:var(--black-color10);background:var(--gray-bg01);}
    .prd_thumb_box .detail_img--empty svg{width:56px;height:56px;}

    .prd_thumb_box .thumb_list{display:flex;gap:var(--row-gap10);overflow-x:auto;}
    .prd_thumb_box .thumb_list button{flex-shrink:0;width:clamp(60px, 8vw, 90px);aspect-ratio:1;border:1px solid var(--border-color01);overflow:hidden;background:var(--point-white);}
    .prd_thumb_box .thumb_list button.is-active{border-color:var(--black-color00);border-width:2px;}
    .prd_thumb_box .thumb_list img{width:100%;height:100%;object-fit:cover;}

    .prd_thumb_box .pdv-slide-gallery{position:relative;}
    .prd_thumb_box .pdv-slide-viewport{width:100%;height:100%;overflow:hidden;}
    .prd_thumb_box .pdv-slide-track{display:flex;height:100%;transition:transform 0.4s ease-in-out;}
    .prd_thumb_box .pdv-slide-item{flex-shrink:0;height:100%;}
    .prd_thumb_box .pdv-slide-item img{width:100%;height:100%;object-fit:contain;}
    .prd_thumb_box .swipe_arw{width:clamp(30px, 4vw, 40px);aspect-ratio:1;position:absolute;top:50%;left:8px;translate:0 -50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.85);border-radius:50%;}
    .prd_thumb_box .swipe_arw:before{width:40%;aspect-ratio:1;content:"";border:2px solid var(--black-color00);border-width:2px 2px 0 0;rotate:-135deg;translate:2px;}
    .prd_thumb_box .swipe_arw.next{left:auto;right:8px;scale:-1 -1;}

    @media (max-width:640px){
        .sub_prd .prd_detail_top{flex-direction:column;}
        .prd_thumb_box{width:100%;}
    }

    /* 제품 정보 */
    .prd_detail_info{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:var(--row-gap30);}
    .prd_detail_info .title_box{display:flex;flex-direction:column;align-items:flex-start;gap:var(--row-gap10);}
    .prd_detail_info .title_box .cate{font-size:var(--text-16);color:var(--black-color06);font-weight:400;line-height:1.4;padding:4px clamp(5px, 0.6vw, 8px);border:1px solid var(--black-color08);}
    .prd_detail_info .title_box h1{margin-top:var(--row-gap10);font-size:var(--text-36);color:var(--black-color01);font-weight:500;line-height:1.6;}
    .prd_detail_info .title_box .desc{font-size:var(--text-20);color:var(--black-color03);font-weight:400;line-height:1.6;white-space:pre-line;}

    .prd_detail_info .info_box{padding-top:var(--row-gap30);border-top:1px solid var(--black-color01);display:grid;gap:var(--row-gap20);width:100%;}
    .prd_detail_info .info_box dl{display:flex;align-items:flex-start;gap:var(--row-gap20);font-size:var(--text-17);color:var(--black-color06);font-weight:400;line-height:1.6;}
    .prd_detail_info .info_box dl dt{width:clamp(80px, 10vw, 120px);flex-shrink:0;color:var(--black-color03);}
    .prd_detail_info .info_box .pf-options{display:flex;flex-wrap:wrap;gap:6px;}
    .prd_detail_info .info_box .pf-option{display:inline-flex;padding:3px 10px;border-radius:var(--radius-06);background:var(--gray-bg01);}
    .prd_detail_info .info_box .pf-empty{color:var(--black-color10);}
    .prd_detail_info .info_box .pf-file{color:var(--black-color03);text-decoration:underline;text-underline-offset:2px;}

    /* 버튼 (제품별/공통) */
    .prd_btns{display:flex;flex-direction:column;gap:var(--row-gap10);width:100%;margin-top:var(--row-gap10);}
    .prd_btn{display:flex;align-items:center;justify-content:center;width:100%;height:clamp(48px, 6vw, 60px);border-radius:999px;font-size:var(--text-18);font-weight:600;text-align:center;}
    .prd_btn--primary{background:var(--point-color01);color:var(--point-white);}
    .prd_btn--common{background:var(--point-white);color:var(--black-color03);border:1px solid var(--border-color02);}

    @media (hover:hover) and (pointer:fine){
        .prd_btn--primary:hover{filter:brightness(0.92);}
        .prd_btn--common:hover{border-color:var(--black-color03);}
        .prd_thumb_box .thumb_list button:not(.is-active):hover{border-color:var(--black-color06);}
    }

    /* 본문 + 첨부파일 */
    .detail_content_box{display:flex;flex-direction:column;gap:var(--row-gap60);margin-top:var(--row-gap120);}
    .detail_content_box h4{padding-bottom:var(--row-gap30);border-bottom:1px solid var(--border-color01);font-size:var(--text-36);color:var(--black-color00);font-weight:500;line-height:1.4;}
    .goods_detail_content{line-height:1.8;color:var(--black-color05);}
    .goods_detail_content img{max-width:100%;height:auto;}

    .prd_attachments{display:flex;flex-direction:column;gap:var(--row-gap10);}
    .prd_attachments .prd_attachment{display:flex;align-items:center;gap:8px;font-size:var(--text-17);color:var(--black-color05);}
    .prd_attachments .prd_attachment svg{width:16px;height:16px;flex-shrink:0;color:var(--black-color08);}

    @media (hover:hover) and (pointer:fine){
        .prd_attachments .prd_attachment:hover{color:var(--point-color01);}
        .prd_attachments .prd_attachment:hover svg{color:var(--point-color01);}
    }

    /* 하단 목록 버튼 — 공용 .view_btn/.main_more 재사용 (게시판 상세와 동일, "Board" 섹션 sub_btn 참고) */

    :is(.prd_thumb_box .thumb_list button, .prd_thumb_box .swipe_arw, .prd_btn, .prd_attachments .prd_attachment):focus-visible{outline:3px solid var(--focus-color, #1677ff);outline-offset:2px;}


/*───────────────────────────────────────────────────────────

	Board
	
───────────────────────────────────────────────────────────*/
    /*input*/
		#wrap [type="checkbox"]{display: inline-flex;align-items: center;justify-content: center;width: clamp(22px, 3.1vw, 25px);height: clamp(22px, 3.1vw, 25px);border: 1px solid var(--border-color01);flex-shrink: 0;cursor: pointer;appearance:none;border-radius:var(--radius-06);}
		#wrap [type="checkbox"]::before{display: inline-flex;content:'';width: clamp(10px, 1.7vw, 12px);aspect-ratio: auto 1.33;background: url('/images/chk_icon.svg') no-repeat center / 100% auto;filter: var(--filter-black) opacity(0.2);}
		#wrap [type="checkbox"]:checked{border-color: var(--point-color01);background: var(--point-color01);}
		#wrap [type="checkbox"]:checked:before{filter: var(--filter-white);}
		#wrap label:has([type="checkbox"]){display:inline-flex;align-items: flex-start;gap: 10px;font-size: var(--text-18);font-weight: 500;color: var(--black-color03);line-height: clamp(22px, 3.1vw, 25px);cursor: pointer;}
		#wrap label:has([type="checkbox"]) em{font-weight: 600; color: var(--point-red02); display: contents;}

        #wrap [type="radio"]{display: inline-flex;align-items: center;justify-content: center;width: clamp(18px, 3.1vw, 22px);height: clamp(18px, 3.1vw, 22px);border: 1px solid var(--border-color01);flex-shrink: 0;cursor: pointer;appearance:none;border-radius:100%;}
		#wrap [type="radio"]::before{display: inline-flex;content:'';width: clamp(10px, 1.7vw, 12px);aspect-ratio: auto 1;border-radius:100%;background:var(--border-color01);}
		#wrap [type="radio"]:checked{border-color: var(--point-color01);}
		#wrap [type="radio"]:checked:before{background: var(--point-color01);}

        #wrap :is(input[type="text"], input[type="password"], input[type="number"], input[type="date"], input[type="email"], input[type="tel"], textarea) { height:clamp(48px, 6vw, 60px); line-height: 1.5; width: 100%; border:1px solid var(--border-color01);color: var(--black-color05); font-weight: 400; font-size: var(--text-18); font-family: var(--font-type02); padding: 0 clamp(10px, 2vw, 20px); text-indent: 0; margin: 0; box-sizing: border-box; vertical-align: middle; text-align: left; outline: 0; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;box-sizing: border-box;border-radius:var(--radius-10);}
            #wrap :is(textarea) {min-height: 250px; resize: none; padding:var(--row-gap20) !important;border-radius:var(--radius-10);}
        #wrap :is(input[type="text"], input[type="password"], input[type="number"], input[type="date"], input[type="email"], input[type="tel"], textarea)::placeholder { color: var(--black-color08); font-weight: 400; }
        #wrap :is(input[type="text"], input[type="password"], input[type="number"], input[type="date"], input[type="email"], input[type="tel"], textarea):focus {background: var(--point-white); border-color: var(--point-color01);}

    /* === sub_btn === */ 
		#wrap .view_btn {position: relative; margin-top: var(--row-gap60);text-align: center;display: flex;align-items: center;justify-content: center;}
        #wrap .view_btn.ta_right{justify-content: flex-end;}
        #wrap .view_btn .main_more{display: flex;width: clamp(120px, 8.33vw, 160px);height: clamp(50px, 3.125vw, 60px);align-items: center;justify-content: center;border-radius: 500px;background: var(--point-color01);color: var(--point-white);font-size: var(--text-20);font-weight: 500;line-height: 1.6;margin:0;}
        #wrap .view_btn .main_more:focus-visible{outline:3px solid var(--focus-color, #1677ff);outline-offset:2px;}

        @media (max-width:860px) {
            #wrap .view_btn{flex-direction: column;gap:var(--row-gap20);}
            #wrap .view_btn.ta_right .main_more{align-self: flex-end;}
        }

	/* === 게시판 목록 상단 배너 (예: 시험참가자 신청) === */
		#wrap .bl-top-banner{display:flex;flex-direction:column;gap:var(--row-gap15);margin-bottom:var(--row-gap30);border-radius:var(--radius-20);border:1px solid var(--border-color01);display: flex;align-items: center;justify-content: center;padding:var(--row-gap40)}
		#wrap .bl-top-banner img{display:block;width:auto;height:auto;max-height:300px;}

	/* === 말머리 필터 (게시판 목록 상단) === */
		#wrap .bl-prefixes{display:flex;flex-wrap:wrap;align-items:center;gap:var(--row-gap10);margin-bottom:var(--row-gap20);}
		#wrap .bl-prefix-tab{display:inline-flex;align-items:center;justify-content:center;height:clamp(36px, 4.5vw, 42px);padding:0 clamp(16px, 2vw, 22px);border:1px solid var(--border-color01);border-radius:500px;font-size:var(--text-16);font-weight:500;color:var(--black-color05);background:var(--point-white);transition:background .15s, border-color .15s, color .15s;}
		#wrap .bl-prefix-tab:hover{border-color:var(--black-color03);color:var(--black-color03);}
		#wrap .bl-prefix-tab.is-active{background:var(--point-color01);border-color:var(--point-color01);color:var(--point-white);}

	/* === search (제품/게시판 공용) === */
		#wrap .search_wrap{margin-bottom:var(--row-gap40);display: flex;align-items: center;justify-content:flex-end;gap:var(--row-gap20);flex-wrap:wrap;}
        #wrap .search_wrap:has(.bl-prefixes){justify-content: space-between;}
		#wrap .search_wrap .inp_box {display: flex; justify-content:flex-end; gap: 10px; width: 100%;}
		#wrap .search_wrap .inp_box [type="text"]{width: 360px;max-width:100%;}
		#wrap .search_wrap .inp_box button{width:clamp(48px, 6vw, 60px);aspect-ratio:auto 1;flex-shrink:0;background:var(--black-color01) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E") no-repeat center / clamp(16px, 2vw, 22px) auto;box-sizing:border-box;font-size:0;border-radius:var(--radius-10);}

		#wrap .search_wrap .inp_box button:focus-visible{outline:3px solid var(--focus-color, #1677ff);outline-offset:2px;}

		@media (hover:hover) and (pointer:fine){
			#wrap .search_wrap .inp_box button:hover{background-color:var(--point-color01);}
		}
		@media (max-width:640px){
			#wrap .search_wrap{justify-content:stretch;}
			#wrap .search_wrap .inp_box [type="text"]{width:100%;flex:1;}
		}

	/* === paging === */
		#wrap .paging {position: absolute; left: 50%; top: 50%; translate: -50% -50%; display: flex; justify-content: center; align-items: center; width: max-content; text-align:center;}
		#wrap .paging span {display:inline-block;vertical-align:top;}
		#wrap .paging a {box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-17);font-weight: 500;color:var(--black-color08);padding:0;border:0;box-sizing:border-box;width:clamp(30px, 4vw, 40px);height:clamp(30px, 4vw, 40px);line-height:1;min-width:auto;text-align:center;vertical-align:top;margin:0 5px;border-radius:var(--radius-10)}
		#wrap .paging :is(.on a, a.on){background:var(--black-color01);color:var(--point-white);font-weight:600;}
		#wrap .paging .arrow a {font-size:0;width:clamp(20px, 3vw, 30px); background:no-repeat center; }
		#wrap .paging .arrow.first a {background-image:url("/images/paging_first.svg");}
		#wrap .paging .arrow.prev a {background-image:url("/images/paging_prev.svg"); margin-right: 10px;}
		#wrap .paging .arrow.next a {background-image:url("/images/paging_prev.svg"); margin-left: 10px;scale:-1 -1;}
		#wrap .paging .arrow.last a {background-image:url("/images/paging_first.svg");scale:-1 -1;}

		@media (max-width:860px) {
			#wrap .paging {position: relative; left: inherit; top: inherit; translate: 0; width: 100%;}
			#wrap .paging + .btn_wrap {margin-top: var(--row-gap40);}
		}
	
	
	/* === list === */
		/* 일반 */
			#wrap .nodata {width: 100% !important; text-align:center !important; min-height: clamp(140px, 14.58vw, 280px);}
			#wrap .bbs_table {position: relative; width: 100%; table-layout: fixed; font-size: var(--text-20); border-top: 1px solid var(--black-color01);}
			#wrap .bbs_table :where(th, td){line-height: 1.3;border-bottom: 1px solid var(--border-color01);padding: 26px 10px;text-align: center;}
			#wrap .bbs_table th{font-size:100%; font-weight: 500; color: var(--black-color01);}
			#wrap .bbs_table td{font-size:90%;font-weight: 400; color: var(--black-color08);}
			#wrap .bbs_table td.left{font-size:100%;text-align: left; padding-inline: var(--row-gap20); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; word-break: break-all;color:var(--black-color03);font-weight:400;}
			#wrap .bbs_table .notice td.left{font-weight:500;}
			#wrap .bbs_table .notice .tag{display: inline-flex;align-items: center;justify-content: center;box-sizing:border-box;font-size:var(--text-16);color:var(--point-white);font-weight:600;background:var(--point-color01);padding:10px 20px 9px;line-height:1;border-radius:var(--radius-06);}
				#wrap .bbs_table .for_t {display: none;}

                /* over */
                @media (hover:hover) and (pointer:fine) {
                    #wrap .bbs_table tbody tr:not(:has(.nodata)):hover {background: var(--gray-bg01);}
                }

				
			@media (max-width:1023px) {
				#wrap .bbs_table .notice .tag{padding:6px 14px 5px;}
			}
			@media (max-width:860px) {
				#wrap .bbs_table{display: block;}
				#wrap .bbs_table thead{display: none;}
				#wrap .bbs_table :where(tbody, tr, th, td){display: block; width: 100%; border:0; padding:0; text-align: left;}
				#wrap .bbs_table tr{padding:var(--row-gap25);display: flex;flex-wrap: wrap;gap: var(--row-gap10) var(--row-gap20);border-bottom: 1px solid var(--border-color01);}
				#wrap .bbs_table td{width: auto;}
				#wrap .bbs_table td.left{width: 100%; padding: 0;}
				#wrap .bbs_table td.num{display: none;}
					#wrap .bbs_table .for_t {display: inline-block;}
			}

        /*gallery*/
            .sub_gallery{display:grid;gap:var(--row-gap20);grid:auto / repeat(4, 1fr);}
            .sub_gallery li{border-radius:var(--radius-10);overflow:hidden;background:var(--point-white);box-shadow:var(--shadow-03);}
            .sub_gallery li a{display: flex;flex-direction: column;}
            .sub_gallery li .thumb{aspect-ratio:auto 1.5;}
            .sub_gallery li .info{padding:clamp(15px, 2vw, 20px) clamp(12px, 2.4vw, 24px);display: flex;flex-direction: column;gap:var(--row-gap10);align-items: flex-start;}
                .sub_gallery li .info .notice{display: inline-flex;align-items: center;justify-content: center;box-sizing:border-box;font-size:var(--text-16);color:var(--point-white);font-weight:600;background:var(--point-color01);padding:7px 12px;line-height:1;border-radius:var(--radius-10);}
                .sub_gallery li .info .title{font-size:var(--text-22);color:var(--black-color02);font-weight:500;line-height:1.5;text-overflow: ellipsis; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp:2;}
                .sub_gallery li .info .content{font-size:var(--text-18);color:var(--black-color04);font-weight:400;line-height:1.6;text-overflow: ellipsis; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp:1;}
                .sub_gallery li .info .date{font-size:var(--text-17);color:var(--black-color08);font-weight:400;display: block;margin-top:clamp(8px, 1.4vw, 14px);}

            @media (max-width:1023px) {
                .sub_gallery{grid:auto / repeat(3, 1fr);}
            }
            @media (max-width:640px) {
                .sub_gallery{grid:auto / repeat(2, 1fr);}
            }
            @media (max-width:479px) {
                .sub_gallery{grid:auto / repeat(1, 1fr);}
            }

	/* === view === */
		#wrap .bbs_view .view_tit{display: flex;flex-direction: column;gap:var(--row-gap30);box-sizing:border-box;padding-bottom:var(--row-gap40);border-bottom:1px solid var(--border-color01);align-items: flex-start;}
		#wrap .bbs_view .view_tit h4{display: flex;align-items:center;gap:var(--row-gap20);}
		#wrap .bbs_view .view_tit h4 .tag{display: inline-flex;align-items: center;justify-content: center;box-sizing:border-box;font-size:var(--text-16);color:var(--point-white);font-weight:600;background:var(--point-color01);padding:clamp(6px, 1vw, 10px) clamp(10px, 2vw, 20px) clamp(5px, 0.5vw, 9px);border-radius:6px;line-height:1;}
		#wrap .bbs_view .view_tit h4 strong{color:var(--black-color03);font-weight:600;line-height:1.4;font-size:var(--text-34);}
		#wrap .bbs_view .view_tit .name_box{display: flex;align-items: center;gap:var(--row-gap40);}
		#wrap .bbs_view .view_tit .name_box dl{display: flex;align-items: center;gap:clamp(10px, 1.2vw, 16px);position: relative;}
		#wrap .bbs_view .view_tit .name_box dl + dl:before{width:1px;height:clamp(8px, 1vw, 12px);content:"";background:var(--border-color01);display: inline-block;position: absolute;left:-20px;top:50%;translate:0 -50%;}
		#wrap .bbs_view .view_tit .name_box :where(dt, dd) {font-size:var(--text-18);font-weight:500;font-family:var(--font-type03);}
		#wrap .bbs_view .view_tit .name_box dt{color:var(--black-color06);}
		#wrap .bbs_view .view_tit .name_box dd{color:var(--black-color08);}
		#wrap .bbs_view div.view_cont{border-bottom:1px solid var(--border-color01);padding:clamp(25px, 4vw, 40px) 0;text-align: center;}
		#wrap .bbs_view .extra_editor_wrap{display: flex;box-sizing:border-box;border-radius:var(--radius-10);background:var(--gray-bg01);align-items: center;padding:clamp(12px, 2.2vw, 27px) 0;border:none;margin-top:40px;}
		#wrap .bbs_view .extra_editor_wrap h5 {text-align: center;font-size:var(--text-18);color:var(--black-color03);font-weight:500;width:clamp(100px, 15vw, 180px);flex-shrink:0;background:none;}
		#wrap .bbs_view .extra_editor_wrap > div.extra_cont{box-sizing:border-box;padding-inline:var(--row-gap60) clamp(12px, 3vw, 30px);position: relative;}
		#wrap .bbs_view .extra_editor_wrap > div.extra_cont:before{width:1px;height:clamp(8px, 1vw, 12px);content:"";background:var(--border-color01);display: inline-block;position: absolute;left:0;top:50%;translate:0 -50%;}
		#wrap .bbs_view .extra_editor_wrap > div.extra_cont a{font-size:var(--text-18);color:var(--black-color06) !important;font-weight:400;}
		
	/* === write === */
		#wrap .bbs_write { box-sizing: border-box; display: flex; flex-direction: column; flex-wrap: wrap; gap: var(--row-gap30); padding-block: var(--row-gap40); border-top: 1px solid var(--black-color00); border-bottom: 1px solid var(--border-color01); }
		#wrap .bbs_write .line2 { gap: var(--row-gap60); }
		#wrap .bbs_write dl { display: flex; flex-wrap: wrap; width: 100%; align-items: center; box-sizing: border-box; }
		#wrap .bbs_write dl dt { width: clamp(140px, 12vw, 180px); box-sizing: border-box; padding-right: 15px; padding-left: 2px; color: var(--black-color03); font-weight: 500; font-size: var(--text-20); letter-spacing: -0.03em; }
		#wrap .bbs_write dl dd { width: calc(100% - clamp(140px, 12vw, 180px)); display: flex; align-items: center; gap: 10px; }
		/* 추가 필드(custom_fields)의 라디오/체크박스 선택지 가로배열 — dl/dd 안에서 사용 */
		#wrap .bbs_write .bf-options { display: flex; flex-wrap: wrap; align-items: center; gap: 8px clamp(16px, 2vw, 24px); width: 100%; }
		#wrap .bbs_write .bf-options label { display: inline-flex; align-items: center; gap: 8px; font-size: var(--text-18); font-weight: 400; color: var(--black-color05); cursor: pointer; }
		#wrap .req .require_dot { color: var(--point-color01); }
		#wrap dl dt:not(.req) .require_dot{display: none;}
		#wrap .bbs_write .bbs_file dd{flex-direction: column;align-items: flex-start;}
		#wrap .bbs_file input[type="file"]{display: none;}
		#wrap .bbs_file .file_box{display: flex;align-items: center;gap:var(--row-gap10);}
		#wrap .bbs_file .file_btn{display: inline-flex;align-items: center;justify-content: center;height:clamp(48px, 6vw, 60px);border:1px solid var(--border-color01);font-size:var(--text-18);color:var(--black-color03);font-weight:500;cursor:pointer;width:clamp(100px, 13vw, 130px);}

		/* 사이트 전역 파일 input 자동 강화(enhanceFileInputs, front/layout/main.php) 용 마크업 — 모든 <input type="file"> 공통 */
		#wrap .bf-file-wrap {display: inline-flex; align-items: center; flex-wrap: wrap; gap: var(--row-gap10);}
		#wrap .bf-file-wrap .bf-file-enhanced {position: absolute; left: -9999px; opacity: 0;}
		#wrap .bf-file-wrap .bf-file-btn {display: inline-flex; align-items: center; justify-content: center; height: clamp(40px, 5vw, 48px); padding: 0 clamp(16px, 2vw, 24px); border: 1px solid var(--border-color01); border-radius: var(--radius-10); background: var(--point-white); color: var(--black-color03); font-family: var(--font-type02); font-size: var(--text-16); font-weight: 500; line-height: 1; white-space: nowrap; cursor: pointer; transition: background .15s, border-color .15s;}
		#wrap .bf-file-wrap .bf-file-btn:hover {background: var(--gray-bg01); border-color: var(--black-color03);}
		#wrap .bf-file-wrap .bf-file-name {font-family: var(--font-type02); font-size: var(--text-16); color: var(--black-color06);}

		#wrap .captcha_wrap {display: flex; gap: 10px; padding: 10px; width: 170px;box-shadow: inset 0 0 0 1px var(--border-color01);box-sizing: border-box;border-radius:var(--radius-10);}
		#wrap .captcha input[type="text"] {width: calc(100% - 180px);}
		#wrap .db-captcha-img {width:100px;}
		#wrap .db-captcha-refresh {display: flex; justify-content: center; align-items: center; width: 40px; height: 40px; background: var(--black-color08);border-radius:var(--radius-10);}
		#wrap .db-captcha-refresh svg, .db-captcha-refresh path {stroke: #fff;}
		#wrap .policy_wrap {padding-block: var(--row-gap40) 0;margin:0;}
		#wrap .policy_wrap button {text-decoration: underline; text-underline-offset: 4px;}
		
		@media (max-width:1023px) {
			#wrap .captcha dd {flex-wrap: wrap;}
			#wrap .captcha input[type="text"] {width: 100%;}
		}
		@media (max-width:860px) {
			#wrap .captcha_wrap {width: 151px; height: 50px; padding: 6px; gap: 6px;}
			#wrap .db-captcha-refresh {width: 38px; height: 38px;}
			#wrap .bbs_write .line2 {gap: var(--row-gap30); grid-template-columns: var(--grid-array01);}
			#wrap .bbs_write dl dt { width: clamp(120px, 17.58vw, 180px);}
			#wrap .bbs_write dl dd { width: calc(100% - clamp(120px, 17.58vw, 180px));}
		}
		@media (max-width:479px) {
			#wrap .bbs_write {gap: var(--row-gap35);}
			#wrap .bbs_write dl {align-items: flex-start; flex-direction: column; gap: 10px;}
			#wrap .bbs_write dl dt, #wrap .bbs_write dl dd {width: 100%;}
		}
	
	/* === complete === */
		#wrap .complete_box {width:100%;box-sizing:border-box;border:1px solid var(--border-color01);text-align: center;padding:var(--row-gap60);border-radius:var(--radius-15);}
		#wrap .complete_box .chk_ico{width: var(--row-gap70); height: var(--row-gap70); margin: 0 auto; background-color: var(--gray-bg01);}
		#wrap .complete_box .chk_ico .text-green-600 {color: var(--point-color01);}
		#wrap .complete_box h4 {font-size:var(--text-28);color:var(--black-color03);font-weight:600;margin-top: var(--row-gap30);}
		#wrap .complete_box p {font-size:var(--text-20);color:var(--black-color05);margin-top: var(--row-gap20);}
		#wrap .complete_box .view_btn {margin-top: var(--row-gap50);}

		@media (max-width:1023px) {
			#wrap .complete_box .chk_ico {width: var(--row-gap95); height: var(--row-gap95);}
		}

