@charset "utf-8";

/* =========================== 메인 공통 좌우 여백
   섹션마다 흩어져 있던 좌우 패딩을 한 곳에서 제어한다.
   기본 20%. 다만 중형 화면에서 20%를 그대로 두면 본문 폭이 과하게 좁아져 카드가 뭉개지므로 단계적으로 줄인다. */
/* 콘텐츠 좌우 여백. 메인 시안 기준 화면 폭의 약 12%이며, 1920px 화면에서 섹션 안쪽 최대 폭(1440px)과 맞아떨어진다.
   메인 섹션이 쓴다. 푸터는 헤더와 같은 여백을 따로 쓴다. */
:root{--page-pad:12%}
@media(max-width:1400px){:root{--page-pad:8%}}
@media(max-width:768px){:root{--page-pad:20px}}

/* 헤더 스타일은 css/common/site-header.css 로 분리 (메인·서브 공통 사용) */
/* =========================== MAIN */
#mainVisual{overflow:visible;position:relative;letter-spacing:-.2px;width:100%;height:620px;min-height:520px;background:#222}
#mainVisual .main_slide{height:100%;overflow:hidden}
#mainVisual ul li{background-size: cover;background-position: center;background-blend-mode: darken;}
#mainVisual ul li img{object-fit: cover}
.main a.main_eng_btn {color: #fff;!important;margin-right: 30px;}
.sh_nav .fa-magnifying-glass {color: #fff;font-size: 1.2rem;}
.sh_nav_ic {display: flex; align-items: center;}
/* 텍스트 (배너 중앙 정렬 / 아래 검색바 자리만큼 비워둠) */
#mainVisual .main_txt{position:absolute;inset:0;z-index:5;display:flex;flex-flow:column;align-items:center;justify-content:center;width:auto;padding:0 5% 210px;text-align:center;font-size:18px;line-height:1.5;color: rgb(255 255 255 / 81%);font-family:'Poppins','Pretendard';transform:none}
#mainVisual .main_txt .stit{display:block;font-size:16px;font-weight:500;color:var(--primary)}
#mainVisual .main_txt .btit{margin:0 0 14px;font-size:52px;font-weight:700;color:#fff;line-height:1.25;white-space:pre-line}

/* 컨트롤 */
#mainVisual .controls{display:flex;flex-flow:column;align-items:center;width:max-content;margin-top:0; position: absolute;z-index:6; top: auto; bottom: 36px; left: 50%; transform: translateX(-50%);}
#mainVisual .controls div{display:flex;align-items:center;margin-bottom:0}
#mainVisual .controls .arr{cursor:pointer;padding-bottom:4px}
#mainVisual .controls .pager{width:75px;margin:0 35px; font-size:0}
#mainVisual .controls .pager span{position:relative;font-size:14px;font-weight:600;color:#fff}
#mainVisual .controls .pager span+span{opacity:.5;margin-left:20px;padding-left:20px}
#mainVisual .controls .pager span:before{content:"0"}
#mainVisual .controls .pager span+span:after{display:block;;content:"";position:absolute;left:0;top:4px;width:1px;height:12px;background:rgba(255,255,255,.4)}
#mainVisual .main_timeline{width:100%;height:auto;margin-right:12px}
#mainVisual .main_timeline span{display:none;position:relative;width:100%;height:2px;border-radius:0;background:#fff;opacity:1}
#mainVisual .main_timeline span.on{display:block}
#mainVisual .main_timeline span:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%}
#mainVisual .main_timeline span.on:before{background:var(--primary);animation:progressbar 4s linear}
@keyframes progressbar{0%{width:0}to{width:100%}}

@media(max-width:1310px){
#mainVisual .main_txt{font-size:16px}
#mainVisual .main_txt .btit{font-size:44px}
.main_eng_btn{color: #000;font-weight: 600;}
}
@media(max-width:1024px){
#mainVisual{height:560px;min-height:0}
#mainVisual .main_txt{padding-bottom:190px}
}
@media(max-width:768px){
#mainVisual{height:520px;min-height:0}
#mainVisual .main_txt{width:100%;padding:0 24px 175px;word-break:keep-all}
#mainVisual .main_txt .stit{font-size:14px}
#mainVisual .main_txt .btit{margin:0 0 12px;font-size:32px}
#mainVisual .controls{bottom:24px}
#mainVisual .controls .pager span{font-size:13px}
}
@media(max-width:480px){
#mainVisual{height:480px}
#mainVisual .main_txt{padding:0 20px 160px}
#mainVisual .main_txt .btit{white-space:normal;word-break:keep-all;font-size:26px}
}

/* =========================== 메인 검색 (배너 중앙 + 드롭다운) */
.hero-search{position:absolute;left:50%;top:50%;transform:translateX(-50%);margin-top:6px;z-index:1200;width:min(760px,90%);font-family:'Pretendard','Noto Sans KR',sans-serif}
.hero-search__backdrop{position:fixed;inset:0;z-index:-1;opacity:0;pointer-events:none;background:rgba(3,9,20,.45);transition:opacity .25s ease}
.hero-search.is-open .hero-search__backdrop{opacity:1;pointer-events:auto}
.hero-search__form{position:relative;margin:0}

.hero-search__bar{display:flex;align-items:center;gap:14px;height:64px;padding:0 10px 0 24px;border-radius:16px;background:#fff;box-shadow:0 18px 45px rgba(3,9,20,.28);cursor:text;transition:border-radius .2s ease,box-shadow .2s ease}
.hero-search.is-open .hero-search__bar{border-radius:16px 16px 0 0;box-shadow:0 18px 45px rgba(3,9,20,.28)}
.hero-search__icon{flex:none;color:#8a94a6}
.hero-search__input{flex:1;min-width:0;height:100%;border:0;background:transparent;font-size:17px;color:#0b1324;padding:0}
.hero-search__input::placeholder{color:#9aa3b2}
.hero-search__input:focus{outline:none}
.hero-search__submit{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:10px;background:#123a63;color:#fff;cursor:pointer;transition:background .2s ease}
.hero-search__submit:hover{background:#0d2c4d}

.hero-search__dropdown{display:none;position:absolute;left:0;right:0;top:100%;max-height:min(72vh,620px);overflow-y:auto;border-radius:0 0 16px 16px;background:#fff;box-shadow:0 30px 60px rgba(3,9,20,.3);text-align:left;border-top:1px solid #edf0f5}
.hero-search.is-open .hero-search__dropdown{display:block}
.hero-search__block{padding:22px 26px 0}
.hero-search__block+.hero-search__block{padding-top:26px}
.hero-search__label{margin:0 0 12px;font-size:13px;font-weight:500;color:#8a94a6}
.hero-search__keywords{display:flex;flex-wrap:wrap;gap:8px}
.hero-keyword{padding:8px 14px;border:1px solid #e3e8f2;border-radius:999px;background:#fff;font-size:14px;color:#4a5568;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}
.hero-keyword:hover{background:#123a63;border-color:#123a63;color:#fff}

.hero-search__cats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px;padding-bottom:22px}
.hero-search__cats li{list-style:none}
.hero-search__cats a{display:flex;align-items:center;gap:14px;padding:12px 10px;border-radius:12px;transition:background .2s ease}
.hero-search__cats a:hover{background:#f4f7fb}
.hero-cat__ic{flex:none;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:#f1f4f9;color:#123a63}
.hero-cat__txt{display:flex;flex-direction:column;gap:3px;min-width:0}
.hero-cat__txt strong{font-size:15px;font-weight:700;color:#0b1324}
.hero-cat__txt em{font-size:13px;font-style:normal;color:#8a94a6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.hero-search__all{display:flex;align-items:center;gap:14px;padding:18px 26px;border-top:1px solid #edf0f5;background:#fff;font-size:16px;font-weight:700;color:#0b1324;transition:background .2s ease}
.hero-search__all:hover{background:#f4f7fb}
.hero-search__all-ic{flex:none;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:#123a63;color:#fff}
.hero-search__all-arr{margin-left:auto;color:#8a94a6}

@media(max-width:768px){
.hero-search{width:calc(100% - 40px);margin-top:4px}
.hero-search__bar{height:56px;padding:0 8px 0 18px;gap:10px}
.hero-search__input{font-size:15px}
.hero-search__submit{width:40px;height:40px}
.hero-search__dropdown{max-height:60vh}
.hero-search__block{padding:18px 18px 0}
.hero-search__cats{grid-template-columns:1fr;padding-bottom:18px}
.hero-search__all{padding:16px 18px;font-size:15px}
}

/* =========================== 주요 카테고리 */
#mainCategory{padding:90px var(--page-pad,5%) 80px;background:#fff;font-family:'Pretendard','Noto Sans KR',sans-serif}
#mainCategory .tit{margin:0 0 42px;text-align:center;font-size:34px;font-weight:700;color:#0b1324;letter-spacing:-.5px}
#mainCategory ul{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;max-width:1440px;margin:0 auto;padding:0;list-style:none}
#mainCategory ul li{flex:0 0 calc(25% - 15px);max-width:calc(25% - 15px)}
#mainCategory ul li a{display:flex;align-items:center;gap:18px;height:100%;padding:18px 24px;border:1px solid #e8ecf3;border-radius:14px;background:#fff;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
#mainCategory ul li img{flex:none;width:72px;height:56px;object-fit:contain}
#mainCategory ul li span{font-size:17px;font-weight:600;color:#0b1324;word-break:keep-all}
@media(hover:hover){
#mainCategory ul li a:hover{border-color:#123a63;box-shadow:0 14px 30px rgba(3,9,20,.1);transform:translateY(-3px)}
}
@media(max-width:1200px){
#mainCategory ul li{flex-basis:calc(33.333% - 14px);max-width:calc(33.333% - 14px)}
}
@media(max-width:768px){
#mainCategory{padding:56px 20px 50px}
#mainCategory .tit{margin-bottom:28px;font-size:26px}
#mainCategory ul{gap:12px}
#mainCategory ul li{flex-basis:calc(50% - 6px);max-width:calc(50% - 6px)}
#mainCategory ul li a{gap:12px;padding:14px 16px}
#mainCategory ul li img{width:56px;height:44px}
#mainCategory ul li span{font-size:15px}
}
@media(max-width:400px){
#mainCategory ul li{flex-basis:100%;max-width:100%}
}

/* =========================== 많이 찾는 렌탈 장비 */
#mainProduct{padding:70px var(--page-pad,5%) 90px;background:#f7f8fa;font-family:'Pretendard','Noto Sans KR',sans-serif}
#mainProduct .mp_head,#mainProduct .mp_tabs,#mainProduct .mp_panels{max-width:1440px;margin:0 auto}
#mainProduct .mp_head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}
#mainProduct .tit{margin:0;font-size:30px;font-weight:700;color:#0b1324;letter-spacing:-.5px}
#mainProduct .more{display:inline-flex;align-items:center;gap:4px;flex:none;font-size:14px;font-weight:500;color:#6c7488;transition:color .2s ease}
#mainProduct .more:hover{color:#123a63}

#mainProduct .mp_tabs{display:flex;gap:30px;border-bottom:1px solid #e4e8ef;overflow-x:auto;-webkit-overflow-scrolling:touch}
#mainProduct .mp_tabs::-webkit-scrollbar{display:none}
#mainProduct .mp_tab{flex:none;position:relative;padding:0 2px 15px;border:0;background:none;font-size:15px;font-weight:500;color:#8a94a6;white-space:nowrap;cursor:pointer;transition:color .2s ease}
#mainProduct .mp_tab:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#0b1324;opacity:0;transition:opacity .2s ease}
#mainProduct .mp_tab.on{color:#0b1324;font-weight:700}
#mainProduct .mp_tab.on:after{opacity:1}
#mainProduct .mp_panel{display:none;flex-wrap:wrap;gap:24px;margin:0;padding:44px 0 0;list-style:none}
#mainProduct .mp_panel.on{display:flex}
#mainProduct .mp_panel li{flex:0 0 calc(25% - 18px);max-width:calc(25% - 18px)}
#mainProduct .mp_card{display:flex;flex-direction:column;height:100%;border:1px solid #eceded;border-radius:12px;overflow:hidden;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}
#mainProduct .mp_thumb{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;padding:20px;background:#f1f2f4;overflow:hidden}
#mainProduct .mp_thumb em{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-style:normal;font-size:13px;color:#b4bcc9}
#mainProduct .mp_thumb img{position:relative;max-width:100%;max-height:100%;object-fit:contain}
#mainProduct .mp_body{display:flex;flex-direction:column;flex:1;padding:20px}
#mainProduct .mp_name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:16px;font-weight:700;color:#0b1324;line-height:1.4;word-break:keep-all}
#mainProduct .mp_price_label{margin:9px 0 3px;font-size:13px;color:#8a94a6}
#mainProduct .mp_price{margin:0 0 20px;font-size:19px;font-weight:700;color:#0b1324}
/* 관리자 '월 렌탈료'가 입력된 금액 (고소장비·계측기기 탭). '견적 문의'보다 크고 굵게 */
#mainProduct .mp_price.is-amount{font-size:21px;font-weight:800;letter-spacing:-.02em;color:#111827;font-variant-numeric:tabular-nums}
#mainProduct .mp_btns{display:flex;gap:8px;margin:auto 0 0}
#mainProduct .mp_btn{flex:1;padding:10px 6px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}
#mainProduct .mp_btn_cart{border:1px solid #d9dfe8;background:#fff;color:#4a5568}
#mainProduct .mp_btn_cart.on{border-color:#123a63;background:#123a63;color:#fff}
#mainProduct .mp_btn_inquiry{border:1px solid #dde6f3;background:#e8eef7;color:#123a63}
@media(hover:hover){
#mainProduct .mp_card:hover{border-color:#d9dfe8;box-shadow:0 14px 30px rgba(3,9,20,.08)}
#mainProduct .mp_btn_cart:hover{border-color:#123a63;color:#123a63}
#mainProduct .mp_btn_cart.on:hover{color:#fff}
#mainProduct .mp_btn_inquiry:hover{background:#123a63;border-color:#123a63;color:#fff}
}
@media(max-width:1200px){
#mainProduct .mp_panel li{flex-basis:calc(33.333% - 16px);max-width:calc(33.333% - 16px)}
}
@media(max-width:768px){
#mainProduct{padding:48px 20px 60px}
#mainProduct .mp_head{margin-bottom:20px}
#mainProduct .tit{font-size:24px}
#mainProduct .more{font-size:14px}
#mainProduct .mp_tabs{gap:20px}
#mainProduct .mp_tab{font-size:15px;padding-bottom:12px}
#mainProduct .mp_panel{gap:12px;padding-top:24px}
#mainProduct .mp_panel li{flex-basis:calc(50% - 6px);max-width:calc(50% - 6px)}
#mainProduct .mp_thumb{padding:14px}
#mainProduct .mp_body{padding:14px}
#mainProduct .mp_name{font-size:14px}
#mainProduct .mp_price{margin-bottom:14px;font-size:16px}
#mainProduct .mp_btns{flex-direction:column;gap:6px}
#mainProduct .mp_btn{font-size:13px;padding:9px 6px}
}

/* =========================== 다양한 산업이 선택한 렌탈 파트너 */
#mainPartner{padding:90px var(--page-pad,5%) 100px;background:linear-gradient(180deg,#fff 0%,#eef2f7 100%);font-family:'Pretendard','Noto Sans KR',sans-serif;text-align:center;overflow:hidden}
#mainPartner .mpt_head{margin-bottom:56px}
#mainPartner .tit{margin:0 0 12px;font-size:28px;font-weight:700;color:#0b1324;letter-spacing:-.5px}
#mainPartner .sub{margin:0;font-size:15px;color:#6c7488}

#mainPartner .mpt_stats{display:flex;justify-content:center;gap:40px;max-width:1000px;margin:0 auto;padding:0;list-style:none}
#mainPartner .mpt_stats li{flex:1 1 0;min-width:0}
#mainPartner .mpt_stats .num{margin:0 0 10px;font-size:52px;font-weight:800;line-height:1.1;color:#123a63;font-variant-numeric:tabular-nums}
#mainPartner .mpt_stats .label{margin:0;font-size:14px;color:#6c7488}

#mainPartner .mpt_clients{margin-top:80px}
#mainPartner .mpt_clients_tit{margin:0 0 28px;font-size:18px;font-weight:700;color:#0b1324}
/* 화면 전체 폭이 아니라 섹션 좌우 여백(--page-pad) 안쪽에서만 롤링한다 */
#mainPartner .mpt_marquee{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
#mainPartner .mpt_track{display:flex;width:max-content;animation:mptMarquee 32s linear infinite}
#mainPartner .mpt_marquee:hover .mpt_track{animation-play-state:paused}
/* 간격을 flex gap이 아닌 margin으로 줘야 두 벌 복제본의 이음새가 정확히 맞는다 */
#mainPartner .mpt_logo{flex:none;display:flex;align-items:center;justify-content:center;width:200px;height:84px;margin-right:24px;padding:16px;border:1px solid #e8ecf3;border-radius:12px;background:#fff}
#mainPartner .mpt_logo img{max-width:100%;max-height:100%;object-fit:contain}
#mainPartner .mpt_logo span{display:none;font-size:16px;font-weight:700;color:#8a94a6}
#mainPartner .mpt_logo.no-img img{display:none}
#mainPartner .mpt_logo.no-img span{display:block}
@keyframes mptMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){
#mainPartner .mpt_track{animation:none}
}
@media(max-width:768px){
#mainPartner{padding:56px 20px 64px}
#mainPartner .mpt_head{margin-bottom:36px}
#mainPartner .tit{font-size:22px}
#mainPartner .sub{font-size:14px;word-break:keep-all}
#mainPartner .mpt_stats{gap:12px}
#mainPartner .mpt_stats .num{font-size:32px}
#mainPartner .mpt_stats .label{font-size:12px;word-break:keep-all}
#mainPartner .mpt_clients{margin-top:52px}
#mainPartner .mpt_clients_tit{margin-bottom:20px;font-size:16px}
#mainPartner .mpt_logo{width:150px;height:68px;margin-right:14px;padding:12px}
#mainPartner .mpt_track{animation-duration:24s}
}

/* =========================== 뉴스룸 */
#newsroom{padding:100px var(--page-pad,5%);background:#fff;font-family:'Pretendard','Noto Sans KR',sans-serif}
#newsroom .nr_head,#newsroom .nr_list{max-width:1440px;margin:0 auto}
#newsroom .nr_head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:32px}
#newsroom .tit{margin:0 0 10px;font-size:32px;font-weight:700;color:#0b1324;letter-spacing:-.5px}
#newsroom .sub{margin:0;font-size:15px;color:#6c7488;word-break:keep-all}
#newsroom .more{display:inline-flex;align-items:center;gap:8px;flex:none;font-size:14px;font-weight:500;color:#6c7488;transition:color .2s ease}
#newsroom .more:hover{color:#123a63}

#newsroom .nr_list{display:flex;flex-wrap:wrap;gap:24px;padding:0;list-style:none}
#newsroom .nr_list li{flex:0 0 calc(33.333% - 16px);max-width:calc(33.333% - 16px)}
#newsroom .nr_list a{display:flex;flex-direction:column;height:100%;border:1px solid #eef1f5;border-radius:12px;overflow:hidden;background:#fff;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
#newsroom .nr_thumb{position:relative;display:block;aspect-ratio:4/3;background:#f4f5f7;overflow:hidden}
#newsroom .nr_thumb em{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-style:normal;font-size:14px;color:#b4bcc9}
#newsroom .nr_thumb img{position:relative;width:100%;height:100%;object-fit:cover}
#newsroom .nr_tit{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding:22px 24px;font-size:16px;font-weight:700;line-height:1.5;color:#0b1324;word-break:keep-all}
@media(hover:hover){
#newsroom .nr_list a:hover{border-color:#d9dfe8;box-shadow:0 14px 30px rgba(3,9,20,.08);transform:translateY(-4px)}
}
@media(max-width:768px){
#newsroom{padding:56px 20px 64px}
#newsroom .nr_head{display:block;margin-bottom:24px}
#newsroom .tit{font-size:24px}
#newsroom .sub{font-size:14px}
#newsroom .more{margin-top:14px;font-size:13px}
#newsroom .nr_list{gap:14px}
#newsroom .nr_list li{flex-basis:100%;max-width:100%}
#newsroom .nr_tit{padding:16px 18px;font-size:15px}
}

/* =========================== 푸터 (사이트 공통)
   메인과 서브페이지가 모두 fragments/app-footer.html 을 쓴다. sh_common.css 의 #sh_ft(다크)는 더 이상 쓰이지 않는다. */
#siteFooter{padding:60px 0 40px;background:#f7f8fa;border-top:1px solid #e8ecf3;font-family:'Pretendard','Noto Sans KR',sans-serif;font-size:14px;color:#5a6473;line-height:1.7}
/* 좌우 여백은 헤더(#siteHeader .hd_inner)와 동일하게 맞춘다 — 값을 바꿀 때 site-header.css 도 함께 바꿀 것 */
#siteFooter .ft_inner{max-width:1920px;margin:0 auto;padding:0 clamp(24px,5.5vw,106px)}
#siteFooter a{color:inherit;text-decoration:none;transition:color .2s ease}
#siteFooter a:hover{color:#123a63}

#siteFooter .ft_top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:28px;border-bottom:1px solid #e4e8ef}
#siteFooter .ft_logo img{width:104px;height:auto;object-fit:contain;display:block}
#siteFooter .ft_policy{display:flex;flex-wrap:wrap;gap:34px;font-size:13px;font-weight:500;color:#3d4756}

#siteFooter .ft_mid{display:flex;align-items:flex-start;justify-content:space-between;gap:40px;padding:34px 0;border-bottom:1px solid #e4e8ef}
#siteFooter .ft_info{font-style:normal}
#siteFooter .ft_info p{margin:0}
#siteFooter .ft_info{font-size:13px}
#siteFooter .ft_info p+p{margin-top:8px}
#siteFooter .ft_info span+span{margin-left:26px}
#siteFooter .ft_info a{color:#5a6473}
#siteFooter .ft_menu{display:flex;flex-wrap:wrap;gap:40px;flex:none;padding-top:2px;font-size:13px;font-weight:500;color:#1f2937}

#siteFooter .ft_bot{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:26px}
#siteFooter .ft_copy{margin:0;font-size:13px;color:#8a94a6}
#siteFooter .ft_util{display:flex;align-items:center;gap:22px}
#siteFooter .ft_sns{display:flex;align-items:center;gap:6px}
/* 아이콘 파일 안쪽 여백이 커서 상자를 키워야 목업 크기(약 18px)로 보인다. 클릭 영역도 함께 넓어진다 */
#siteFooter .ft_sns a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px}
/* 기존 아이콘은 다크 푸터용이라 밝은 색이다. brightness(0)으로 알파를 유지한 채 단색화한다. */
#siteFooter .ft_sns img{width:100%;height:100%;object-fit:contain;filter:brightness(0);opacity:.85;transition:opacity .2s ease}
#siteFooter .ft_sns a:hover img{opacity:1}
/* 패밀리 사이트: 알약 버튼 + 위로 펼쳐지는 목록 */
#siteFooter .ft_family{position:relative}
#siteFooter .ft_family__btn{display:inline-flex;align-items:center;gap:10px;height:38px;padding:0 16px 0 18px;border:1px solid #d9dfe8;border-radius:999px;background:#fff;font-family:inherit;font-size:13px;font-weight:500;color:#1f2937;cursor:pointer;transition:border-color .2s ease}
#siteFooter .ft_family__btn:hover,#siteFooter .ft_family.is-open .ft_family__btn{border-color:#b9c4d3}
#siteFooter .ft_family__btn:focus-visible{outline:2px solid #123a63;outline-offset:2px}
#siteFooter .ft_family__btn svg{flex:none;transition:transform .2s ease}
#siteFooter .ft_family.is-open .ft_family__btn svg{transform:rotate(180deg)}
#siteFooter .ft_family__list{position:absolute;right:0;bottom:calc(100% + 10px);z-index:50;min-width:150px;margin:0;padding:8px 0;list-style:none;background:#fff;border:1px solid #e4e8ef;border-radius:10px;box-shadow:0 12px 32px rgba(15,30,50,.12)}
#siteFooter .ft_family__list[hidden]{display:none}
#siteFooter .ft_family__list a{display:block;padding:7px 14px;font-size:13px;line-height:1.5;color:#1f2937;white-space:nowrap}
#siteFooter .ft_family__list a:hover,#siteFooter .ft_family__list a:focus-visible{background:#f3f6fa;color:#123a63;outline:none}

@media(max-width:1024px){
#siteFooter .ft_mid{display:block}
#siteFooter .ft_menu{margin-bottom:22px;gap:24px}
}
@media(max-width:991px){
#siteFooter .ft_inner{padding:0 20px}
}
@media(max-width:768px){
#siteFooter{padding:40px 0 32px;font-size:13px}
#siteFooter .ft_top{display:block;padding-bottom:20px}
#siteFooter .ft_logo img{width:96px}
#siteFooter .ft_policy{margin-top:18px;gap:18px;font-size:13px}
#siteFooter .ft_mid{padding:24px 0}
#siteFooter .ft_info span{display:block}
#siteFooter .ft_info span+span{margin-left:0;margin-top:6px}
#siteFooter .ft_menu{gap:16px;font-size:13px}
#siteFooter .ft_bot{display:block;padding-top:20px}
#siteFooter .ft_util{justify-content:space-between;margin-top:18px}
#siteFooter .ft_copy{font-size:12px}
}

/* =========================== 퀵버튼 (전 페이지 공통, 마크업: fragments/app-header.html)
   흰 원형 버튼 안에 일러스트 아이콘 + 라벨. 상담 = 채널톡, 문의 = 견적문의 */
.floating-wrapper{position:fixed;right:24px;bottom:120px;z-index:1000;display:flex;flex-direction:column;gap:14px}
.qk-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:76px;height:76px;padding:0;background:#fff;border:1.5px solid #d5deea;border-radius:50%;box-shadow:0 8px 20px rgba(15,30,50,.12);font-family:'Pretendard','Noto Sans KR',sans-serif;text-decoration:none!important;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.qk-btn--chat{border-color:#a9c1ec}
.qk-btn--quote{border-color:#3a4658}
.qk-btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(15,30,50,.18)}
.qk-btn:focus-visible{outline:2px solid #2f6fb5;outline-offset:3px}
.qk-btn__ic{width:34px;height:34px;flex:none}
.qk-btn__label{font-size:12px;font-weight:700;line-height:1;color:#111827}
@media(max-width:768px){
.floating-wrapper{right:16px;bottom:80px;gap:10px}
.qk-btn{width:60px;height:60px;gap:2px}
.qk-btn__ic{width:26px;height:26px}
.qk-btn__label{font-size:11px}
}
@media(prefers-reduced-motion:reduce){
.qk-btn{transition:none}
.qk-btn:hover{transform:none}
}
