@charset "utf-8";
/* ============================================================
   CH Harmony B2B  거래처 화면 공통 스타일
   2026-09-02 최초 작성

   적용 대상 : 주문현황 / 주문하기 / 장바구니   (B2B 사이트 전용)
   불러오기  : <link rel="stylesheet" href="/shop/shop_ui.css?v=YYYYMMDD">

   원칙
     - 모양만 바꾼다. 정보·버튼·기능은 건드리지 않는다.
     - 색·여백을 바꿀 일이 생기면 아래 [기준값] 만 고친다.
     - 다른 10개 사이트(AGPN·nols·onsi 등)에는 적용하지 않는다.
   ============================================================ */

/* ---------- [기준값] ---------------------------------------
   테두리   #d3dae1      머리글 바탕 #eef3f7
   본문글자 #2b3540      옅은글자   #66788a / #7b8894
   강조(파랑) #2b7a9b    금액(주황) #b45309   발송완료(초록) #0f7b52
   경고(빨강) #c0392b
   ----------------------------------------------------------- */

/* ===== 바탕색 =====
   이 두 화면만 /admin/inc/inc_Head.asp 를 거쳐 chharmony.css 를 부르는데,
   거기 body 배경(#F1F5F9)이 <body bgcolor="#FFFFFF"> 를 덮어쓴다
   (CSS 가 태그 속성보다 우선). 그래서 좌측 메뉴 뒤가 회청색으로 비쳤다.
   발송현황 등 다른 화면은 그 파일을 안 불러 흰색이다. 여기서 되돌린다. */
body { background-color:#ffffff }

/* ===== 입력 요소 공통 ===== */
input[type=text] { height:26px }
input[type=date] { height:26px }

/* ===== 검색 버튼 =====
   2026-09-02 : 배경 지정이 없어 평소엔 브라우저 기본 회색이었고
   :hover 에서만 흰색이라, 눌러야 할 버튼으로 보이지 않았다.
   평소에 파란색으로 두고 올리면 진해지도록 뒤집었다. */
.btn_search {
  background:#2b7a9b; color:#ffffff; border:0; border-radius:5px;
  height:60px; width:100px; font-size:14px; font-weight:bold;
  letter-spacing:.06em; cursor:pointer; box-shadow:0 1px 2px rgba(0,0,0,.18);
}
.btn_search:hover  { background:#215f79 }
.btn_search:active { background:#1a4c62; box-shadow:none }

/* ===== 바깥 틀 / 요약 표 =====
   2026-09-02 : bgcolor='skyblue' + cellspacing=1 로 테두리를 흉내내던
   방식을 실선으로 바꿨다. 색·굵기를 조절할 수 없고 배율에 따라
   들쭉날쭉했기 때문. */
table.ordBox { border-collapse:collapse; border-spacing:0; background:#fff }
table.ordBox > tbody > tr > td { background:#fff; padding:0 }

table.ordSum {
  border-collapse:collapse; border-spacing:0; background:#fff;
  border:1px solid #d3dae1; border-radius:5px; overflow:hidden; margin:8px 0;
}
table.ordSum td {
  background:#f7fafc; border-right:1px solid #e6ecf1; text-align:center;
  padding:11px 8px; font-size:12.5px; color:#54636f;
}
table.ordSum td:last-child { border-right:0 }
table.ordSum td:nth-child(even) {
  background:#fff; color:#1f2d38; font-weight:700; font-variant-numeric:tabular-nums;
}

/* ============================================================
   주문현황  (shop/in_order_list.asp)
   ============================================================ */
#inOrdTbl {
  background:#fff; border-collapse:collapse; border-spacing:0;
  border:1px solid #d3dae1; width:100%; table-layout:fixed;
  font-size:13px; border-radius:5px; overflow:hidden;
}
#inOrdTbl td {
  border:0; border-bottom:1px solid #edf1f4; padding:11px 9px;
  background:transparent; vertical-align:top; line-height:1.55;
  color:#2b3540; word-break:break-word;
}
#inOrdTbl tr:first-child td {
  background:#eef3f7; border-bottom:2px solid #c5d2db; color:#2f4552;
  font-size:12.5px; letter-spacing:.03em; padding:12px 9px;
  text-align:center; vertical-align:middle;
}
#inOrdTbl tr:not(:first-child):hover td { background:#f5fafc }

/* 열 너비 — 합 100%.  송장번호가 길면 열이 밀리던 문제 때문에 고정한다. */
#inOrdTbl td:nth-child(1) { width:5%;  text-align:center; color:#7b8894 }
#inOrdTbl td:nth-child(2) { width:10%; text-align:center; white-space:nowrap;
                            color:#54636f; font-size:12.5px }
#inOrdTbl td:nth-child(3) { width:27% }
#inOrdTbl td:nth-child(4) { width:8%;  text-align:center; color:#66788a; font-size:12.5px }
#inOrdTbl td:nth-child(5) { width:16%; text-align:right;
                            font-variant-numeric:tabular-nums; font-weight:700 }
#inOrdTbl td:nth-child(6) { width:12%; text-align:center; font-size:12px }
#inOrdTbl td:nth-child(7) { width:22%; text-align:center; font-size:11.5px;
                            color:#66788a; line-height:1.7; word-break:break-all }

/* 품명 — 서버에서 18자로 자르던 것을 없애고 전체를 내보낸 뒤
   여기서 2줄까지만 보이게 한다. 건수는 아랫줄로 분리. */
#inOrdTbl .pn   { display:-webkit-box; -webkit-line-clamp:2;
                  -webkit-box-orient:vertical; overflow:hidden }
#inOrdTbl .pcnt { display:block; color:#7b8894; font-size:11.5px; margin-top:2px }

/* 소계 줄 라벨 (부가세 / 주문금액 / 합계) */
#inOrdTbl .sl { display:block; color:#7b8894; font-weight:400; font-size:11px;
                text-align:right; margin-bottom:2px; letter-spacing:.02em }

#inOrdTbl font[color=orange] { color:#b45309 }
#inOrdTbl font[color=green]  { color:#0f7b52 }
#inOrdTbl font[color=red]    { color:#c0392b }
#inOrdTbl a          { text-decoration:none; color:#1f5178 }
#inOrdTbl a:hover    { text-decoration:underline }
#inOrdTbl .td_send a { color:#0f7b52; border-bottom:1px dotted #a8c9ba }

#inOrdTbl tr:last-child td {
  background:#f2f6f8; font-weight:700; border-top:2px solid #c5d2db;
  border-bottom:0; color:#1f2d38; vertical-align:middle;
}

/* 소계 줄 — 왼쪽에서 오른쪽으로 주황 농도가 짙어진다.
   숫자 뒤의 &nbsp; 는 ASP 에서 제거했다(라벨과 끝자리를 맞추기 위해). */
#inOrdTbl tr.subtot td {
  background:#fdf9f3; border-top:2px solid #e0c9a6; border-bottom:0;
  vertical-align:middle; padding:12px 12px; white-space:nowrap;
  font-variant-numeric:tabular-nums; border-left:1px solid #fff; text-align:right;
}
#inOrdTbl tr.subtot td:first-child {
  text-align:right; color:#8a6a45; font-weight:700;
  letter-spacing:.10em; font-size:13px; padding-right:16px; border-left:0;
}
#inOrdTbl tr.subtot td:nth-child(2) { background:#fbf1e4; color:#9a6b3a; font-weight:700; font-size:13.5px }
#inOrdTbl tr.subtot td:nth-child(3) { background:#f7e6cd; color:#a3560a; font-weight:700; font-size:13.5px }
#inOrdTbl tr.subtot td:nth-child(4) { background:#f0d7ae; color:#8a4708; font-weight:700; font-size:15.5px }
#inOrdTbl tr.subtot .sl { font-weight:600; color:#b08a5e }

/* 발송 상태 문구 (행마다 반복 출력되던 <style> 을 여기로 옮김) */
.div_send     { font-size:12px; color:Red }
.div_confirm1 { font-size:12px; color:Red }
.div_confirm2 { font-size:12px; color:green }
.div_confirm3 { font-size:12px; color:green }

/* 송장번호가 공백 없는 긴 문자열이라 줄바꿈이 안 돼
   발송 칸이 늘어나고 품명 칸이 찌그러졌다. 강제 줄바꿈으로 해결. */
.td_send { word-break:break-all; word-wrap:break-word }


/* ============================================================
   주문하기  (shop/shop_IN_List.asp → inc_Shop_in_list.asp)
   2026-09-02
   표 하나가 검색영역 + 머리글 + 상품행 + 소계를 모두 감싸고 있다.
   그래서 머리글(#prodHead) 뒤의 형제 행만 골라 상품행으로 다룬다.
   ============================================================ */
#prodTbl { border-collapse:separate; border-spacing:0; background:#fff }

/* 머리글 */
#prodTbl #prodHead > td {
  background:#eef3f7; color:#2f4552; font-weight:700; font-size:12.5px;
  letter-spacing:.02em; padding:11px 6px; text-align:center;
  border-bottom:2px solid #c5d2db; line-height:1.45;
}



/* 상품행 — 머리글 뒤의 형제 행 전부 */
#prodTbl #prodHead ~ tr > td {
  background:#fff; border-bottom:1px solid #edf1f4; padding:9px 6px;
  vertical-align:middle; font-size:12.5px; color:#2b3540; line-height:1.5;
}


#prodTbl #prodHead ~ tr:hover > td { background:#f7fbfd }

/* 열별 정렬 — 내용 종류에 맞춘다. 값·기능은 건드리지 않는다. */
#prodTbl #prodHead ~ tr > td:nth-child(1) { text-align:center; color:#8b98a5 }   /* No.      */
#prodTbl #prodHead ~ tr > td:nth-child(2) { text-align:center; color:#54636f;
                                            font-variant-numeric:tabular-nums }  /* PD_ID    */
#prodTbl #prodHead ~ tr > td:nth-child(3) { text-align:center }                  /* 제품사진 */
#prodTbl #prodHead ~ tr > td:nth-child(4) { text-align:left }                    /* 품명     */
#prodTbl #prodHead ~ tr > td:nth-child(7),
#prodTbl #prodHead ~ tr > td:nth-child(9) { text-align:right;
                                            font-variant-numeric:tabular-nums }  /* 단가·합계 */

/* 제품사진 */
#prodTbl #prodHead ~ tr img { border-radius:3px; vertical-align:middle }

/* 입력칸·선택상자 */
#prodTbl select { border:1px solid #cfd8e0; border-radius:3px; padding:2px 4px;
                  font-size:12px; background:#fff; color:#2b3540 }
/* 매입 수량칸은 폭이 32px 뿐이다. 여백을 주면 숫자가 1~2개만 보인다.
   여백은 최소로 두고 글자 크기도 건드리지 않는다. */
#prodTbl input[type=text] { border:1px solid #cfd8e0; border-radius:3px;
                            padding:1px 2px; font-size:12.5px }
/* 매입칸 : maxlength=6 인데 칸이 49px 뿐이라 4자리에서 잘렸다.
   표가 auto 레이아웃이라 머리글에 width 를 줘도 무시된다(실측 49px).
   입력칸 자체에 px 너비를 주면 열이 그 너비에 맞춰 늘어난다.
   인라인 style='width:100%' 을 이기려면 !important 가 필요하다.
   ASP 는 건드리지 않는다. */
#prodTbl input[name=Cnt] { width:66px !important; padding:1px 4px }
#prodTbl input[type=text]:focus,
#prodTbl select:focus { outline:2px solid #9fc9dd; outline-offset:-1px; border-color:#7fb4cd }


/* ---------- 제품사진 확대 (마우스 올린 동안만) ----------
   원본을 width=70 으로 줄여 쓰고 있어 확대해도 흐려지지 않는다.
   transform 은 자리를 차지하지 않으므로 표 높이가 흔들리지 않는다.
   (position 을 바꾸면 칸이 접혀 커졌다 작아졌다 깜빡인다) */
#prodTbl #prodHead ~ tr > td:nth-child(3) { position:relative; z-index:0 }
#prodTbl #prodHead ~ tr > td:nth-child(3):hover { z-index:900 }
#prodTbl #prodHead ~ tr > td:nth-child(3) img {
  transition:transform .13s ease; cursor:zoom-in;
}
#prodTbl #prodHead ~ tr > td:nth-child(3):hover img {
  position:relative; z-index:901; pointer-events:none;
  /* 제자리에서 키우면 위아래 줄의 사진을 덮어 다음 사진으로 넘어가기 어렵다.
     오른쪽으로 보내면 색상·규격을 가려서, 왼쪽(No./PD_ID 쪽)으로 비켜 키운다.
     사진 칸(760~842)은 비워 두어 다음 사진으로 바로 넘어갈 수 있게 한다. */
  transform:translateX(-172px) scale(3.4);
  background:#fff; box-shadow:0 8px 28px rgba(0,0,0,.30);
}
@media (prefers-reduced-motion:reduce) {
  #prodTbl #prodHead ~ tr > td:nth-child(3) img { transition:none }
}

#prodTbl a { text-decoration:none; color:#1f5178 }
#prodTbl a:hover { text-decoration:underline }


/* ---------- 제목 띠 ----------
   주문현황은 /shop/img/order_List_top.jpg 이미지 배너를 쓴다.
   그 이미지에서 뽑은 색으로 CSS 그라데이션을 만들어 주문하기·장바구니도
   같은 모양이 되게 한다. (이미지를 새로 만들 필요가 없다) */
.t1 {
  background:linear-gradient(to right,
    #20b5bb 0%, #4cc2c6 22%, #78ccd1 45%, #a4dbdc 66%, #cce7e6 84%, #eef1ee 100%);
  color:#ffffff; font-size:25px; font-weight:700; letter-spacing:.06em;
  padding:20px 0; text-align:center; border-radius:4px; margin:0 0 4px;
  text-shadow:0 1px 2px rgba(0,0,0,.20);
}

/* ---------- 회사정보 ----------
   항목마다 별도 표로 되어 있고 .td1/.td2 가 페이지 안 <style> 에 정의돼 있다.
   그 블록이 이 파일보다 뒤에 오므로, 감싸는 .div_member_info 를 붙여
   우선순위를 높인다. 인라인 정의는 건드리지 않는다. */
/* 항목들이 float 로 나란히 놓여 있는데 연락처만 2줄(96px)이고
   나머지는 1줄(79px)이라 아래 선이 어긋났다. flex 로 바꿔 높이를 맞춘다.
   float 는 무효화하되 순서·내용은 그대로다. */
.div_member_info { display:flex; flex-wrap:wrap; align-items:stretch; gap:0 }
.div_member_info > div { float:none }
.div_member_info > div > table.table1 { height:100% }
.div_member_info table.table1 { border-collapse:collapse; border-spacing:0; background:#fff }
/* 표 높이를 맞추면 남는 공간이 두 줄에 나뉘어 라벨 줄까지 늘어난다.
   라벨 줄은 최소로 두고 값 줄이 남는 공간을 흡수하게 한다. */
.div_member_info .tr1 { background-color:transparent; height:1px }
.div_member_info .tr2 { background-color:transparent; height:100% }
.div_member_info .td1 {
  background-color:#eef3f7; color:#2f4552; font-weight:700; text-align:center;
  padding:8px 12px; font-size:12.5px; border:1px solid #d3dae1; white-space:nowrap;
}
.div_member_info .td2 {
  background-color:#fff; color:#2b3540; font-weight:400; text-align:center;
  padding:9px 12px; font-size:12.5px; border:1px solid #d3dae1;
}

/* ---------- 검색줄 ---------- */
/* 검색 + 정렬방식 + 버튼을 '매입가능 상품종류' 안내띠와 같은 상자 하나로 묶는다.
   HTML 에서 옮긴 것은 없다. 감싸는 td 에 class 만 붙이고 flex order 로 자리를 잡는다.
     1줄 : 검색 (분류 / PD_ID / 품명 / 검색 / 상품 모두보기)
     2줄 : 정렬방식  ......  품절상품 보기 · 엑셀 주문서 서식 · 엑셀 주문서 넣기
   문서 순서는 검색 → 엑셀 → 정렬 이라 order 로 엑셀을 맨 뒤로 보낸다. */
.searchZone { box-sizing:border-box; margin:6px 0 2px;
  background:#eef3f7; border-left:4px solid #2b7a9b; border-radius:3px;
  padding:9px 12px; color:#2f4552; line-height:1.9;
  display:flex; flex-wrap:wrap; align-items:center; row-gap:2px;
}
.searchZone .div_search      { order:1; flex:1 1 100%; margin:0; padding:0;
                               background:none; border:0 }
.searchZone .div_sort        { order:2; flex:1 1 260px; margin:0 }
.searchZone .div_excel_order { order:3; flex:0 0 auto; margin:0 }
.searchZone .div_sort table  { width:100%; margin:0 }
.searchZone .div_excel_order table { width:auto; margin:0 }
.searchZone .div_sort td, .searchZone .div_excel_order td { background:none; padding:0 }
.searchZone .div_sort label  { cursor:pointer; margin-right:2px }
.searchZone .style1          { color:#2f4552; font-weight:700 }
/* 세 버튼이 한 줄에서 나란히 보이도록 간격만 준다 */
.searchZone input[type=button] { margin-left:5px }
.div_search .f1 { font-weight:700; color:#2f4552; margin-right:4px }
.div_search select, .div_search input[type=text] {
  border:1px solid #cfd8e0; border-radius:3px; padding:3px 6px;
  font-size:12.5px; background:#fff; color:#2b3540;
}
.div_search select:focus, .div_search input[type=text]:focus {
  outline:2px solid #9fc9dd; outline-offset:-1px; border-color:#7fb4cd;
}

/* ---------- 안내 배너 (JS 가 #div_msg 안에 넣는다) ----------
   원래 background-color 값에 # 이 빠져 있어 색이 안 먹던 자리다. */
/* 띠 사이 간격이 16 / 10 / 6px 로 제각각이었다. 8px 로 맞춘다. */
#div_msg .div_m1, #div_msg .div_m2 { box-sizing:border-box;
  background:#eef3f7; border-left:4px solid #2b7a9b; color:#2f4552;
  font-size:14px; font-weight:700; height:auto; padding:9px 12px;
  border-radius:3px; margin:1px 0 2px;
}
#div_msg .div_m3 { box-sizing:border-box;
  background:#fff7e8; border-left:4px solid #d9932b; color:#8a5a12;
  font-size:13px; font-weight:600; height:auto; padding:9px 12px;
  border-radius:3px; margin:2px 0 5px;
}

/* ---------- 버튼 (엑셀 주문서 / 품절상품 보기 등) ----------
   페이지 안 <style> 의 input[type=button]{height:25px} 보다 뒤에 오도록
   #prodTbl 을 붙여 우선순위를 높인다. */
#prodTbl input[type=button] {
  background:#5b7186; color:#fff; border:0; border-radius:3px;
  height:26px; padding:0 12px; font-size:12.5px; font-weight:700; cursor:pointer;
}
#prodTbl input[type=button]:hover { background:#44586b; cursor:pointer }
#prodTbl input[type=submit] {
  background:#2b7a9b; color:#fff; border:0; border-radius:3px;
  height:26px; padding:0 16px; font-size:12.5px; font-weight:700; cursor:pointer;
}
#prodTbl input[type=submit]:hover { background:#215f79 }


/* ============================================================
   장바구니  (shop/Cart_View.asp → inc_Cart_View.asp)
   2026-09-02
   위쪽 '장바구니' 띠와 안내문은 그림 한 장(Cart_top.jpg)이라 손대지 않았다.
   아래 표만 주문현황·주문하기와 같은 모양으로 맞춘다.
   열 : 이미지 / 품명 / 단가 / 수량 / 금액·VAT / action
   ============================================================ */
#cartTbl {
  width:100%; background:#fff; border-collapse:separate; border-spacing:0;
  border:1px solid #d3dae1; border-radius:5px; overflow:hidden; font-size:13px;
}
#cartTbl #cartHead > td {
  background:#eef3f7; color:#2f4552; font-weight:700; font-size:12.5px;
  letter-spacing:.02em; padding:11px 6px; text-align:center;
  border-bottom:2px solid #c5d2db;
}
/* 상품 줄 */
#cartTbl #cartHead ~ tr > td {
  border-bottom:1px solid #edf1f4; padding:10px 8px;
  vertical-align:middle; line-height:1.55; color:#2b3540;
}
#cartTbl tr:not(#cartHead):not(.cartSum):not(.cartMsg):not(.cartBtns):hover > td {
  background:#f7fbfd;
}
#cartTbl #cartHead ~ tr > td:nth-child(2) { text-align:left; word-break:keep-all }
#cartTbl #cartHead ~ tr > td:nth-child(3) { text-align:right;
  font-variant-numeric:tabular-nums; color:#54636f }
#cartTbl #cartHead ~ tr > td:nth-child(5) { text-align:right;
  font-variant-numeric:tabular-nums; font-weight:700 }
/* 수량칸 : 원래 [입력칸][변경] 이 한 줄이었는데, 입력칸에 여백을 주니
   버튼이 아래로 밀렸다. 입력칸 폭을 못 박고 열을 넓혀 한 줄로 되돌린다.
   (입력칸에 인라인 style='width:60%' 이 있어 !important 가 필요하다) */
#cartTbl #cartHead > td:nth-child(4) { width:150px }
#cartTbl #cartHead ~ tr > td:nth-child(4) { white-space:nowrap; padding-left:4px; padding-right:4px }
#cartTbl input[name=Cnt] { width:70px !important; margin-right:3px }
#cartTbl img { border-radius:3px; vertical-align:middle }
#cartTbl a { text-decoration:none }
/* 색상·규격 줄 */
#cartTbl font[color=green] { color:#0f7b52; font-size:11.5px }
#cartTbl font[color=red]   { color:#c0392b; font-size:11.5px }

/* 입력칸·버튼 */
#cartTbl input[type=text] {
  border:1px solid #cfd8e0; border-radius:3px; padding:2px 5px; font-size:12.5px;
}
#cartTbl input[name=Sum_Pay] { border:0; background:transparent; font-weight:700 }
#cartTbl input[type=text]:focus {
  outline:2px solid #9fc9dd; outline-offset:-1px; border-color:#7fb4cd;
}
#cartTbl input[name=btn_Edit], #cartTbl input[name=btn_delete] {
  background:#f4f7fa; color:#2f4552; border:1px solid #c5d2db; border-radius:3px;
  padding:3px 9px; font-size:12px; cursor:pointer;
}
#cartTbl input[name=btn_Edit]:hover, #cartTbl input[name=btn_delete]:hover {
  background:#e6eef4; border-color:#9fb6c6;
}
#cartTbl input[name=btn_delete] { color:#a33; border-color:#dcc2c2 }
#cartTbl input[name=btn_delete]:hover { background:#fbeeee; border-color:#c99 }

/* 총계 줄 : 주문현황의 합계와 같은 색으로 */
#cartTbl tr.cartSum > td {
  background:#e3eff4; border-top:2px solid #c5d2db; border-bottom:0;
  color:#15697f; font-weight:700; padding:12px 9px; vertical-align:middle;
}
#cartTbl tr.cartSum > td:first-child { font-size:13px; letter-spacing:.08em }
#cartTbl tr.cartSum > td:last-child {
  text-align:right; font-size:15px; font-variant-numeric:tabular-nums;
}

/* 자료 없음 */
#cartTbl tr.cartNone > td {
  padding:26px 8px; text-align:center; color:#8b98a5; font-weight:700;
  border-bottom:1px solid #edf1f4;
}

/* 택배비 안내 (JS 가 #div_msg 에 넣는다. 비어 있으면 자리를 차지하지 않는다) */
#cartTbl tr.cartMsg > td { padding:0; border-bottom:0 }
#cartTbl #div_msg:not(:empty) {
  background:#fff7e8; border-left:4px solid #d9932b; color:#8a5a12;
  font-size:12.5px; font-weight:600; padding:9px 12px; margin:8px 10px 0;
  border-radius:3px; text-align:left;
}
#cartTbl #div_msg .frb { color:#c0392b }

/* 아래 버튼 줄 */
#cartTbl tr.cartBtns > td {
  background:#f7fafc; border-top:1px solid #e6ecf1; border-bottom:0;
  padding:14px 8px; text-align:center;
}
#cartTbl .bt_add {
  background:#ffffff; color:#2f4552; border:1px solid #c5d2db; border-radius:5px;
  font-size:13px; font-weight:700; cursor:pointer;
}
#cartTbl .bt_add:hover { background:#eef3f7; border-color:#9fb6c6 }
#cartTbl .bt_order {
  background:#2b7a9b; color:#ffffff; border:0; border-radius:5px;
  font-size:13px; font-weight:700; cursor:pointer;
  box-shadow:0 1px 2px rgba(0,0,0,.18);
}
#cartTbl .bt_order:hover  { background:#215f79 }
#cartTbl .bt_order:active { background:#1a4c62; box-shadow:none }


/* ============================================================
   발송처리 현황  (trans/Trans_list.asp → inc_trans_List.asp)
   2026-09-02
   원래 이 페이지에서 .t1 / .div_search / .table1 이 다른 뜻으로 쓰이고 있었다.
   .t1 은 페이지 쪽 이름을 .transTitle 로 비켜 주었고,
   .table1 은 여기서 id(#transTbl)로 눌러 이긴다.
   열 : No / 주문일 / 배송일 / 주문자명 / 주문품목 / 금액 / 택배사 / 송장번호
   ============================================================ */
/* ----- 조회 상자 ----- */
#transSearch { width:100%; border-collapse:separate; border-spacing:0;
  background:transparent; margin:0 0 8px }
#transSearch > tbody > tr > td { padding:0; background:transparent }
#transSearch .transSearchIn { width:100%; border-collapse:separate; border-spacing:0;
  background:#eef3f7; border-left:4px solid #2b7a9b; border-radius:3px }
#transSearch .transSearchIn td { background:transparent; text-align:center;
  padding:7px 10px; color:#2f4552 }
#transSearch .tsHead > td { font-weight:700; font-size:12.5px; padding:10px 10px 2px }
#transSearch input[type=text], #transSearch input[type=date] {
  border:1px solid #cfd8e0; border-radius:3px; padding:3px 6px;
  font-size:12.5px; background:#fff; color:#2b3540; height:26px;
}
#transSearch input[type=text]:focus, #transSearch input[type=date]:focus {
  outline:2px solid #9fc9dd; outline-offset:-1px; border-color:#7fb4cd;
}
/* 조회 = 주된 버튼, 엑셀다운로드 = 보조 버튼 (자리로 구분한다) */
#transSearch .search_bt { border-radius:5px; font-size:13px; font-weight:700;
  cursor:pointer; letter-spacing:.03em; height:54px; width:116px }
#transSearch .tsHead > td:nth-child(3) .search_bt {
  background:#2b7a9b; color:#fff; border:0; box-shadow:0 1px 2px rgba(0,0,0,.18);
}
#transSearch .tsHead > td:nth-child(3) .search_bt:hover  { background:#215f79 }
#transSearch .tsHead > td:nth-child(3) .search_bt:active { background:#1a4c62; box-shadow:none }
#transSearch .tsHead > td:nth-child(4) .search_bt {
  background:#fff; color:#2f4552; border:1px solid #c5d2db;
}
#transSearch .tsHead > td:nth-child(4) .search_bt:hover { background:#eef3f7; border-color:#9fb6c6 }

/* 엑셀 폼을 감싼 빈 상자가 회색 띠 50px 로 자리를 차지하고 있었다(안에 보이는 것이 없다).
   폼은 그대로 두고 상자만 안 보이게 한다. 같은 class 를 주문하기도 쓰므로
   발송현황의 조회 상자 뒤에 오는 것만 골라 적용한다. */
#transSearch ~ .div_excel { height:0; overflow:hidden; background:transparent; margin:0 }

/* ----- '발송처리 현황' 안내띠 (매입가능 상품종류 띠와 같은 모양) ----- */
.transBand { box-sizing:border-box; background:#eef3f7; border-left:4px solid #2b7a9b;
  border-radius:3px; padding:9px 12px; margin:0 0 8px; color:#2f4552; text-align:left }
.transBand .div_t1 { font-size:14px; font-weight:700; margin:0; letter-spacing:.02em }
.transBand .div_search { font-size:12.5px; font-weight:600; color:#54636f; margin:0 0 0 14px }

/* ----- 결과 표 ----- */
#transTbl { width:100%; background:#fff; border-collapse:separate; border-spacing:0;
  border:1px solid #d3dae1; border-radius:5px; overflow:hidden; font-size:12.5px }
#transTbl > tbody > tr > td { background:transparent }
#transTbl tr.thead > td { background:#eef3f7; color:#2f4552; font-weight:700;
  font-size:12.5px; letter-spacing:.02em; padding:11px 6px; text-align:center;
  border-bottom:2px solid #c5d2db }
#transTbl tr.trow > td { border-bottom:1px solid #edf1f4; padding:10px 8px;
  vertical-align:middle; line-height:1.55; color:#2b3540 }
#transTbl tr.trow:hover > td { background:#f7fbfd }
#transTbl tr.trow > td:nth-child(1) { text-align:center; color:#8b98a5 }
#transTbl tr.trow > td:nth-child(2),
#transTbl tr.trow > td:nth-child(3) { text-align:center; white-space:nowrap; color:#54636f }
#transTbl tr.trow > td:nth-child(4) { text-align:center; word-break:keep-all }
#transTbl tr.trow > td:nth-child(5) { text-align:left; word-break:keep-all }
#transTbl tr.trow > td:nth-child(6) { text-align:right; font-weight:700;
  font-variant-numeric:tabular-nums }
/* 택배사 : 49px 로 좁아 '대한통운' 이 두 줄로 갈라졌다. 한 줄로 못박는다. */
#transTbl tr.thead > td:nth-child(7),
#transTbl tr.trow  > td:nth-child(7) { text-align:center; color:#54636f; white-space:nowrap }
#transTbl td.td_inv { text-align:center; color:#54636f;
  font-variant-numeric:tabular-nums; line-height:1.7 }
#transTbl .inv1 { display:inline-block; white-space:nowrap }
#transTbl tr.tnone > td { padding:30px 8px; text-align:center }
#transTbl .div_result { color:#8b98a5; font-weight:700; font-size:14px }


/* ============================================================
   상품리스트 카드  (product/product_list.asp → inc_Product_Img_list.asp)
   2026-09-02
   이 페이지는 쿼크모드(BackCompat)라 width 가 여백을 포함한다.
   그래서 손대는 상자마다 box-sizing 을 반드시 적어 준다.
   원래 CSS 는 색값에 # 이 빠졌거나(ebebeb, bbbbbb) 단위가 없어서
   (margin: 2 2 2 2) 대부분 무시되고 있었다. 여기서 다시 잡는다.
   ============================================================ */
/* 한 줄 4칸이 기본인데 상품이 3개면 칸이 늘어나 카드까지 커졌다
   (실측 : 4개일 때 칸 196px·카드 184px / 3개일 때 칸 262px·카드 250px).
   칸 너비를 못 박아 4칸 자리를 지키고, 모자란 자리는 비워 둔다. */
#prodGrid { border-collapse:separate; border-spacing:0; width:auto }
#prodGrid > tbody > tr > td { width:196px }
#prodGrid > tbody > tr > td { padding:0 6px 16px; vertical-align:top; background:transparent }
/* 줄 사이 빈 칸(colspan=5)이 따로 있어 간격이 두 번 들어간다. 그쪽은 접는다. */
#prodGrid > tbody > tr > td[colspan='5'] { padding:0; height:0; font-size:0; line-height:0 }

/* ----- 카드 ----- */
#prodGrid .product_box {
  box-sizing:border-box; width:100%; height:auto; margin:0;
  border:1px solid #e2e8ee; border-radius:8px; background:#fff; overflow:hidden;
  transition:box-shadow .15s ease, border-color .15s ease;
}
#prodGrid .product_box:hover {
  border-color:#9fc9dd; box-shadow:0 4px 14px rgba(31,81,120,.12);
}
/* ----- 사진 : 원본이 정사각인데 height=180 으로 눌려 있었다 ----- */
#prodGrid .img_box {
  box-sizing:border-box; width:100%; margin:0;
  border:0; border-bottom:1px solid #eef2f6; background:#fff;
}
/* 사진 비율이 제각각이라 사진칸 높이가 달라지고 카드 높이까지 어긋났다
   (실측 : 500x446 사진은 카드 296px, 300x300 사진은 313px).
   사진칸 높이를 못 박고 그 안에서 가운데 맞춘다. */
#prodGrid .img_box table { height:172px }
#prodGrid .img_box td { padding:6px; text-align:center; vertical-align:middle }
#prodGrid .img_box img {
  width:auto; height:auto; max-width:94%; max-height:156px;
  border-radius:4px; vertical-align:middle;
}
/* ----- 상품명 (쿼크모드라 .f_P_name 과 .f_P_Name 이 같이 잡히지만 둘 다 적어 둔다) ----- */
#prodGrid .p_name_box {
  box-sizing:border-box; width:100%; height:auto; min-height:46px;
  margin:0; padding:10px 11px 2px; min-height:50px;
}
#prodGrid .p_name_box td { text-align:left }
#prodGrid .f_P_Name, #prodGrid .f_P_name {
  color:#2b3540; font-size:13px; font-weight:600; line-height:1.45;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
#prodGrid a:hover .f_P_Name, #prodGrid a:hover .f_P_name {
  color:#1f5178; text-decoration:underline;
}
/* ----- 가격 + 견적요청 ----- */
#prodGrid .p_pay_box {
  box-sizing:border-box; width:100%; height:auto; margin:0;
  padding:9px 11px 11px; background:#f7fafc; border-top:1px solid #eef2f6;
}
#prodGrid .p_pay_box table { width:100%; border-spacing:0 }
#prodGrid .p_pay_box td { padding:0; text-align:left }
/* 소비자가가 상품명과 구분이 안 된다고 해서 색을 주황 계열로 올리고 키웠다.
   (다른 화면의 주문금액과 같은 계열) */
#prodGrid .f_pay {
  color:#b45309; font-size:14.5px; font-weight:700; margin:0 0 8px;
  font-variant-numeric:tabular-nums; letter-spacing:-.01em;
}
#prodGrid a:hover .f_pay { color:#b45309 }
#prodGrid .d1 { margin:0; color:inherit }
#prodGrid .d1-1 {
  box-sizing:border-box; width:100%; height:30px;
  background:#2b7a9b; color:#ffffff; border:0; border-radius:5px;
  font-size:12.5px; font-weight:700; cursor:pointer; letter-spacing:.02em;
}
#prodGrid .d1-1:hover  { background:#215f79 }
#prodGrid .d1-1:active { background:#1a4c62 }
#prodGrid a { text-decoration:none }

/* ----- 일시품절 -----
   견적요청은 누를 수 없게 하고, 사진 위에 표시를 붙인다.
   상품상세정보 링크는 그대로 살아 있다. */
#prodGrid .img_box { position:relative }
#prodGrid .soldout_tag {
  position:absolute; left:8px; top:8px; z-index:2;
  background:rgba(192,57,43,.92); color:#ffffff;
  font-size:11.5px; font-weight:700; letter-spacing:.02em;
  padding:3px 8px; border-radius:3px; line-height:1.4;
  box-shadow:0 1px 3px rgba(0,0,0,.22);
}
#prodGrid .d1-1[disabled], #prodGrid .d1-off {
  background:#e6ebf0; color:#8b98a5; cursor:not-allowed; box-shadow:none;
}
#prodGrid .d1-1[disabled]:hover, #prodGrid .d1-off:hover { background:#e6ebf0 }

/* ----- 목록 아래 검색줄 (Admin/include/Product_pagecountlist.asp) -----
   SEARCH 가 그림 버튼이고 입력칸 높이가 26px 라 select(32px) 와 어긋났다.
   그림은 지우지 않고 여기서만 감춘다 → 이 CSS 를 안 부르는 관리자 화면은 그대로다. */
#prodSearch { padding:10px 0 }
#prodSearch select, #prodSearch input[type=text] {
  box-sizing:border-box; height:32px; vertical-align:middle;
  border:1px solid #cfd8e0; border-radius:3px; padding:3px 8px;
  font-size:13px; background:#fff; color:#2b3540;
}
#prodSearch input[type=text] { width:250px }
#prodSearch select:focus, #prodSearch input[type=text]:focus {
  outline:2px solid #9fc9dd; outline-offset:-1px; border-color:#7fb4cd;
}
#prodSearch a img { display:none }
#prodSearch > a:first-of-type {
  display:inline-block; box-sizing:border-box; height:32px; line-height:32px;
  padding:0 20px; margin-left:4px; vertical-align:middle;
  background:#2b7a9b; color:#ffffff; border-radius:5px;
  font-size:13px; font-weight:700; letter-spacing:.02em;
  text-decoration:none; box-shadow:0 1px 2px rgba(0,0,0,.18); cursor:pointer;
}
#prodSearch > a:first-of-type::after { content:"검색" }
#prodSearch > a:first-of-type:hover  { background:#215f79 }
#prodSearch > a:first-of-type:active { background:#1a4c62; box-shadow:none }
