@charset "UTF-8";
/* ==========================================================================
   파나메딕(panamedic.mallpro.co.kr) 디자인얼럿                2026-08-28 [PD2608280010]
   브라우저 기본 alert/confirm 대신 뜨는 화면 안 팝업. PC·모바일·관리자 모두 적용.
   사이트 테마색(T_CONFIG.Color1 #523787)을 확인 버튼 색으로 사용.
   ========================================================================== */
#ds-alert { display: none; }
#ds-alert {
	position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 99998;
	display: none; align-items: center; justify-content: center; padding: 24px;
	font-family: -apple-system, "Malgun Gothic", "맑은 고딕", sans-serif;
}
#ds-alert.is-open { display: flex; }
#ds-alert .ds-al-dim { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, .45); }
#ds-alert .ds-al-box {
	position: relative; width: 100%; max-width: 360px; box-sizing: border-box;
	background: #fff; border-radius: 16px; padding: 28px 22px 18px; text-align: center;
	box-shadow: 0 12px 40px rgba(20, 30, 60, .28); animation: dsAlPop .16s ease-out;
}
@keyframes dsAlPop { from { transform: scale(.94); opacity: .3; } to { transform: none; opacity: 1; } }
#ds-alert .ds-al-tx {
	margin: 0 0 20px; font-size: 15px; line-height: 1.6; color: #262626;
	white-space: pre-line; word-break: break-word;
}
/* 알림(확인 1칸) / 확인창(취소·확인 2칸) — is-ask 가 붙으면 「취소」 가 보인다 */
#ds-alert .ds-al-btns { display: flex; gap: 8px; }
#ds-alert .ds-al-ok,
#ds-alert .ds-al-no {
	flex: 1 1 0; min-width: 0; height: 46px; border: 0; border-radius: 10px; cursor: pointer;
	font-size: 15px; font-weight: 700; font-family: inherit; -webkit-tap-highlight-color: transparent;
}
#ds-alert .ds-al-ok { background: #523787; color: #fff; }
#ds-alert .ds-al-no { display: none; background: #f2f2f4; color: #4e4e58; }
#ds-alert.is-ask .ds-al-no { display: block; }
#ds-alert .ds-al-ok:hover { background: #452e73; }
#ds-alert .ds-al-ok:active, #ds-alert .ds-al-no:active { filter: brightness(.94); }

/* 팝업이 떠 있는 동안 뒤 화면은 스크롤되지 않게 */
html.ds-alock, html.ds-alock body { overflow: hidden !important; }

@media (max-width: 480px) {
	#ds-alert .ds-al-box { max-width: 320px; padding: 24px 18px 16px; }
}

/* ==========================================================================
   전 페이지 공통 반응형 크롬   2026-09-02 [PD2609020340] (Approach A)
   ---------------------------------------------------------------------------
   메인·서브 공통 헤더(.utilWrap/.logoSearchWrap/.gnbWrap)·푸터·본문폭·하단 탭바를
   폰(≤767px)에서 반응형으로 만든다. 메인 전용(히어로·인기상품 등)은 main_resp_v2.css.
   이 파일은 header.asp(서브)·main_header.asp(메인) 양쪽이 로드하므로 전 페이지에 적용된다.
   ========================================================================== */
.pm-mo-gnb { display: none; }

@media all and (max-width:1199px) {
	/* 고정 1200 폭 해제 */
	html body { min-width: 0 !important; width: auto !important; }
	html body .wrap_body { min-width: 0 !important; width: 100% !important; overflow-x: hidden; padding-bottom: calc(60px + env(safe-area-inset-bottom, 0px)) !important; }
	.wrap_body img { max-width: 100%; height: auto; }
	.wrap_body [style*="width:1200"], .wrap_body [style*="width: 1200"],
	.wrap_body [style*="width:1000"], .wrap_body [style*="width: 1000"] { width: 100% !important; max-width: 100% !important; }

	/* 상단 유틸바 */
	.utilWrap { min-width: 0 !important; width: 100% !important; height: auto !important; box-sizing: border-box; }
	.utilBox { width: 100% !important; box-sizing: border-box; padding: 4px 12px; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 4px 14px; font-size: 12px; }

	/* 로고 + 검색 */
	/* ★2026-09-04 [PD2609040090] 예전 판은 이 줄을 «세로 스택» 으로 만들어 검색창이 로고 아래에
	   화면 폭 전체로 깔렸고, 그 안에서 input 에 width:100% 를 줘서 돋보기 버튼(.btn_search)이
	   «아랫줄로 밀려» 입력칸 왼쪽 아래에 따로 떨어져 보였다(사용자 캡처).
	   → 로고와 검색을 «한 줄»(로고 왼쪽 · 검색 오른쪽)로 되돌리고, 검색 폭을 줄인다.
	     input 과 돋보기 버튼은 form 을 flex 로 만들어 «붙은 한 덩어리»(왼쪽 둥근 입력 + 오른쪽
	     보라 버튼)로 유지한다. 자리가 모자라면 flex-wrap 이 검색만 아랫줄로 내린다. */
	.logoSearchWrap { min-width: 0 !important; width: 100% !important; height: auto !important; box-sizing: border-box; padding: 10px 12px; }
	.logoSearch {
		display: flex !important; flex-flow: row wrap; align-items: center; justify-content: space-between;
		gap: 8px 12px; width: 100% !important; height: auto !important; margin: 0 !important;
		overflow: visible !important; text-align: left;
	}
	.logoSearch .logo { float: none !important; flex: 0 0 auto; width: auto !important; margin: 0 !important; }
	.logoSearch .logo img { max-width: 170px; height: auto; display: block; }

	.logoSearch .search {
		position: static !important; float: none !important;
		flex: 1 1 150px; min-width: 0; width: auto !important; max-width: 340px;
		margin: 0 0 0 auto !important; overflow: visible !important; box-sizing: border-box;
	}
	.logoSearch .search form { display: flex !important; align-items: stretch; width: 100%; }
	.logoSearch .search input[type="text"], .logoSearch .search .inputTxt {
		float: none !important; flex: 1 1 auto; min-width: 0; width: auto !important;
		height: 40px; padding: 0 12px !important; font-size: 13px; box-sizing: border-box;
	}
	.logoSearch .search .btn_search {
		float: none !important; flex: 0 0 44px; width: 44px !important; height: 40px;
		padding: 0 !important; margin: 0 !important;
		display: flex !important; align-items: center; justify-content: center; box-sizing: border-box;
	}
	.logoSearch .search .btn_search .ftic-search { margin: 0 !important; }
	.logoSearchWrap .bannerBX { display: none !important; }

	/* GNB 가로 스크롤 */
	/* ★2026-09-04 [PD2609040020] : 예전에는 이 줄을 «가로 스크롤 한 줄» 로 만들었는데,
	   「전체보기·회사소개·베스트…」 7칸이 390px 폰 폭을 넘겨 오른쪽이 잘린 채 나오고
	   옆으로 밀어야만 나머지가 보였다(스크롤 힌트도 없어 있는 줄도 모른다).
	   → 좌우 스크롤을 없애고 «줄바꿈 격자» 로 바꾼다. 「전체보기」는 한 줄을 다 쓰는
	     대표 버튼, 나머지는 3칸씩 접혀 «전부 한눈에» 보인다(잘림 0 · 가로 스크롤 0).
	   칸 수가 3의 배수가 아니어도 grid 가 알아서 채운다. */
	.gnbWrap { min-width: 0 !important; width: 100% !important; box-sizing: border-box; }
	.gnbBox {
		width: 100% !important; box-sizing: border-box;
		overflow: visible !important; white-space: normal !important;
		height: auto !important; line-height: normal !important;
	}
	.gnbBox > ul {
		display: grid !important; grid-template-columns: repeat(3, 1fr);
		gap: 1px; float: none !important; width: 100% !important; margin: 0 !important;
		white-space: normal !important; line-height: normal !important;
		background: #e6e6ee;                      /* 칸 사이 1px 실선을 대신한다 */
		border-top: 1px solid #e6e6ee; border-bottom: 1px solid #e6e6ee;
		box-sizing: border-box; overflow: hidden;
	}
	.gnbBox > ul:first-child { float: none !important; }
	.gnbBox > ul > li {
		float: none !important; display: block !important;
		width: auto !important; min-width: 0; padding: 0 !important; margin: 0 !important;
		background: #fff; text-align: center; box-sizing: border-box;
	}
	.gnbBox > ul > li > a {
		display: flex !important; align-items: center; justify-content: center;
		min-height: 44px; padding: 6px 4px; box-sizing: border-box;
		font-size: 13px !important; line-height: 1.25 !important; color: #33333b !important;
		word-break: keep-all; -webkit-tap-highlight-color: transparent;
	}
	/* 「전체보기」 = 한 줄을 다 쓰는 대표 버튼 */
	.gnbBox > ul > li.allMenu {
		grid-column: 1 / -1; width: auto !important; height: auto !important;
		background: #523787 !important; color: #fff !important;
	}
	.gnbBox > ul > li.allMenu > span {
		display: flex !important; align-items: center; justify-content: center;
		min-height: 46px; padding: 6px 4px; box-sizing: border-box;
		font-size: 15px !important; line-height: 1.25 !important; color: #fff !important;
	}
	.gnbBox > ul > li.allMenu > span .iconfont { margin-right: 8px; }
	/* 상품 카테고리가 여기 있다는 걸 알려주는 짧은 안내 */
	.gnbBox > ul > li.allMenu > span::after {
		content: "상품 카테고리 전체";
		margin-left: 8px; font-size: 12px; font-weight: normal; opacity: .78;
	}
	/* 폰에서 이미지 배너형 항목(li.img)은 격자에서 어색하므로 감춘다 */
	.gnbBox > ul > li.img { display: none !important; }

	/* 오른쪽 레거시 퀵메뉴 레일 숨김 */
	#right_bn_wrap { display: none !important; }

	/* 본문 컨텐츠 폭 */
	.sub_contents, .contents, .subContents { min-width: 0 !important; width: 100% !important; box-sizing: border-box; }
	.sub_contents [style*="width:1200"], .sub_contents [style*="width:1000"] { width: 100% !important; max-width: 100% !important; }
	.sub_contents table { max-width: 100% !important; }

	/* 푸터 */
	.footer { min-width: 0 !important; width: 100% !important; box-sizing: border-box; overflow: hidden; }
	.footer img { max-width: 100%; height: auto; }
	.footer [style*="width:1200"], .footer [style*="width:1000"] { width: 100% !important; max-width: 100% !important; }
	.contAuto { min-width: 0 !important; width: 100% !important; max-width: 100% !important; box-sizing: border-box; }

	/* 하단 네비게이션 탭바 (JS 가 body 에 .pm-mo-gnb 를 만든다) */
	.pm-mo-gnb { display: block !important; position: fixed; left: 0; right: 0; bottom: 0; z-index: 9000; background: #fff; border-top: 1px solid #e8e8ee; box-shadow: 0 -2px 10px rgba(20, 20, 40, .06); padding-bottom: env(safe-area-inset-bottom, 0px); }
	.pm-mo-gnb ul { display: flex; margin: 0; padding: 0; list-style: none; }
	.pm-mo-gnb li { flex: 1 1 0; min-width: 0; }
	.pm-mo-gnb a { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; height: 58px; color: #8a8a92; font-size: 11px; text-decoration: none; -webkit-tap-highlight-color: transparent; }
	.pm-mo-gnb a.is-active { color: #523787; }
	.pm-mo-gnb svg { display: block; width: 22px; height: 22px; }
}

/* ==========================================================================
   폰 「전체보기」(전체 카테고리) 패널     2026-09-04 [PD2609040010]
   ---------------------------------------------------------------------------
   문제 : GNB 「전체보기」로 열리는 .allMenuBox 가 데스크톱 6단 그리드 그대로였다.
          .submenu1_in 이 width:1200px 고정이고 .depth1_box 가 float:left; width:16.666%
          (=200px) 이라, 390px 폰에서는 1열만 온전히 보이고 2열은 «잘리고» 3~6열은
          화면 밖(x=400~1200)으로 나가 «아예 안 보였다». 실측 : 대분류 13개 중 5개만
          부분 노출.
   조치 : 폰(≤767px)에서만 이 패널을 전체화면 아코디언 목록으로 바꾼다.
          - 폭 고정(1200px)·float 6단을 모두 풀어 대분류 13개가 한 줄씩 «전부» 보인다.
          - 소분류는 화살표를 눌러 펼친다(2단 그리드). 이름은 줄바꿈되어 잘리지 않는다.
          - 머리줄에 「전체 카테고리 / ✕」를 넣어 닫을 수 있게 한다(JS 가 만든다).
   ★범위 : 폰에서만. 데스크톱(≥768px)의 6단 메가메뉴는 전혀 건드리지 않는다.
   되돌리기 : 이 블록과 site_v2.js 의 같은 작업번호 블록을 지우면 원래대로 돌아간다.
   ========================================================================== */
@media all and (max-width:1199px) {

	/* ★부모 .gnbWrap 이 position:relative + z-index:600 이라 «쌓임 맥락» 을 만든다.
	   그 안에서 패널에 z-index:10000 을 줘도 바깥 .utilWrap(z-index:700) 을 못 이겨,
	   전체화면 시트 위로 상단 유틸바(LOGIN/JOIN US…)가 겹쳐 보였다(2026-09-04 실측).
	   폰에서만 .gnbWrap 자체의 z-index 를 올려 맥락째로 맨 위로 올린다. */
	.gnbWrap { z-index: 10000 !important; }

	/* 패널 자체 = 전체화면 시트 */
	.allMenuBox {
		position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
		width: auto !important; max-width: none !important; min-width: 0 !important;
		margin: 0 !important; padding: 0 !important; border: 0 !important;
		background: #fff !important; z-index: 10000 !important;
		height: auto !important; max-height: 100% !important; overflow-y: auto !important; overflow-x: hidden !important;
		-webkit-overflow-scrolling: touch;
		box-sizing: border-box;
	}
	html.pm-cate-open, html.pm-cate-open body { overflow: hidden !important; }

	/* 고정 1200 폭 3중 래퍼(.submenu1_in > .swiper-container > .inDepthWrap) 해제 */
	.allMenuBox .submenu1_in,
	.allMenuBox .swiper-container,
	.allMenuBox .inDepthWrap,
	.allMenuBox .swiper-wrapper {
		display: block !important; float: none !important;
		width: 100% !important; max-width: 100% !important; min-width: 0 !important;
		margin: 0 !important; padding: 0 !important; overflow: visible !important;
		box-sizing: border-box; text-align: left !important;
	}

	/* 머리줄 (JS 가 넣는다) */
	.allMenuBox .pm-cate-hd {
		position: sticky; top: 0; z-index: 3;
		display: flex; align-items: center; justify-content: space-between;
		height: 52px; padding: 0 4px 0 16px; box-sizing: border-box;
		background: #523787; color: #fff; font-size: 16px; font-weight: 700;
	}
	.allMenuBox .pm-cate-hd .pm-cate-x {
		width: 48px; height: 48px; flex: 0 0 48px; border: 0; background: none;
		color: #fff; font-size: 20px; line-height: 1; cursor: pointer;
		-webkit-tap-highlight-color: transparent;
	}

	/* 대분류 한 줄 = 한 칸 */
	.allMenuBox div div.depth1_box {
		float: none !important; display: block !important;
		width: 100% !important; max-width: 100% !important;
		padding: 0 !important; margin: 0 !important;
		border: 0 !important; border-bottom: 1px solid #ececf2 !important;
		box-sizing: border-box; vertical-align: baseline !important;
	}
	.allMenuBox div div.depth1_box:first-child { border-left: 0 !important; }

	.allMenuBox div div.depth1_box strong.depth1,
	.allMenuBox div div.depth1_box > strong {
		display: flex !important; align-items: center;
		margin: 0 !important; padding: 0 4px 0 16px !important;
		min-height: 52px; line-height: 1.35 !important; font-size: 15px !important;
	}
	.allMenuBox div div.depth1_box strong a {
		flex: 1 1 auto; min-width: 0; display: block;
		padding: 14px 8px 14px 0; color: #26262c !important; font-size: 15px !important;
		font-weight: 700; text-decoration: none; word-break: break-all;
	}
	/* 소분류 펼치기 화살표 */
	.allMenuBox .pm-cate-tg {
		flex: 0 0 44px; width: 44px; height: 44px; border: 0; background: none;
		display: flex; align-items: center; justify-content: center;
		color: #8a8a95; cursor: pointer; -webkit-tap-highlight-color: transparent;
	}
	.allMenuBox .pm-cate-tg svg { width: 20px; height: 20px; transition: transform .18s ease; }
	.allMenuBox div div.depth1_box.is-open .pm-cate-tg svg { transform: rotate(180deg); }
	.allMenuBox div div.depth1_box.is-open > strong.depth1 a { color: #523787 !important; }

	/* 소분류 = 2단 그리드, 접힘이 기본 */
	.allMenuBox div div.depth1_box > ul { display: none !important; }
	.allMenuBox div div.depth1_box.is-open > ul {
		display: grid !important; grid-template-columns: 1fr 1fr; column-gap: 10px;
		margin: 0 !important; padding: 2px 14px 12px !important;
		background: #f7f7fa; line-height: 1.4 !important; list-style: none;
	}
	.allMenuBox div div.depth1_box > ul > li { padding: 0 !important; float: none !important; }
	.allMenuBox div div.depth1_box > ul > li a {
		display: block; padding: 10px 2px; font-size: 13.5px !important; color: #55555f !important;
		text-decoration: none; word-break: break-all;
	}
	/* 소분류가 없는 대분류는 화살표 자리를 비운다 */
	.allMenuBox div div.depth1_box.pm-no-sub .pm-cate-tg { display: none; }
}

/* ==========================================================================
   폰 푸터 — 주소·사업자정보·에스크로 배너 잘림 수정   2026-09-04 [PD2609040030]
   ---------------------------------------------------------------------------
   문제 : 푸터 아래쪽 블록이 «데스크톱 1200px 절대배치» 그대로였다.
          <code>.footer .adrCopyright { height:250px; overflow:hidden }</code> 로 «높이가 250px 에
          못박혀» 있고, 그 안의 .footlogo / .footCopyright / .footlogo2 / .SNS 는 전부
          <code>position:absolute</code> + <code>margin-left:265px|730px</code> · <code>right:0</code> 이다.
          폰에서는 글이 여러 줄로 늘어 내용이 270px 이 되는데 상자는 250px 이라
          <b>구매안전(에스크로) 서비스 배너가 반쯤 잘려</b> 나왔다(사용자 캡처).
          서브페이지는 더 나쁘다 — 절대배치가 그대로라 .contAuto 높이가 0 이 되고
          로고·주소·배너가 서로 겹친 채 250px 상자 밖으로 잘려 나갔다.
   조치 : 폰(≤767px)에서만
          ① .footer / form / .adrCopyright / .contAuto 의 «고정 높이와 overflow:hidden» 해제
          ② 절대배치 4형제(.footlogo · .footCopyright · .footlogo2 · .SNS)를 흐름 배치로 되돌려
             위에서 아래로 가운데 정렬 스택
          ③ 하단 고정 탭바에 마지막 줄이 가리지 않도록 아래 여백을 60px → 78px 로 넓힘
   ★범위 : 폰에서만. 데스크톱(≥768px) 푸터는 전혀 건드리지 않는다.
   ========================================================================== */
@media all and (max-width:1199px) {
	/* ① 못박힌 높이·클리핑 해제 — 이게 「잘림」의 직접 원인이다 */
	.footer,
	.footer form,
	.footer .adrCopyright,
	.footer .adrCopyright .contAuto {
		height: auto !important; min-height: 0 !important;
		overflow: visible !important;
	}
	.footer .adrCopyright { padding: 18px 0 22px !important; box-sizing: border-box; }
	.footer .adrCopyright .contAuto {
		position: relative !important; display: block !important;
		padding: 0 14px !important; box-sizing: border-box; text-align: center;
	}

	/* ② 절대배치 4형제 → 세로 스택 (margin-left:265px·730px, right:0 을 모두 무효화) */
	.footer .adrCopyright .footlogo,
	.footer .adrCopyright .footlogo2,
	.footer .adrCopyright .footCopyright,
	.footer .adrCopyright .SNS {
		position: static !important;
		top: auto !important; left: auto !important; right: auto !important; bottom: auto !important;
		float: none !important; width: 100% !important; max-width: 100% !important;
		margin: 0 0 12px !important; padding: 0 !important;
		box-sizing: border-box; text-align: center;
	}
	.footer .adrCopyright .footlogo img,
	.footer .adrCopyright .footlogo2 img { max-width: 210px; height: auto; }
	.footer .adrCopyright .footCopyright {
		line-height: 1.65 !important; font-size: 12px; word-break: keep-all;
	}
	.footer .adrCopyright .SNS { margin-bottom: 0 !important; font-size: 0; }
	.footer .adrCopyright .SNS a { display: inline-block; margin: 0 !important; }
	.footer .adrCopyright .SNS img { margin: 0 !important; max-width: 100%; height: auto; }
	/* 사업자정보확인 버튼이 글줄 사이에서 눌리기 쉽게
	   ★2026-09-04 [PD2609040130] 세로 위치 보정 — 이 버튼은 사업자 정보 «글줄 안»에 끼어
	   있는 inline-block 이다. 예전 값(margin 4px + line-height 20px + padding 2px)은 버튼
	   높이를 26px 로 만들어, 19.8px 짜리 글줄보다 커진 만큼 아래로 삐져나와 옆 글자와
	   높이가 안 맞고 윗줄을 덮었다. 게다가 원본이 vertical-align:top 이라 어긋남이 더 컸다.
	   → 글줄 높이에 맞춰 낮추고 vertical-align:middle 로 «글줄 한가운데»에 놓는다. */
	.footer .footCopyrightbtn {
		display: inline-block;
		margin: 0 0 0 4px !important; padding: 0 8px !important;
		line-height: 18px !important; vertical-align: middle !important;
	}

	/* 푸터 링크바(1:1친절상담·이용약관·개인정보보호방침·제휴문의·배송결제안내·이용안내)
	   원본은 <code>justify-content:flex-end</code> 한 줄이라 폰에서 오른쪽이 잘렸다.
	   (메인은 main_resp_v2.css 가 이미 고쳐놨지만 서브페이지는 그대로였다 — 실측 확인) */
	.footer .links { padding: 10px 0 !important; overflow: hidden; }
	.footer .links .contAuto {
		display: flex !important; flex-wrap: wrap !important;
		justify-content: center !important; align-items: center;
		gap: 6px 14px !important; padding: 6px 10px !important;
		text-align: center; box-sizing: border-box;
	}
	.footer .links .contAuto > a { position: static !important; float: none !important; margin: 0 !important; white-space: nowrap; }

	/* ④ 서브페이지 보정 (2026-09-04 767px 실측)
	   ⓐ .footer .links / .adrCopyright / form 에 폭 100% 를 못 박지 않으면 .adrCopyright 가
	     데스크톱 1200px 로 남아 오른쪽이 화면 밖으로 나간다(메인은 main_resp_v2.css 가 이미
	     하고 있었는데 서브 전용인 이 파일엔 빠져 있었다).
	   ⓑ 아래 여백은 .wrap_body 가 아니라 «body» 에 준다 — /cscenter/faq.asp 처럼
	     .wrap_body 로 감싸지 않는 페이지가 있어, .wrap_body 에만 주면 그런 페이지에서
	     에스크로 배너가 하단 탭바에 그대로 가려졌다(실측). */
	.footer .links,
	.footer .adrCopyright,
	.footer form {
		width: 100% !important; max-width: 100% !important; min-width: 0 !important;
		box-sizing: border-box;
	}
	html body { padding-bottom: calc(78px + env(safe-area-inset-bottom, 0px)) !important; }
	html body .wrap_body { padding-bottom: 0 !important; }
}

/* ==========================================================================
   폰 고객센터(FAQ) 본문 — 좌측 빈여백·우측 쏠림 수정   2026-09-04 [PD2609040050]
   ---------------------------------------------------------------------------
   문제 (390px 실측) : /cscenter/faq.asp 는 데스크톱 «좌측 LNB + 우측 본문» 2단 구조를
     폰에서도 그대로 쓰고 있었다.
       .LeftWrapSize  → float:left,  폭 16%(390px 화면에서 62px) · 내용은 거의 비어 있음
       .PageWrapSize  → float:right, 폭 76.8%(300px) + margin-left:24px
     그래서 왼쪽에 <b>62 + 24 = 86px 짜리 빈 칸</b>이 생기고 본문은 300px 로 눌려
     오른쪽으로 쏠렸다 — 실측 본문 왼여백 <b>90px</b> / 오른여백 <b>17px</b>(글자는 화면 오른쪽
     끝에 붙음).
   조치 : 폰(≤767px)에서만 이 2단을 세로 스택으로 푼다.
     · float 해제 + 폭 100% → 본문이 화면 전체를 쓴다
     · 좌우 12px 안전 여백을 줘 글자가 화면 끝에 붙지 않게 한다
     · 비어 있는 LNB 칸은 높이 0 이라 자연히 사라진다(내용이 있으면 본문 위에 쌓인다)
   ★적용 범위를 좁게 잡았다 : <code>.LeftWrapSize ~ .PageWrapSize</code> 라 «LNB 가 실제로 있는»
     2단 페이지에만 걸린다. /product/sublist.asp 처럼 .PageWrapSize 만 단독으로 쓰는
     페이지(이미 폭 100%·L0 로 정상)는 건드리지 않는다 — 12개 서브페이지 실측으로 확인.
   ★범위 : 폰에서만. 데스크톱(≥768px) 2단 레이아웃은 전혀 건드리지 않는다.
   ========================================================================== */
@media all and (max-width:1199px) {
	/* 좌측 LNB 칸 : float 해제 · 폭 100% (비어 있으면 높이 0 이라 보이지 않는다) */
	.LeftWrapSize {
		float: none !important; width: 100% !important; max-width: 100% !important;
		min-width: 0 !important; margin: 0 !important; box-sizing: border-box;
	}
	/* 그 뒤의 본문 칸 : float 해제 · 폭 100% · 좌우 안전여백 */
	.LeftWrapSize ~ .PageWrapSize {
		float: none !important; width: 100% !important; max-width: 100% !important;
		min-width: 0 !important; margin: 12px 0 0 !important;
		padding: 0 12px !important; box-sizing: border-box;
	}
	/* 안쪽 래퍼들도 폭 고정이 남지 않게 */
	.LeftWrapSize ~ .PageWrapSize > .sub_contents,
	.LeftWrapSize ~ .PageWrapSize .right_section,
	.LeftWrapSize ~ .PageWrapSize .right_cont {
		width: 100% !important; max-width: 100% !important; min-width: 0 !important;
		margin-left: 0 !important; margin-right: 0 !important; box-sizing: border-box;
	}
}

/* 아주 좁은 폰(≤430px)에서는 로고를 조금 더 줄여 검색창이 로고 옆에 그대로 남게 한다.
   2026-09-04 [PD2609040090] */
@media all and (max-width:430px) {
	.logoSearch .logo img { max-width: 120px; }
	.logoSearch .search { flex: 1 1 140px; }
	.logoSearch .search input[type="text"], .logoSearch .search .inputTxt { font-size: 12px; padding: 0 10px !important; }
}

/* ==========================================================================
   폰 상품상세(product/content.asp) — 구매 영역이 화면 밖으로 나가던 문제
                                                2026-09-04 [PD2609040100]
   ---------------------------------------------------------------------------
   문제 (426px·390px 실측, 사용자 캡처) : 상품상세는 데스크톱 «좌 이미지 500px +
     우 구매폼» 2단 레이아웃을 폰에서도 그대로 쓰고 있었다.
       .productInfo .img_box   → float:left; width:500px  (화면폭보다 넓다)
       .productInfo .infoWrap  → padding-left:500px       (★진짜 원인)
     폰 폭 390px 에서 왼쪽 패딩만 500px 이라 구매폼의 «내용상자 폭이 0» 이 되고,
     상품명·가격·옵션·총금액·장바구니/구매하기 버튼이 통째로 x=524~ 즉 «화면 밖»
     으로 밀렸다. .wrap_body 의 overflow-x:hidden 이 그걸 잘라내서, 사용자에게는
     「이미지 아래가 커다란 빈 칸」 으로만 보였다(오류도 안 나서 원인을 찾기 어렵다).
   조치 : 폰(≤767px)에서만
     ① 남아 있던 고정 1200px 잔재(#basisBody · .location .locationBox)를 100% 로
     ② 2단(이미지|구매폼)을 세로 스택으로 풀고, 데스크톱용 큰 글자(상품명 28px ·
        가격 40px)를 폰 크기로 줄인다
     ③ 선택옵션 카드의 수량조절·금액은 position:absolute(right:30px) 라 좁은 폭에서
        상품명과 겹치므로 흐름배치(flex)로 되돌린다
     ④ 하단 탭메뉴(상세정보·상품문의·배송/교환·반품·상품평)와 그 안 게시판 표,
        상품평 머리 요약(15%/10%/75% 3단)을 폰 폭에 맞춘다
   ★범위 : 폰에서만. 데스크톱(≥768px) 상품상세는 전혀 건드리지 않는다.
     데스크톱 전용인 플로팅 구매카드(.pd-fcard)는 원래 1221px 이상에서만 켜지므로
     이 블록과 겹치지 않는다.
   되돌리기 : 이 블록을 지우면 원래대로 돌아간다.
   ========================================================================== */
@media all and (max-width:1199px) {

	/* ── ① 페이지에 남은 「고정 1200px」 잔재 ─────────────────────────── */
	.wrap_body table#basisBody { width: 100% !important; max-width: 100% !important; }

	/* 상단 경로줄(홈 > 대분류 > 중분류 > 소분류). 메인스타일 템플릿의
	   .location .locationBox{width:1200px} 때문에 폰에서는 통째로 화면 밖에 있었다.
	   (사용자 캡처의 「GNB 와 상품이미지 사이 빈 흰 띠」가 이것이다) */
	.location .locationBox {
		width: 100% !important; max-width: 100% !important; box-sizing: border-box;
		margin: 0 !important; padding: 6px 12px !important;
		display: flex !important; flex-wrap: wrap; align-items: center;
		justify-content: flex-start !important; gap: 6px;
		text-align: left !important; line-height: 1.3 !important;
	}
	.location .locationBox > a { flex: 0 0 auto; margin: 0 !important; }
	.location .locationBox .ui-selectmenu-button {
		flex: 1 1 calc(50% - 18px); width: auto !important;
		min-width: 0 !important; max-width: 100% !important;
		margin: 0 !important; box-sizing: border-box;
	}
	.location .locationBox .ui-selectmenu-button .ui-selectmenu-text {
		width: auto !important; margin-right: 22px !important; font-size: 13px;
		white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
	}

	/* ── ② 상품상세 카드 : 좌 이미지 + 우 구매폼 2단 → 세로 스택 ───────── */
	.productInfo { padding: 0 !important; overflow: visible !important; }

	.productInfo .img_box { float: none !important; width: 100% !important; }
	.productInfo .img_box .img,
	.productInfo .img_box .img li,
	.productInfo .img_box .img li span.cutImgBox2 { width: 100% !important; }
	.productInfo .img_box .img li img { width: 100% !important; height: auto !important; }
	.productInfo .img_box .simg { width: 100% !important; margin: 12px 0 !important; }
	.productInfo .img_box .swiper-button-next,
	.productInfo .img_box .swiper-button-prev { top: auto !important; bottom: 96px !important; }

	.productInfo .infoWrap { padding-left: 0 !important; }
	.productInfo .infoWrap .infoBox { padding: 14px 14px 20px !important; }

	/* 데스크톱용 큰 글자(28px 상품명 · 40px 가격)를 폰 크기로 */
	.productInfo .infoWrap .infoBox h2 { font-size: 20px !important; line-height: 1.35 !important; }
	.productInfo .infoWrap .infoBox h2 .newdname { font-size: 13px !important; }
	.productInfo .infoWrap .infoBox .goods_subT { font-size: 13.5px !important; line-height: 1.5 !important; }
	.productInfo .infoWrap .infoBox .prd_mkprc { font-size: 17px !important; line-height: 1.3 !important; }
	.productInfo .infoWrap .infoBox .prd_prc { font-size: 26px !important; line-height: 1.35 !important; }
	.productInfo .infoWrap .infoBox .prd_prc span.prd_prc_txt { font-size: 15px !important; }
	.productInfo .infoWrap .infoBox .prd_prc em { font-size: 26px !important; }

	/* ③ 선택한 옵션 카드 — 수량조절(.count_control)·금액(.prc)이 absolute(right:30px)
	   라 좁은 폭에서 상품명과 겹친다. 흐름배치로 되돌려 「이름 / 수량 · 금액」 두 줄로 */
	.productInfo .optList .selected_option {
		display: flex !important; flex-wrap: wrap; align-items: center;
		gap: 8px 10px; padding: 14px !important;
	}
	.productInfo .optList .selected_option .neme { flex: 1 1 100%; }
	.productInfo .optList .selected_option .neme .pTit { padding-right: 0 !important; }
	.productInfo .optList .selected_option .count_control {
		position: static !important; right: auto !important; top: auto !important; flex: 0 0 auto;
	}
	.productInfo .optList .selected_option .prc {
		position: static !important; right: auto !important; top: auto !important;
		margin-left: auto !important; flex: 0 0 auto;
	}
	.productInfo .optList .selected_option .btn_delete { top: 10px !important; right: 8px !important; }

	.productInfo .infoBox .total_price { padding-right: 0 !important; line-height: 1.6 !important; }
	.productInfo .infoBox .total_price span em { font-size: 24px !important; }

	/* 찜 · 장바구니 · 구매하기 — 높이 70px/글자 18px/아이콘 35px 은 폰에서 두 줄로 깨진다 */
	.productInfo .infoBox .btn_area { gap: 6px; }
	.productInfo .infoBox .btn_area a {
		height: 54px !important; line-height: 52px !important;
		font-size: 15px !important; margin-left: 0 !important;
	}
	.productInfo .infoBox .btn_area a:first-child { width: 64px !important; flex: 0 0 64px !important; }
	.productInfo .infoBox .btn_area a .iconfont { font-size: 20px !important; margin: -2px 4px 0 0 !important; }

	/* ── ④ 하단 탭메뉴(상세정보 · 상품문의 · 배송/교환·반품 · 상품평) ──── */
	/* ★content_v2.css 가 「.product_detail .tab01 > a{font-size:17px !important}」 를
	   이 파일 «뒤에» 로드해서 같은 특이도로는 진다 → .wrap_body 를 앞에 붙여 특이도를 올린다 */
	.wrap_body .product_detail .tab01 > a {
		font-size: 13px !important; line-height: 1.3 !important;
		padding: 6px 2px !important; word-break: keep-all;
	}
	.wrap_body .product_detail .tab01 > a span { font-size: 13px !important; margin-left: 1px !important; }
	.product_detail .tab01,
	.product_detail .tab01_cont { padding-left: 10px !important; padding-right: 10px !important; }

	/* 탭 안 게시판 표(상품문의·상품평) — 5칸이라 「번호」·「작성자」가 세로로 쪼개졌다 */
	.tab01_cont table.board_list { font-size: 12.5px !important; margin-top: 18px !important; }
	.tab01_cont table.board_list th {
		padding: 10px 2px !important; font-size: 12px !important; white-space: nowrap;
	}
	.tab01_cont table.board_list td {
		padding: 12px 3px !important; font-size: 12.5px !important; word-break: break-all;
	}
	.tab01_cont table.board_list tr.board_qa_box td .questions,
	.tab01_cont table.board_list tr.board_qa_box td .answers { padding: 24px 14px 16px 46px !important; }
	.tab01_cont .btn_board_right02 a { font-size: 13px !important; }

	/* 상품평 머리 요약 — Reviews 15% / 점수 10% / 사진 75% 3단이라 글자가 겹쳤다 */
	.reviwe_top_box { padding: 16px 14px !important; margin-bottom: 20px !important; }
	.reviwe_top_box .poto_link { font-size: 13px !important; }
	.reviwe_top_box .reviwe_top { display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
	.reviwe_top_box .reviwe_top > div.Reviews {
		width: auto !important; flex: 0 0 auto; text-align: left !important;
	}
	.reviwe_top_box .reviwe_top > div.total_score {
		width: auto !important; flex: 0 0 auto; font-size: 24px !important;
	}
	.reviwe_top_box .reviwe_top > div.img_list {
		width: 100% !important; flex: 1 1 100%; height: auto !important; text-align: left !important;
	}
	.reviwe_top_box .reviwe_top > div.img_list span.img { width: 88px !important; height: 88px !important; }
}


/* ==========================================================================
   우측 공용 아이콘메뉴(#right_bn_wrap)가 본문을 덮던 문제   2026-09-04 [PD2609040110]
   ---------------------------------------------------------------------------
   증상 : 창을 좁히면 오른쪽에 항상 떠 있는 세로 아이콘메뉴(로그인·장바구니·마이페이지·
          최근본상품·TOP)가 본문 위로 올라와 상품 슬라이더 마지막 칸, 상품문의 표의
          「답변」칸, 「나의글」 버튼 같은 것들을 가렸다.

   원인 : 이 메뉴는 <code>position:fixed; right:0; width:75px</code> 으로 «창 오른쪽 끝»에
          붙는다(base.css). 그런데 본문은 <code>.contAuto</code> 가 <b>1200px 고정폭</b>이라
          창을 줄여도 좁아지지 않는다. 그래서 창이 «1200 + 75×2 = 1350px» 보다 좁아지는
          순간부터 메뉴가 본문 오른쪽을 그대로 덮기 시작한다.
          실측(상품상세 기준) — 1400px 겹침 0 · 1350px 겹침 0 · 1280px 35px ·
          1200px 75px · 1024px 251px · 834px 441px · 768px 507px.

   조치 : 자리가 없는 폭(≤1349px)에서는 이 메뉴를 감춘다. 1350px 이상에서는 예전 그대로다.
          · 감춰도 기능은 그대로 남는다 — 로그인·장바구니·마이페이지는 상단 유틸바에,
            최근본상품은 마이페이지에 있고, TOP 은 스크롤로 대신한다.
          · 폰(≤767px)에서는 이미 감추고 있었다(위 767px 블록) — 그 규칙과 이어져
            «본문을 덮지 않는 폭에서만 보인다» 로 규칙이 하나가 된다.
          · 상품상세 플로팅 구매카드(.pd-fcard)는 이 메뉴의 실제 좌표를 읽어 자리를
            잡는데(site_v2.js toolbarLeftEdge), 숨겨지면 폭 0 으로 읽혀 창 오른쪽 기준으로
            자동 복귀한다 — 따로 손댈 것이 없다.

   되돌리기 : 이 블록만 지우면 예전처럼 전 폭에서 메뉴가 뜬다.
   ========================================================================== */
@media (max-width: 1349px) {
	#right_bn_wrap { display: none !important; }
}


/* ==========================================================================
   반응형 분기점 확장 — 767px → 1199px   2026-09-04 [PD2609040120]
   ---------------------------------------------------------------------------
   왜 : 창을 줄여도 768~1199px 구간에서는 반응형이 «전혀 걸리지 않아» 데스크톱
        1200px 고정 레이아웃이 그대로 나왔다(가로 스크롤 + 오른쪽이 잘림).
        위의 모든 @media 블록 분기점을 max-width:767px → max-width:1199px 로 넓혔다.
        1200px 이상(본문 1200px 이 온전히 들어가는 폭)에서만 예전 데스크톱 그대로다.
   여기서는 : 폰 기준으로 잡아둔 몇몇 «최대폭»만 넓은 창에 맞게 키운다.
   ========================================================================== */
@media all and (min-width:768px) and (max-width:1199px) {
	/* 로고·검색창은 폰 기준(170px / 340px)이라 넓은 창에서 왼쪽에 몰려 보인다 */
	.logoSearch .logo img { max-width: 220px !important; }
	.logoSearch .search { max-width: 520px !important; }
	.logoSearchWrap { padding: 12px 20px !important; }
	.utilWrap .utilBox { padding-left: 20px !important; padding-right: 20px !important; }

	/* 본문 좌우 안전여백도 조금 더 */
	.LeftWrapSize ~ .PageWrapSize { padding: 0 20px !important; }
	.location .locationBox { padding: 8px 20px !important; }
}

/* ★2026-09-04 [PD2609040120-b] 히어로 왼쪽에 세로 카테고리 목록이 겹쳐 보이던 것.
   원본 .sTextCte 는 «position:absolute; left:50%; margin-left:-600px» 로 1200px 기준
   왼쪽 끝에 붙이는 방식이라, 창이 1200px 보다 좁으면 화면 안쪽으로 들어와 배너 위에
   글자만 걸쳐 보인다(폰에서는 -405px 로 화면 밖이라 우연히 안 보였을 뿐이다).
   같은 목록이 상단 「전체보기」 카테고리 메뉴에 그대로 있으므로 좁은 폭에서는 감춘다. */
@media all and (max-width:1199px) {
	.sTextCte { display: none !important; }
}

/* ==========================================================================
   본문(에디터) 표가 좁은 화면에서 깨지고 «너무 크게» 나오던 문제
   2026-09-04 [PD2609040140] · 같은 날 재작업 [PD2609040140-b]
   ---------------------------------------------------------------------------
   증상 : 회사소개(page.asp?uid=419) 「주요납품병원」 4열 표가 좁은 폭에서
          ① 셀 글씨가 본문 글씨보다 크고 ② 표 자체가 세로로 너무 컸다.

   원인 (실측) : 이 표는 «엑셀에서 붙여넣은» 표다.
     ① 셀 글씨가 <span style="font-size:x-large"> = 24px 로 박혀 있다.
        본문 다른 글씨는 16px 이라 표 안만 유독 크다.
     ② ★행 높이가 인라인으로 못박혀 있다 —
        <tr style="height:97.5pt">(=130px) + <td height="130">.
        그래서 «글씨를 줄여도 표 높이는 그대로»였다(3행 x 131px = 394px 고정).
        1차 수정에서 글씨만 줄였던 것이 이 때문에 효과가 없어 보였다.
     ③ 셀 폭도 인라인 px(176.62 / 264.37 / 233 / 185 = 859px)로 지정돼 있고,
        commonTotal.css 의 .FnCompanyinfo table{width:100%!important} 가 표를
        화면 폭까지 늘린다.

   조치 (≤1199px 에서만) :
     ① 글씨를 «본문 글씨(16px)를 넘지 않게» 화면 폭에 맞춰 줄인다(clamp).
        엑셀 표는 크기를 키워드로 쓰므로 키워드별로 잡는다.
        ★[style*="large"] 는 x-large·xx-large 에도 걸리므로 «작은 것 → 큰 것»
          순서로 써서 뒤엣것이 이기게 한다(특이도가 같다).
     ② 행·셀의 못박힌 높이를 풀어(height:auto) 내용만큼만 차지하게 한다.
        빈 칸이 납작해지지 않게 셀에 최소 여백을 준다.
     ③ 표가 화면을 넘지 않게 하는 안전망(max-width·이미지).

   ★범위 : 반응형(≤1199px)에서만. 데스크톱(≥1200px)은 원래 크기 그대로다.
   되돌리기 : 이 블록만 지우면 예전 그대로다.
   ========================================================================== */
@media all and (max-width:1199px) {
	#tbContent table, .FnCompanyinfo table { max-width: 100% !important; }
	#tbContent table img, .FnCompanyinfo table img { max-width: 100% !important; height: auto !important; }

	/* ② 엑셀이 못박아 둔 행·셀 높이 해제 (이게 「표가 너무 크다」의 진짜 원인이었다) */
	#tbContent table tr, .FnCompanyinfo table tr,
	#tbContent table td, .FnCompanyinfo table td,
	#tbContent table th, .FnCompanyinfo table th {
		height: auto !important; min-height: 0 !important;
	}
	#tbContent table td, .FnCompanyinfo table td,
	#tbContent table th, .FnCompanyinfo table th {
		padding: 8px 6px !important; line-height: 1.4 !important; vertical-align: middle !important;
	}

	/* ① 글씨 축소 — 본문 글씨(16px)를 넘지 않게. 작은 것 → 큰 것 순서 (뒤엣것이 이긴다) */
	#tbContent table [style*="font-size: small"],
	#tbContent table [style*="font-size:small"]      { font-size: clamp(10px, 2.0vw, 12px) !important; }
	#tbContent table [style*="font-size: medium"],
	#tbContent table [style*="font-size:medium"]     { font-size: clamp(11px, 2.4vw, 14px) !important; }
	#tbContent table [style*="font-size: large"],
	#tbContent table [style*="font-size:large"]      { font-size: clamp(11px, 2.6vw, 15px) !important; }
	#tbContent table [style*="font-size: x-large"],
	#tbContent table [style*="font-size:x-large"]    { font-size: clamp(12px, 3.0vw, 16px) !important; }
	#tbContent table [style*="font-size: xx-large"],
	#tbContent table [style*="font-size:xx-large"]   { font-size: clamp(14px, 3.6vw, 18px) !important; }
}


/* ==========================================================================
   푸터는 좁은 화면에서 «전부 가운데»   2026-09-04 [PD2609040150]
   ---------------------------------------------------------------------------
   증상 : 로고·주소·Copyright 는 가운데인데 「구매안전(에스크로) 서비스」(KCP 배너)만
          오른쪽에 붙어 푸터 정렬이 틀어져 보였다.

   원인 : 이미 <code>.footer .adrCopyright .SNS { text-align:center }</code> 를 주고 있었는데
          <b>!important 를 안 붙였다.</b> 디자인관리 템플릿이 body 안에서 쏟아내는
          인라인 <style> 의 <code>.footer .contAuto .SNS { text-align:right }</code> 와
          <b>특이도가 같고(0,3,1) 그쪽이 뒤에 오기 때문에</b> 템플릿이 이긴다.
          (같은 규칙의 position·float·width 는 !important 가 있어 이겼는데 text-align 만
           빠져 있었다 — 그래서 「자리는 가운데인데 안쪽 배너만 오른쪽」이 됐다.)

   조치 : 푸터 정렬은 «가운데»로 못박는다(!important). 앞으로 템플릿이 무엇을 주든
          좁은 화면에서는 푸터가 가운데로 선다. 안쪽 요소의 float 도 함께 푼다.

   ★범위 : 반응형(≤1199px)에서만. 데스크톱(≥1200px)은 원래 배치 그대로다.
   되돌리기 : 이 블록만 지우면 예전 그대로다.
   ========================================================================== */
@media all and (max-width:1199px) {
	.footer,
	.footer .adrCopyright,
	.footer .adrCopyright .contAuto,
	.footer .contAuto,
	.footer .adrCopyright .footlogo,
	.footer .adrCopyright .footlogo2,
	.footer .adrCopyright .footCopyright,
	.footer .adrCopyright .SNS,
	.footer .contAuto .SNS,
	.footer .links,
	.footer .links .contAuto {
		text-align: center !important;
	}
	/* 배너·로고가 한쪽에 붙지 않게 */
	.footer .adrCopyright .SNS > *,
	.footer .contAuto .SNS > *,
	.footer .adrCopyright .footlogo > *,
	.footer .adrCopyright .footlogo2 > * {
		float: none !important;
		margin-left: auto !important; margin-right: auto !important;
	}
}
