Browse Source

상품 쿠폰관련 작업중

eskim 5 years ago
parent
commit
91a581bc03

+ 2 - 0
src/main/java/com/style24/front/biz/dao/TsfCouponDao.java

@@ -60,4 +60,6 @@ public interface TsfCouponDao {
 	 */
 	Collection<Coupon> getGoodsCouponList(Goods goods);
 	
+	
+	
 }

+ 12 - 0
src/main/java/com/style24/front/biz/dao/TsfOrderDao.java

@@ -3,6 +3,7 @@ package com.style24.front.biz.dao;
 import java.util.Collection;
 
 import com.style24.core.support.annotation.ShopDs;
+import com.style24.persistence.domain.Coupon;
 import com.style24.persistence.domain.Order;
 import com.style24.persistence.domain.Payment;
 
@@ -86,4 +87,15 @@ public interface TsfOrderDao {
 	int updateOrderDisplayYn(Order order);
 
 	int updatePaymentForOrderFinished(Payment param);
+	
+	/**
+	 * 고객 특정기간 첫구매 여부
+	 * 
+	 * @param coupon
+	 * @return int
+	 * @author eskim
+	 * @since 2021.03.12
+	 */
+	int getCustFirstOrderCount(Coupon coupon);
+	
 }

+ 93 - 2
src/main/java/com/style24/front/biz/service/TsfCouponService.java

@@ -14,6 +14,7 @@ import com.style24.front.biz.dao.TsfCouponDao;
 import com.style24.front.support.security.session.TsfSession;
 import com.style24.persistence.domain.Coupon;
 import com.style24.persistence.domain.CustCoupon;
+import com.style24.persistence.domain.Customer;
 import com.style24.persistence.domain.Goods;
 import com.style24.persistence.domain.Login;
 import com.style24.persistence.domain.Order;
@@ -38,6 +39,12 @@ public class TsfCouponService {
 
 	@Autowired
 	private TscOrderService coreOrderService;
+	
+	@Autowired
+	private TsfOrderService orderService;
+	
+	@Autowired
+	private TsfCustomerService customerService;
 
 	/**
 	 * 시리얼 쿠폰 지급 정보 조회
@@ -241,7 +248,7 @@ public class TsfCouponService {
 				custCoupon.setAvailStdt(tmpCoupon.getAvailStdt());
 				custCoupon.setAvailEddt(tmpCoupon.getAvailEddt());
 				custCoupon.setPubReason(TscConstants.PubReason.DOWNLOAD.value());
-				custCoupon.setEndAlimSendYn(tmpCoupon.getEndAlimYn());
+				custCoupon.setEndAlimSendYn("N");		// 알림 발송 여부(발송되면 Y)
 				custCoupon.setRegNo(tmpCoupon.getCustNo());
 				custCoupon.setUpdNo(tmpCoupon.getCustNo());
 
@@ -270,7 +277,7 @@ public class TsfCouponService {
 			custCoupon.setAvailStdt(joinCoupon.getAvailStdt());
 			custCoupon.setAvailEddt(joinCoupon.getAvailEddt());
 			custCoupon.setPubReason(TscConstants.PubReason.JOIN.value());
-			custCoupon.setEndAlimSendYn(joinCoupon.getEndAlimYn());
+			custCoupon.setEndAlimSendYn("N");		// 알림 발송 여부(발송되면 Y)
 			custCoupon.setUpdNo(coupon.getCustNo());
 			custCoupon.setRegNo(coupon.getCustNo());
 		}
@@ -286,4 +293,88 @@ public class TsfCouponService {
 	public Collection<Coupon> getGoodsCouponList(Goods goods) {
 		return couponDao.getGoodsCouponList(goods);
 	}
+	
+	/**
+	 * 상품 쿠폰 다운 처리
+	 *
+	 * @param coupon
+	 * @return int
+	 * @author eskim
+	 * @since 2021.03.12
+	 */
+	@Transactional("shopTxnManager")
+	public int createGoodsCoupon(Goods goods) {
+		int result = 0;
+		int downloadCnt = 1; 	// 쿠폰당 다운 받을수
+		
+		log.info("상품쿠폰 발급전 정보 goods {}", goods);
+		// 10: 발급가능 쿠폰없음, 20: 발급완료 쿠폰, 30: 발급받은 쿠폰
+		//죄송합니다. 쿠폰이 모두 소진되었습니다
+		//죄송합니다. 해당 쿠폰은 다운로드가 불가합니다.
+		
+		Collection<Coupon> goodsCouponList  = couponDao.getGoodsCouponList(goods);
+		if (goodsCouponList == null || goodsCouponList.isEmpty()) {
+			result = 10;
+			return result;
+		}
+		
+		Coupon coupon = goodsCouponList.iterator().next();
+		log.info("상품쿠폰 쿠폰정보  coupon {}", coupon);
+		
+		// 회원정보 확인 - 발급등급,첫구매, 신규회원, 제휴링크
+		
+		// 회원등급 USABLE_CUST_GRADE
+		if (coupon.getUsableCustGrade().indexOf(goods.getCustGrade()) < 0) {
+			result = 10;
+			return result;
+		}
+		
+		// 첫구매여부 (Y:구매이력이없음 | N:구매이력있음) - 구매기간일자 해당기간에 구매이력이 없으면 다운로드 가능
+		if ("Y".equals(coupon.getFirstOrdYn())) {
+			int firstOrdcnt = orderService.getCustFirstOrderCount(coupon);
+			if (firstOrdcnt > 0) {
+				result = 10;
+				return result;	
+			}
+		}
+		
+		// 신규회원 NEW_CUST_YN
+		if ("Y".equals(coupon.getNewCustYn())) {
+			Customer customer = customerService.getCustomerFindByCustNo(goods.getCustNo());
+			if (customer == null || StringUtils.isEmpty(customer.getJoinDt()) ) {
+				result = 10;
+				return result;	
+			}
+			log.info("고객정보 customer {}", customer);
+			if (Integer.parseInt(customer.getJoinDt()) < Integer.parseInt(coupon.getCustJoinStdt()) || 
+				Integer.parseInt(customer.getJoinDt()) > Integer.parseInt(coupon.getCustJoinEddt()) ) {
+				result = 10;
+				return result;	
+			}
+		}
+		
+		// 제휴링크 나중에 확인하자!!!!!
+		
+		for(Coupon tmpCoupon : goodsCouponList) {
+
+			for (int i = 0; i < downloadCnt; i++) {
+				CustCoupon custCoupon = new CustCoupon();
+				custCoupon.setCustNo(tmpCoupon.getCustNo());
+				custCoupon.setCpnId(tmpCoupon.getCpnId());
+				custCoupon.setAvailStdt(tmpCoupon.getAvailStdt());
+				custCoupon.setAvailEddt(tmpCoupon.getAvailEddt());
+				custCoupon.setPubReason(TscConstants.PubReason.DOWNLOAD.value());
+				custCoupon.setEndAlimSendYn("N");		// 알림 발송 여부(발송되면 Y)
+				custCoupon.setRegNo(tmpCoupon.getCustNo());
+				custCoupon.setUpdNo(tmpCoupon.getCustNo());
+
+				log.info("상품쿠폰 고객 다운로드 custCoupon {}", custCoupon);
+				// coreCouponDao.saveCouponCustPub(custCoupon);
+
+				result++;
+			}
+		}
+		
+		return result;
+	}
 }

+ 16 - 0
src/main/java/com/style24/front/biz/service/TsfCustomerService.java

@@ -767,4 +767,20 @@ public class TsfCustomerService {
 
 		return resultMap;
 	}
+	
+	/**
+	 * 해당 고객번호로 가입된 정보 확인
+	 * @param custNo - 연계정보
+	 * @return Customer
+	 * @author eskim
+	 * @since 2021. 03. 12
+	 */
+	public Customer getCustomerFindByCustNo(int custNo) {
+		TscSession.setAttribute("maskingYn","Y");
+		Customer customer = new Customer();
+		customer.setCustNo(custNo);
+		customer.setSiteCd(TscConstants.Site.STYLE24.value());
+		customer.encryptData();
+		return customerDao.getCustomerInfo(customer);
+	}
 }

+ 24 - 0
src/main/java/com/style24/front/biz/service/TsfGoodsService.java

@@ -41,6 +41,9 @@ public class TsfGoodsService {
 
 	@Autowired
 	private TsfGoodsDao goodsDao;
+	
+	@Autowired
+	private TsfCouponService couponService;
 
 	/**
 	 * 상품뷰이력 생성
@@ -524,4 +527,25 @@ public class TsfGoodsService {
 		return goodsDao.getSizeInfoList(sizeInfo);
 	}
 	
+	/**
+	 * 상품 쿠폰 다운 처리
+	 *
+	 * @param coupon
+	 * @return int
+	 * @author eskim
+	 * @since 2021.03.15
+	 */
+	@Transactional("shopTxnManager")
+	public int createGoodsCoupon(Goods goods) {
+		int count = 0;
+		
+		// 쿠폰발급
+		int result = couponService.createGoodsCoupon(goods);
+		
+		//리턴정보 확인
+		//죄송합니다. 쿠폰이 모두 소진되었습니다
+		//죄송합니다. 해당 쿠폰은 다운로드가 불가합니다.
+		
+		return count;
+	}
 }

+ 14 - 3
src/main/java/com/style24/front/biz/service/TsfOrderService.java

@@ -16,14 +16,12 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.thymeleaf.util.StringUtils;
 
-import com.gagaframework.web.parameter.GagaMap;
 import com.style24.core.biz.service.TscKakaoPayService;
 import com.style24.core.biz.service.TscKcpService;
 import com.style24.core.biz.service.TscNaverPayService;
 import com.style24.core.support.env.TscConstants;
-import com.style24.core.support.session.TscSession;
 import com.style24.front.biz.dao.TsfOrderDao;
-import com.style24.front.support.security.session.TsfSession;
+import com.style24.persistence.domain.Coupon;
 import com.style24.persistence.domain.KakaoPay;
 import com.style24.persistence.domain.NaverPay;
 import com.style24.persistence.domain.Order;
@@ -31,6 +29,8 @@ import com.style24.persistence.domain.Payment;
 
 import lombok.extern.slf4j.Slf4j;
 
+import com.gagaframework.web.parameter.GagaMap;
+
 /**
  * 주문 Service
  *
@@ -364,4 +364,15 @@ public class TsfOrderService {
 		payment.setPayMeans(order.getPayMeans());
 		return payment;
 	}
+	
+	/**
+	 * 고객 특정기간 첫구매 여부
+	 * 
+	 * @param coupon
+	 * @return int
+	 * @author eskim
+	 * @since 2021.03.12
+	 */
+	public int getCustFirstOrderCount(Coupon coupon) { return orderDao.getCustFirstOrderCount(coupon); }
+	
 }

+ 46 - 5
src/main/java/com/style24/front/biz/web/TsfGoodsController.java

@@ -39,6 +39,7 @@ import lombok.extern.slf4j.Slf4j;
 
 import com.gagaframework.web.parameter.GagaMap;
 import com.gagaframework.web.rest.server.GagaResponse;
+import com.gagaframework.web.rest.server.GagaResponseStatus;
 import com.gagaframework.web.util.GagaCookieUtil;
 
 /**
@@ -236,7 +237,8 @@ public class TsfGoodsController extends TsfBaseController {
 	 * @since 2021. 2. 09.
 	 */
 	private void setGoods(Goods goods) {
-		goods.setFrontGb(TsfSession.getFrontGb());
+		//goods.setFrontGb(TsfSession.getFrontGb());
+		goods.setFrontGb("true".equals(TsfSession.getAttribute("isApp")) ? "A" : TsfSession.getFrontGb());
 		goods.setIsApp(TsfSession.getAttribute("isApp"));	//앱여부 true
 		goods.setSiteCd(TscConstants.Site.STYLE24.value());
 		goods.setAfLinkCd(TsfSession.getAttribute("afLinkCd"));
@@ -251,7 +253,7 @@ public class TsfGoodsController extends TsfBaseController {
 		} else {
 			goods.setCustGb("G100_10");
 			goods.setCustNo(0);
-			goods.setCustGrade("00"); //?  확인해보자
+			goods.setCustGrade(""); //?  확인해보자
 		}
 	}
 
@@ -435,10 +437,14 @@ public class TsfGoodsController extends TsfBaseController {
 		Goods paramsGoods = new Goods();
 		paramsGoods.setGoodsCd(goodsCd);
 		setGoods(paramsGoods);
-		Goods goods = goodsService.getGoodsInfo(paramsGoods);
-		
+		// Goods goods = goodsService.getGoodsInfo(paramsGoods);
+
+		// 상품쿠폰정보
+		mav.addObject("goodsCouponList", couponService.getGoodsCouponList(paramsGoods));
 		// 상품 기본정보
-		mav.addObject("goodsInfo", goods);
+		mav.addObject("params", paramsGoods);
+		
+		//mav.addObject("goodsInfo", goods);
 
 		mav.setViewName(super.getDeviceViewName("goods/GoodsCouponForm"));
 		return mav;
@@ -744,4 +750,39 @@ public class TsfGoodsController extends TsfBaseController {
 		mav.setViewName(super.getDeviceViewName("goods/GoodsOtherForm"));
 		return mav;
 	}
+	
+	/**
+	 * 고객의 상품쿠폰 발급. 고객이 상품쿠폰 다운로드 시 발급됨.
+	 *
+	 * @param params
+	 * @return
+	 * @throws Exception
+	 * @author eskim
+	 * @since 2021. 3. 12.
+	 */
+	@PostMapping(value = "/coupon/download")
+	@ResponseBody
+	public GagaMap createGoodsCoupon(@RequestBody Goods goods) throws Exception {
+
+		GagaMap result = new GagaMap();
+		
+		// 상품관련 기본값 설정(회원 등급, 앱, PC/모바일 등)
+		setGoods(goods);
+		log.info("createGoodsCoupon  goods {}", goods);
+		
+		int couponResult = goodsService.createGoodsCoupon(goods);
+		
+		//result.set("goodsCouponList", couponService.getGoodsCouponList(paramsGoods));
+		
+		result.set("status", GagaResponseStatus.SUCCESS.getCode());
+		
+		if (couponResult == 0) {
+			//result.set("message", message.getMessage("COUPON_0002"));
+		} else {
+			//result.set("message", message.getMessage("COUPON_0001", new Object[] {couponResult}));
+		}
+		result.set("status", "200");
+
+		return result;
+	}
 }

+ 1 - 0
src/main/java/com/style24/front/biz/web/TsfMypageController.java

@@ -629,4 +629,5 @@ public class TsfMypageController extends TsfBaseController {
 
 		return result;
 	}
+	
 }

+ 1 - 0
src/main/java/com/style24/persistence/domain/Goods.java

@@ -116,6 +116,7 @@ public class Goods extends TscBaseDomain {
 	private String delvFeeCrite;	//배송비부과기준(공통코드G078)
 
 	private int floorUnit; // 절사단위(1:일원단위절사, 10:십원단위절사, 100:백원단위절사)
+	private Integer cpnId;			// 쿠폰ID
 
 	private String skuModelNo;		// SKUModelNo(WMS)
 	private String compsGoodsCd;	// 세트 구성품 상품번호

+ 47 - 5
src/main/java/com/style24/persistence/mybatis/shop/TsfCoupon.xml

@@ -143,10 +143,22 @@
 		     , A.CPN_ID
 		     , A.CPN_NM
 		     , A.CUST_PUB_LIMIT_QTY
+		     , A.BUY_LIMIT_AMT
+		     , A.MAX_DC_AMT
 		     , A.CPN_TYPE
+		     , A.AVAIL_STDT
+		     , A.AVAIL_EDDT
 		     , A.USABLE_CUST_GRADE
+		     , A.NEW_CUST_YN
+		     , A.CUST_JOIN_STDT 
+		     , A.CUST_JOIN_EDDT
+		     , A.FIRST_ORD_YN
+		     , A.BUY_STDT
+		     , A.BUY_EDDT
+		     , A.CURR_PRICE
 		     , DATE_FORMAT(A.AVAIL_EDDT, '%Y-%m-%d') AS AVAIL_EDDT
 		     , IFNULL((SELECT COUNT(1) FROM TB_CUST_COUPON WHERE CPN_ID = A.CPN_ID AND CUST_NO = #{custNo}),0) AS CUST_COUPON_CNT
+		     , (SELECT COUNT(1) FROM TB_CUST_COUPON WHERE CPN_ID = A.CPN_ID) AS TOT_COUPON_CNT
 		     , RNUM
 		FROM (
 		SELECT   CPN_ID
@@ -155,9 +167,19 @@
 		       , DC_VAL
 		       , DC_WAY
 		       , CUST_PUB_LIMIT_QTY
+		       , BUY_LIMIT_AMT
+		       , MAX_DC_AMT
 		       , CPN_TYPE
+		       , AVAIL_STDT
 		       , AVAIL_EDDT
 		       , USABLE_CUST_GRADE
+		       , NEW_CUST_YN
+		       , CUST_JOIN_STDT 
+		       , CUST_JOIN_EDDT
+		       , FIRST_ORD_YN
+		       , BUY_STDT
+		       , BUY_EDDT
+		       , CURR_PRICE
 		       , RANK() OVER(ORDER BY DC_AMT DESC)  AS RNUM   -- 할인금액순
 		FROM   (
 		        SELECT CP.CPN_ID                                              -- 쿠폰ID
@@ -165,12 +187,19 @@
 		             , CP.DC_WAY                                              -- 할인방식
 		             , CP.DC_VAL                                              -- 할인값
 		             , CP.MAX_DC_AMT                                          -- 최대할인금액
-		             , CP.CURR_PRICE                                          -- 현재 판매가
+		             , CP.CURR_PRICE                                          -- 즉시쿠폰적용판매가
 		             , CP.CUST_PUB_LIMIT_QTY                                  -- 1인당 발급제한수량
 		             , CP.BUY_LIMIT_AMT                                       -- 구매제한금액
 		             , CP.CPN_TYPE                                            -- 쿠폰타입
-		             , CP.AVAIL_EDDT                                          -- 유효일
-		             , CP.USABLE_CUST_GRADE                                   -- 고객등급(,구분) 
+		             , CP.AVAIL_STDT                                          -- 유효시작일시
+		             , CP.AVAIL_EDDT                                          -- 유효종료일시
+		             , CP.USABLE_CUST_GRADE                                   -- 고객등급(,구분)
+		             , CP.NEW_CUST_YN                                         -- 신규회원여부
+		             , CP.CUST_JOIN_STDT                                      -- 회원가입시작일시(신규회원여부) 
+		             , CP.CUST_JOIN_EDDT                                      -- 회원가입종료일시(신규회원여부)
+		             , CP.FIRST_ORD_YN                                        -- 첫구매여부
+		             , CP.BUY_STDT                                            -- 첫구매시작일시
+		             , CP.BUY_EDDT                                            -- 첫구매종료일시
 		             <![CDATA[
 		             , (CASE WHEN CP.DC_WAY = 'G240_10' THEN
 		                    (CASE WHEN IFNULL(CP.MAX_DC_AMT, 0) >0 AND CP.MAX_DC_AMT < CP.DC_VAL THEN CP.MAX_DC_AMT ELSE CP.DC_VAL END)
@@ -189,22 +218,35 @@
 		                     , CP.BUY_LIMIT_AMT
 		                     , CP.CUST_PUB_LIMIT_QTY
 		                     , CP.CPN_TYPE
-		                     , IF (CP.PD_GB = 'D', DATE_FORMAT(DATE_ADD(NOW(), INTERVAL 1 DAY), '%Y-%m-%d %H:%i:%S'), CP.AVAIL_EDDT) AS AVAIL_EDDT  
+		                     , CP.NEW_CUST_YN
+		                     , DATE_FORMAT(CP.CUST_JOIN_STDT, '%Y%m%d%H%i%S') AS CUST_JOIN_STDT
+		                     , DATE_FORMAT(CP.CUST_JOIN_EDDT, '%Y%m%d%H%i%S') AS CUST_JOIN_EDDT
+		                     , CP.FIRST_ORD_YN
+		                     , DATE_FORMAT(CP.BUY_STDT, '%Y%m%d%H%i%S') AS BUY_STDT
+		                     , DATE_FORMAT(CP.BUY_EDDT, '%Y%m%d%H%i%S') AS BUY_EDDT
+		                     , IF (CP.PD_GB = 'D', NOW(), CP.AVAIL_STDT) AS AVAIL_STDT
+		                     , IF (CP.PD_GB = 'D', CONCAT(CURRENT_DATE + INTERVAL Cp.AVAIL_DAYS DAY, ' 23:59:59'), CP.AVAIL_EDDT) AS AVAIL_EDDT
 		                     , (SELECT GROUP_CONCAT(USABLE_CUST_GRADE) FROM TB_COUPON_CUST_GRADE WHERE CPN_ID = CP.CPN_ID) AS USABLE_CUST_GRADE
 		                     , G.GOODS_CD
 		                     , FN_GET_BENEFIT_PRICE(#{frontGb},G.GOODS_CD, G.CURR_PRICE,#{custGb}) AS CURR_PRICE
 		                FROM   TB_GOODS G
 		                     , TB_COUPON CP
 		                WHERE  G.GOODS_CD = #{goodsCd}
+		                <if test="cpnId != null and cpnId != ''">
+		                AND    CP.CPN_ID = #{cpnId}
+		                </if>
 		                AND    CP.SITE_CD = #{siteCd}
 		                AND    CP.CPN_STAT = 'G232_11'   -- 쿠폰인 진행중인 쿠폰만
 		                <![CDATA[
-		                AND    NOW() <= IF (CP.PD_GB = 'D', DATE_FORMAT(DATE_ADD(NOW(), INTERVAL 1 DAY), '%Y-%m-%d %H:%i:%S'), CP.AVAIL_EDDT)
+		                AND    NOW() <= IF (CP.PD_GB = 'D', CONCAT(CURRENT_DATE + INTERVAL Cp.AVAIL_DAYS DAY, ' 23:59:59'), CP.AVAIL_EDDT)
 		                ]]>
 		                AND    NOW() BETWEEN CP.DOWN_STDT AND CP.DOWN_EDDT
 		                AND    CP.DOWN_ABL_YN = 'Y'                            -- 다운 가능 쿠폰 
 		                AND    CP.CPN_TYPE IN ('G230_11','G230_20','G230_30')  --  상품쿠폰, 주문서쿠폰, 배송비쿠폰
 		                AND    CP.DC_CD_GB = 'G233_00'                         -- 일반유형(할인쿠폰구분)
+		                AND    (CASE WHEN 'P' = #{frontGb} THEN CP.DC_PVAL
+		                             WHEN 'M' = #{frontGb} THEN CP.DC_MVAL
+		                             ELSE CP.DC_AVAL END) > 0                  -- PC, MOBILE,APP 별로 0 보다 큰 쿠폰
 		                AND    (SELECT COUNT(1)
 		                        FROM TB_COUPON_CUST_GBN
 		                        WHERE CPN_ID = CP.CPN_ID

+ 13 - 4
src/main/java/com/style24/persistence/mybatis/shop/TsfCustomer.xml

@@ -111,14 +111,17 @@
 		     <if test="ci != null and ci != ''">
 		      AND    CI = #{ci}
 		     </if>
+		     <if test="custNo != null and custNo != ''">
+		      AND    CUST_NO = #{custNo}
+		     </if>
 		     <if test="encodedCellPhnno != null and encodedCellPhnno != ''" >
 		      AND    CELL_PHNNO = #{encodedCellPhnno}
 		     </if>
 
 		      UNION ALL
 		      
-		      SELECT CUST_ID
-		           , CUST_NO
+		      SELECT CUST_NO
+		           , CUST_ID
 		           , EMAIL
 		           , CELL_PHNNO
 		           , CUST_STAT
@@ -130,14 +133,17 @@
 		      <if test="ci != null and ci != ''">
 		      AND    CI = #{ci}
 		      </if>
+		      <if test="custNo != null and custNo != ''">
+		      AND    CUST_NO = #{custNo}
+		     </if>
 		      <if test="encodedCellPhnno != null and encodedCellPhnno != ''" >
 		      AND    CELL_PHNNO = #{encodedCellPhnno}
 		      </if>
 
 		      UNION ALL
 
-		      SELECT CUST_ID
-		           , CUST_NO
+		      SELECT CUST_NO
+		           , CUST_ID
 		           , EMAIL
 		           , CELL_PHNNO
 		           , CUST_STAT
@@ -149,6 +155,9 @@
 		      <if test="ci != null and ci != ''">
 		      AND    CI = #{ci}
 		      </if>
+		      <if test="custNo != null and custNo != ''">
+		      AND    CUST_NO = #{custNo}
+		      </if>
 		      <if test="encodedCellPhnno != null and encodedCellPhnno != ''" >
 		      AND    CELL_PHNNO = #{encodedCellPhnno}
 		      </if>

+ 1 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsfLogin.xml

@@ -10,6 +10,7 @@
 		     , CUST_NM                                                 /*고객명*/
 		     , PASSWD                                                  /*비밀번호*/
 		     , CUST_GB                                                 /*고객구분*/
+		     , CUST_GRADE                                              /*고객등급*/
 		     , FN_GET_CODE_NM('G100',CUST_GB) AS CUST_GB_NM            /*고객구분명*/
 		     , CUST_STAT                                               /*회원상태*/
 		     , CELL_PHNNO                                              /*휴대전화번호*/

+ 10 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsfOrder.xml

@@ -349,4 +349,14 @@
 		WHERE PAY_SQ = #{paySq}
 		  AND ORD_NO = #{ordNo}
 	</update>
+	
+	<!-- 고객 특정기간 구매 건수 -->
+	<select id="getCustFirstOrderCount" parameterType="Coupon" resultType="int">
+		/* TscOrder.getCustFirstOrderCount */
+		SELECT COUNT(*) 
+		FROM TB_ORDER
+		WHERE CUST_NO = #{custNo}
+		AND ORD_DT BETWEEN CONCAT(#{buyStdt}, '000000') and CONCAT(#{buyEddt}, '235959')
+	</select>
+	
 </mapper>

+ 72 - 29
src/main/webapp/WEB-INF/views/web/goods/GoodsCouponFormWeb.html

@@ -11,60 +11,103 @@
  *============================================================================
  * VER  DATE         AUTHOR      DESCRIPTION
  * ===  ===========  ==========  =============================================
- * 1.0  2021.03.02   eskim        최초 작성
+ * 1.0  2021.03.11   eskim        최초 작성
  *******************************************************************************
  -->
-<div class="modal-dialog" role="document">
+<div class="modal-dialog" role="document" th:if="${goodsCouponList != null and !goodsCouponList.empty}">
 	<div class="modal-content">
 		<div class="modal-header">
 			<h5 class="modal-title" id="saleCouponLabel">할인쿠폰 받기</h5>
 		</div>
 		<div class="modal-body">
+		<form name="goodsCouponForm" id="goodsCouponForm" method="post">
+		<input type="hidden" name="goodsCd" th:value="${params.goodsCd}"/>
 			<div class="pop_cont">
 				<ul class="coupon_list">
-					<li>
-						<div class="coupon">
+					<li th:each="goodsCoupon, status : ${goodsCouponList}">
+						<div class="coupon" >
 							<div>
-								<p class="cp_name">
+								<p class="cp_name" th:text="${goodsCoupon.cpnNm}">
 									TBJ 시즌오프 20% 할인쿠폰
 								</p>
 								<p class="cp_cont">
-									<span><em>12,399,900</em>원</span>
-									<span><em>40%</em></span>
+									<span th:if="${goodsCoupon.dcWay == 'G240_10'}"><em th:text="${#numbers.formatInteger(goodsCoupon.dcVal, 0,'COMMA')}">12,399,900</em>원</span>
+									<span th:unless="${goodsCoupon.dcWay == 'G240_10'}"><em th:text="|${goodsCoupon.dcVal}%|">40%</em></span>
 								</p>
 								<p class="cp_condition">
-									500,000원 이상 구매 시 최대 50,000원 할인
-									<span>1인 최대 90장</span>
+									<th:block th:text="${#numbers.formatInteger(goodsCoupon.buyLimitAmt, 0,'COMMA')}"></th:block>원 이상 구매 시 최대 <th:block th:text="${#numbers.formatInteger(goodsCoupon.maxDcAmt, 0,'COMMA')}"></th:block>원 할인
+									<span>1인 최대 <th:block th:text="${(goodsCoupon.custPubLimitQty > 0) ? #numbers.formatInteger(goodsCoupon.custPubLimitQty, 0,'COMMA') +'장' : '무제한'}"></span>
 								</p>
 							</div>
-							<button type="button" class="btn btn_dark btn_block btn_coupon_down"><span>쿠폰받기</span></button>
+							<th:block th:if="${goodsCoupon.custPubLimitQty > 0 and goodsCoupon.custPubLimitQty <= goodsCoupon.custCouponCnt}">
+							<button type="button" class="btn btn_dark btn_block btn_coupon_down"  disabled="disabled"><span>받기완료</span></button>
+							</th:block>
+							<th:block th:unless="${goodsCoupon.custPubLimitQty > 0 and goodsCoupon.custPubLimitQty <= goodsCoupon.custCouponCnt}">
+							<button type="button" class="btn btn_dark btn_block btn_coupon_down" th:attr="cpnId=${goodsCoupon.cpnId}" onclick="goodsCouponDown(this);"><span>쿠폰받기</span></button>
+							</th:block>
 						</div>
 					</li>
-					<li>
-						<div class="coupon">
-							<div>
-								<p class="cp_name">
-									신규가입 40% 할인쿠폰
-								</p>
-								<p class="cp_cont">
-									<span><em>12,399,900</em>원</span>
-									<span><em>40%</em></span>
-								</p>
-								<p class="cp_condition">
-									500,000원 이상 구매 시 최대 50,000원 할인
-									<span>1인 최대 90장</span>
-								</p>
-							</div>
-							<button type="button" class="btn btn_dark btn_block btn_coupon_done" disabled=""><span>받기완료</span></button>
-						</div>
-					</li>						
 				</ul>
 			</div>
+		</form>	
 		</div>
 		<div class="modal-footer">
-			<button type="button" id="" class="btn btn_primary btn_all_cpdown"><span>쿠폰 모두 받기</span></button>
+			<button type="button" class="btn btn_primary btn_all_cpdown" onclick="goodsCouponDownAll();"><span>쿠폰 모두 받기</span></button>
 		</div>
 	</div>
 </div>
 <a href="javascript:void(0);" rel="modal:close" onclick="cfCloseLayer('layer_goods_coupon')" class="close-modal">Close</a>
+<script th:inline="javascript">
+/*<![CDATA[*/
+
+	// 쿠폰 다운로드
+	var goodsCouponDown = function(obj){
+	
+		if (!cfCheckLogin()) {
+			cfnGoToPage(_PAGE_LOGIN);
+			return false;
+		}
+		
+		var $obj = $(obj);
+		var cpnId = $obj.attr('cpnId');
+		var goodsCd = $('#goodsCouponForm input[name=goodsCd]').val();
+		
+		 gagajf.ajaxJsonSubmit(_PAGE_GOODS_CPN_DOWNLOAD, JSON.stringify({goodsCd: goodsCd, cpnId: cpnId}), fnGoodsCouponCallBack);
+		 
+	//쿠폰이 발급되었습니다
+	//죄송합니다. 쿠폰이 모두 소진되었습니다
+	//죄송합니다. 해당 쿠폰은 다운로드가 불가합니다.
+	}
+	
+	// 쿠폰 전체 다운로드
+	var goodsCouponDownAll = function(){
+		//00개 쿠폰이 발급되었습니다.
+	}
+	
+	// 쿠폰다운로드 콜백
+	var fnGoodsCouponCallBack = function(result){
+		if (result.status == "200"){
+			mcxDialog.alert("쿠폰이 발급되었습니다.");
+		}
+	}
+	
+	$(document).ready(function() {
+		
+		var couponDownAbleYn = "N";
+		$('.btn_coupon_down').each(function(){
+			if (!$(this).attr('disabled')){
+				couponDownAbleYn = "Y";
+			}
+		});	
+		
+		if(couponDownAbleYn == "N"){
+			$('.btn_all_cpdown').addClass('btn_coupon_done');
+			$('.btn_all_cpdown').attr('disabled', true);
+			$('.btn_all_cpdown').find('span').text('쿠폰 모두 받기 완료');
+		}
+	});
+	
+	
+/*]]>*/
+</script>
 </html>

+ 13 - 1
src/main/webapp/WEB-INF/views/web/goods/GoodsDetailFormWeb.html

@@ -873,7 +873,19 @@
 		
 		// 바로구매는 로그인여부 확인
 		if (btnType == "O" && !cfCheckLogin()) {
-			cfnGoToPage(_PAGE_LOGIN);
+			
+			var btn = ["비회원 구매", "로그인후 구매"]; //버튼명[좌,우]
+			mcxDialog.confirmC("로그인 후 구매 시 다양한 혜택을 받으실 수 있습니다.", { //내용
+				btn: btn,
+				btnClick: function(index){
+					if (index == 1){ //button1 일때 처리문
+						// 비회원 URL
+						ALERT('비회원');
+					} else {	//button2 일때 처리문
+						cfnGoToPage(_PAGE_LOGIN);
+					}
+				}
+			});
 			return false;
 		}
 		

+ 3 - 3
src/main/webapp/WEB-INF/views/web/goods/GoodsSizeInfoFormWeb.html

@@ -23,9 +23,9 @@
 			<div class="pop_cont">
 				<div class="tab_nav">
 					<ul>
-						<li class="active"><a href="javascript:void(0);" th:if="${measurementList != null and !measurementList.empty}">실측 사이즈</a></li>
-						<li><a href="javascript:void(0);" th:if="${(commonSizeInfoList != null and !commonSizeInfoList.empty) or (brandSizeInfoList != null and !brandSizeInfoList.empty)}">표준 사이즈</a></li>
-						<li><a href="javascript:void(0);" th:if="${measurementSizeInfoList != null and !measurementSizeInfoList.empty}">측정 사이즈</a></li>
+						<li th:if="${measurementList != null and !measurementList.empty}" th:class="${(measurementList != null and !measurementList.empty) ? 'active': ''}"><a href="javascript:void(0);" >실측 사이즈</a></li>
+						<li th:if="${(commonSizeInfoList != null and !commonSizeInfoList.empty) or (brandSizeInfoList != null and !brandSizeInfoList.empty)}" th:class="${(measurementList == null or measurementList.empty) ? 'active': ''}"><a href="javascript:void(0);" >표준 사이즈</a></li>
+						<li th:if="${measurementSizeInfoList != null and !measurementSizeInfoList.empty}"><a href="javascript:void(0);" >측정 사이즈</a></li>
 					</ul>
 				</div>
 				<div class="tab_cont_wrap">

+ 302 - 93
src/main/webapp/ux/pc/css/layout.css

@@ -647,7 +647,7 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 .tbl.type2 table td {position:relative; padding:20px 0; border-bottom:1px solid #ddd; font-weight:200; font-size:16px; letter-spacing:-0.025em; text-align:center;}
 .tbl.type2 table th {font-weight:300;}
 
-/* 테이블 type3 - 결제정보 */
+/* 테이블 type3 - 결제정보 (구 버전) */
 .tbl.type3 {padding:0; border:1px solid #000;} 
 .tbl.type3 table {word-break:keep-all;}
 .tbl.type3 table th,
@@ -662,6 +662,15 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 .tbl.type4 table th {background:#f5f5f5; color:#222; font-weight:300;}
 .tbl.type4 table td {position:relative; font-weight:200;}
 
+/* 테이블 type5 - 수직형 행,열별, th구분선 있음 */
+.tbl.type5 {padding:0; border-top:1px solid #000;} 
+.tbl.type5 table {word-break:keep-all;}
+.tbl.type5 table th,
+.tbl.type5 table td {position:relative; padding:20px 0; font-size:16px; letter-spacing:-0.025em; text-align:center;}
+.tbl.type5 table td {border-bottom:1px solid #ddd; font-weight:200;}
+.tbl.type5 table th {border-bottom:1px solid #000; font-weight:300;}
+
+
 /* 안내 */
 .com_info_txt {padding:40px; border:1px solid #ddd; line-height:1.2;}
 .com_info_txt .tit {position: relative; font-size: 16px; color: #666; padding-left: 30px; margin-bottom: 30px; font-weight:300;}
@@ -739,6 +748,111 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 .part_deliver table .info_item.unable .info_unable {display:block; padding:20px 0 0 0; color:#fd4802; font-size:14px;}
 .part_deliver table .info_item.unable .info_calc .btn {opacity:1; background-color:#aaa; color:#fff; border-color:#aaa;}
 
+/* 주문내역 테이블 리스트 _ new */
+.part_goods {display:block; position:relative; border:1px solid #ddd;}
+.part_goods::after,
+.part_goods div::after {content:''; display:block; clear:both;}
+.part_goods .goods_head {padding:20px 40px; background:#f5f5f5}
+.part_goods .goods_head p {float:left; color:#888; font-size:18px; font-weight:300;}
+.part_goods .goods_head p span {margin-left:15px; color:#222; font-weight:500;}
+.part_goods .goods_head a.btn_detail_view {float:right; height:16px; padding-right:16px; color:#888; font-size:16px; font-weight:300; background:url('/images/pc/ico_more_sm.png') no-repeat 100% 2px;}
+.part_goods .goods_cont {padding:40px;}
+.part_goods .goods_cont .goods_info {margin-top:40px; padding-top:40px; border-top:1px dashed #ddd}
+.part_goods .goods_cont .goods_info:first-child {margin-top:0; padding-top:0; border-top:none}
+.part_goods .goods_cont .goods_info .oder_desc .goods_box {vertical-align:top;}
+.part_goods .goods_cont .goods_info .oder_desc .goods_box .gd_item .thumb {position:absolute; top:0; transform:translateY(0);}
+.part_goods .goods_foot {}
+.part_goods .goods_foot .oder_gift {display:block; position:relative; padding:30px 40px 30px 170px; border-top:1px solid #ddd}
+.goods_foot .oder_gift .title {display:inline-block; position:absolute; left:57px; top:50%; transform:translateY(-50%); padding-left:25px; background:url(/images/pc/ico_giftbox.png) no-repeat 0 0; font-size:16px; font-weight:300; line-height:20px;}
+.goods_foot .oder_gift ul li {margin-top:10px; padding-left: 15px; background:url(/images/pc/ico_bracket.png) no-repeat 0 2px; color:#222; font-size:16px; font-weight:200;}
+.goods_foot .oder_gift ul li span {color:#fd4802}
+.goods_foot .order_delivery {padding:25px 40px; background:#f5f5f5; text-align:center; font-size:16px; font-weight:300;}
+.goods_foot .order_delivery .dlvr_fee {}
+.goods_foot .order_delivery .dlvr_shop {}
+.goods_foot .order_delivery a.btn_popup_save {float:right; display:inline-block; padding-right:20px; color:#fd4802; font-size:12px; font-weight:200; line-height:14px; text-decoration:underline; background:url('/images/pc/ico_go_save.png') no-repeat 100% 50%;}
+
+.goods_info {display:block; position:relative; width:100%;}
+.goods_info .tag {display:inline-block; height:22px; padding:5px 8px; background:#fff; border:1px solid #ddd; color:#666; font-size:11px; font-weight:300; text-align:center;}
+.goods_info .tag.primary {background:#fd4802; border-color:#fd4802; color:#fff;}
+.goods_info .tag.primary_line {background:#fff3f2; border-color:#fd4802; color:#fd4802;}
+.goods_info .price_org {position:relative; color:#888; font-weight:200;}
+.goods_info .price_org:after{content: ''; display:inline-block; width:100%; height:1px; background:rgb(204, 204, 204); position:absolute; top:50%; left:0; bottom:auto; right:auto; transform:translateY(-50%);}
+.goods_info .price_sale {color:#222; font-weight:500;}
+.goods_info .point {padding-left:22px; color:#888; font-weight:200; background:url('/images/pc/ico_point.png') no-repeat 0 50%;}
+.goods_info .point strong {font-weight:300;}
+.goods_info .oder_desc {display:table; width:100%; height:150px;}
+.goods_info .oder_desc [class*="_box"] {display:table-cell; vertical-align:middle;}
+.goods_info .oder_desc .form_box {width:40px; padding-right:20px;}
+.goods_info .oder_desc .goods_box {padding-left:130px;}
+.goods_info .oder_desc .goods_box [class^="gd_"] {max-width:550px;}
+.goods_info .oder_desc .goods_box .gd_date {}
+.goods_info .oder_desc .goods_box .gd_item {position:relative;}
+.goods_info .oder_desc .goods_box .gd_item a {display:block;}
+.goods_info .oder_desc .goods_box .gd_item p::after {content:''; display:block; clear:both;}
+.goods_info .oder_desc .goods_box .gd_item .thumb {position:absolute; left:-130px; top:50%; transform:translateY(-50%); width:100px; height:150px; background:#f5f5f5;}
+.goods_info .oder_desc .goods_box .gd_item .thumb img {position:relative; width:100%; top:50%; transform:translateY(-50%);}
+.goods_info .oder_desc .goods_box .gd_item .buy_date {display:block; margin-bottom:16px; color:#222; font-size:16px; font-weight:300;}
+.goods_info .oder_desc .goods_box .gd_item .name {float:none; display:block; display:-webkit-box; width:100%; height:auto; max-height:40px; margin-top:15px; color:#222; font-size:16px; font-weight:300; line-height:20px; overflow:hidden; text-overflow:ellipsis; -webkit-line-clamp:2; -webkit-box-orient:vertical;}
+.goods_info .oder_desc .goods_box .gd_item .brand {float:left; display:inline-block; margin-right:10px; color:#888; font-size:14px; font-weight:200;}
+.goods_info .oder_desc .goods_box .gd_item .tag {float:left; margin-right:6px; margin-top:-5px;}
+.goods_info .oder_desc .goods_box .gd_opt {margin-top:15px;}
+.goods_info .oder_desc .goods_box .gd_opt .option_wrap {margin-top:15px}
+.goods_info .oder_desc .goods_box .gd_opt .option_wrap:first-child {margin-top:0;}
+.goods_info .oder_desc .goods_box .gd_opt .option_wrap .title {margin-bottom:10px; color:#fd4802; font-size:14px; font-weight:300;}
+.goods_info .oder_desc .goods_box .gd_opt .option_wrap .option {display:block; display:-webkit-box; width:100%; height:auto; max-height:40px; overflow:hidden; margin-top:5px; color:#666; font-size:14px; font-weight:200; line-height:20px; text-overflow:ellipsis; -webkit-line-clamp:2; -webkit-box-orient:vertical;}
+.goods_info .oder_desc .goods_box .gd_calc {margin-top:15px}
+.goods_info .oder_desc .goods_box .gd_calc p {float:left; position:relative; padding:0px 12px}
+.goods_info .oder_desc .goods_box .gd_calc p::before {content:''; position:absolute; left:0; top:50%; transform:translateY(-50%); width:1px; height:13px; background:#ddd;}
+.goods_info .oder_desc .goods_box .gd_calc p:first-child {padding-left:0;}
+.goods_info .oder_desc .goods_box .gd_calc p:first-child::before {display:none;}
+.goods_info .oder_desc .goods_box .gd_calc p span {display:inline-block; font-size:15px;}
+.goods_info .oder_desc .goods_box .gd_calc p span em {font-size:16px;}
+.goods_info .oder_desc .goods_box .gd_calc p span.count {color:#666}
+.goods_info .oder_desc .goods_box .gd_calc p span.price_sale {margin-left:5px}
+.goods_info .oder_desc .goods_box .gd_exinfo,
+.goods_info .oder_desc .goods_box .gd_exinfo a {color:#fd4802; font-size:14px;}
+.goods_info .oder_desc .goods_box .gd_exinfo {margin-top:20px}
+.goods_info .oder_desc .goods_box .gd_exinfo p {margin-top:6px}
+.goods_info .oder_desc .goods_box .gd_exinfo p:first-child {margin-top:0;}
+.goods_info .oder_desc .goods_box .gd_exinfo .tag {margin-right:10px}
+.goods_info .oder_desc .status_box {width:130px; color:#222; font-size:18px; font-weight:300; text-align:center;}
+.goods_info .oder_desc .status_box p {margin-top:10px;}
+.goods_info .oder_desc .status_box p:first-child {margin-top:0}
+.goods_info .oder_desc .status_box .date, 
+.goods_info .oder_desc .status_box .time {display:block; margin-top:10px; color:#888; font-size:14px;}
+.goods_info .oder_desc .status_box .date {margin-top:12px;}
+.goods_info .oder_desc .calc_box {width:150px; text-align:center;}
+.goods_info .oder_desc .calc_box .price_org {display:inline-block; margin-bottom:10px; font-size:14px; font-weight:300;}
+.goods_info .oder_desc .calc_box .price_sale {display:inline-block; font-size:20px; font-weight:500;}
+.goods_info .oder_desc .calc_box .point {display:inline-block; margin-top:13px; font-size:14px; line-height:18px;}
+.goods_info .oder_desc .button_box {width:220px; padding-left:90px; text-align:center;}
+.goods_info .oder_desc .button_box p {margin-top:10px;}
+.goods_info .oder_desc .button_box p:first-child {margin-top:0}
+.goods_info .oder_desc .button_box .btn {display:block; width:100%; height:42px; font-size:14px;}
+.goods_info .oder_desc .button_box .util {margin-top:12px}
+.goods_info .oder_desc .button_box .util span {position:relative; display:inline-block; margin-left:24px;}
+.goods_info .oder_desc .button_box .util span::before {content:''; position:absolute; left:-13px; top:50%; transform:translateY(-50%); width:1px; height:10px; background-color:#ddd;}
+.goods_info .oder_desc .button_box .util span:first-child {margin-left:0;}
+.goods_info .oder_desc .button_box .util span:first-child::before {display:none;}
+.goods_info .oder_desc .button_box .count_modify {}
+.goods_info .oder_desc .button_box .count_modify .txt {display:block; margin-bottom:8px; color:#222; font-size:16px; font-weight:300;}
+.goods_info .oder_desc .button_box .count_modify .select_custom.select_count {margin-bottom:10px; font-size:14px; text-align:left;}
+.goods_info .oder_desc .button_box .count_modify .select_custom.select_count .combo .select {padding:14px 15px; color:#666; font-size:14px;}
+.goods_info .oder_desc .button_box .count_modify .select_custom.select_count .combo .list > li {padding:0 15px;}
+.goods_info .oder_text {display:block; width:100%; margin-top:20px; padding:20px 30px; background-color:#fff6f2;}
+.goods_info .oder_text p {margin-top:10px; padding-left:20px; color:#222; font-size:14px; font-weight:300; line-height:1; background:url('/images/pc/ico_primary_check.png') no-repeat 0 50%;}
+.goods_info .oder_text p:first-child {margin-top:0}
+
+.area_part {border-top:1px solid #ddd}
+.area_part .part_goods {border:none}
+.area_part .part_goods .goods_cont {padding:40px 0}
+.area_part .part_goods .goods_cont .oder_desc .button_box {width:260px; padding-right:40px;}
+.area_part .part_goods .goods_cont .oder_desc .goods_box .gd_item {position:static;}
+.area_part .part_goods .goods_cont .goods_info .oder_desc .goods_box {position:relative; vertical-align:middle;}
+.area_part .part_goods .goods_cont .goods_info .oder_desc .goods_box .gd_item .thumb {left:0}
+.area_part .part_goods .goods_foot {}
+
+
 /* 주문결제정보 */
 .order_amount {}
 .order_amount dl::after,
@@ -919,7 +1033,7 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 	/* mb_login */
 
 	/* cs_공통 */
-	.cs {font-family:'LATO','Noto Sans CJK kr','Noto Sans kr',sans-serif; line-height:1.2; padding-bottom:150px;}
+	.cs {line-height:1.2; padding-bottom:150px;}
 	.cs .wrap .content {max-width:1460px;}
 	.cs .foldGroup {margin-top: 60px;}
 	.cs .history_wrap {width: 100%; height: 173px; padding: 50px; box-sizing: border-box;  background: #f5f5f5;}
@@ -2183,7 +2297,7 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 	.odPayment .card_quickpay .list_card .card .name {margin-top:10px; height:20px; text-align:center; font-size:14px; line-height:20px; color:#c9dbff}
 	.odPayment .card_quickpay .list_card .card .number {margin-top:10px; text-align:center; font-size:24px; font-weight:300;}
 	.odPayment .card_quickpay .list_card .card .number span {padding:0px 5px; letter-spacing:2px;}
-	.odPayment .card_quickpay .list_card .card .select  {position:absolute; left:20px; right:20px; bottom:20px; width:auto; z-index:2;}
+	.odPayment .card_quickpay .list_card .card .select  {/* position:absolute; *//* left:20px; *//* right:20px; *//* bottom:20px; */width: 100%;z-index:2;}
 	.odPayment .card_quickpay .list_card .card .select .select_dress {padding:13px 20px; background:#3259a8; color:#fff; font-size:14px; border:none;}
 	.odPayment .card_quickpay .list_card .card .select .select_dress:after {top:15px; border-color:#fff transparent transparent transparent;}
 	.odPayment .card_quickpay .list_card .card .select .select_dress.active:after {top:9px; border-color:transparent transparent #fff transparent}
@@ -2357,22 +2471,29 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 	.pd .swiper-pagination .swiper-pagination-bullet:first-child {margin-left:0;} 
 	.pd .swiper-button-prev::after,
 	.pd .swiper-button-next::after {content: ''; display:none;}
-	/*.pd .swiper-button-prev,
-	.pd .swiper-button-next {top:50%; transform:translateY(-50%); margin:0; display:inline-block; width:27.5px; height:50px; background:url(/images/pc/ico_arr_lg.png) no-repeat;}
-	.pd .swiper-button-prev {left:0; background-position:0 50%;}
-	.pd .swiper-button-next {right:0; background-position:100% 50%;}*/
 	.pd .swiper-button-prev,
 	.pd .swiper-button-next {top:50%; margin:0; display:inline-block; width:40px; height:40px; border:2px solid #a7a7a7; border-width:2px 2px 0 0;}
 	.pd .swiper-button-prev {transform:translateY(-50%) rotate(225deg); -webkit-transform:translateY(-50%) rotate(225deg);}
 	.pd .swiper-button-next {transform:translateY(-50%) rotate(45deg); -webkit-transform:translateY(-50%) rotate(45deg);}
 	.pd .area_slider {position:relative; width:100%; box-sizing:border-box; padding:0px 70px}
+	.pd .area_slider .swiper-button-prev,
+	.pd .area_slider .swiper-button-next {margin-top:-90px}
 	.pd .area_slider .swiper-container .item_prod {width:100%;}
 	.pd .area_slider .swiper-container .item_prod .item_state {padding:0}
 
 	/* pd  */
-	.pd {}
+	.star_score {position:relative; height:14px;}
+	.star_score .star {display:inline-block; position:relative; width:95px; height:14px; background:#f5f5f5;}
+	.star_score .star::after {content:''; position:absolute; left:0; top:0; z-index:3; width:100%; height:14px; background:url('/images/pc/star_empty.png') no-repeat 0 0; background-size:100% 100%; image-rendering:pixelated;}
+	.star_score .star .progbar {display:inline-block; height:14px; background:#fd4802}
+	.star_score .score {color:#222; font-size:16px; font-weight:200; line-height:1;}
+	.star_score .score em {font-weight:500;}
+
+	.pd {padding-top:70px}
 	.pd .item_picker {position:absolute; z-index:2; transform:translate(-50%,-50%);}
 	.pd .item_picker .pick_descr {display:none; position:absolute; background:#fff; z-index:2;}
+	.pd_pop .select_custom .combo .list > li:hover {background:none;}
+	.pd_detail .select_custom .combo .list > li:hover {background:none;}
 
 	/* pd_detail */
 	.pd_detail {}
@@ -2453,7 +2574,7 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 	.pd_detail .area_desc .desc_wrap .descript_box .desc_info .price_blk::after {content:''; clear:both; display:block;}
 	.pd_detail .area_desc .desc_wrap .descript_box .desc_info .price_blk > span {float:left; }
 	.pd_detail .area_desc .desc_wrap .descript_box .desc_info .price_blk .sale_percent {display:block; width:100%; margin-bottom:20px; color:#fd4802; font-size:20px; font-weight:300;}
-	.pd_detail .area_desc .desc_wrap .descript_box .desc_info .price_blk .sale_price {color:#222; font-size:24px; font-weight:600;}
+	.pd_detail .area_desc .desc_wrap .descript_box .desc_info .price_blk .sale_price {color:#222; font-size:24px; font-weight:700;}
 	.pd_detail .area_desc .desc_wrap .descript_box .desc_info .price_blk .sale_price em {font-size:30px; font-weight:700;}
 	.pd_detail .area_desc .desc_wrap .descript_box .desc_info .price_blk del.org_price {position:relative; display:inline-block; margin-left:18px; margin-top:6px; color:#888; font-size:18px; font-weight:200; text-decoration:none;}
 	.pd_detail .area_desc .desc_wrap .descript_box .desc_info .price_blk del.org_price::after {content:''; position:absolute; left:0; right:0; top:50%; width:100%; height:1px; background:#888; z-index:2;}
@@ -2489,23 +2610,37 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 	.pd_detail .area_desc .desc_wrap .option_box .opt_select {}
 	.pd_detail .area_desc .desc_wrap .option_box .opt_select .form_field {margin-top:10px;}
 	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom {height:52px;}
-	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom .select {height:52px; padding:18px 40px 18px 18px;}
-	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom .select:after {top:22px; right:20px}
+	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom .select {height:52px; padding:19px 40px 19px 18px; border-bottom-color:#ddd;}
+	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom .select:after {top:50%; right:20px; transform:translateY(-50%); margin-top:5px;}
+	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom.on .select:after {margin-top:-2px}
 	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom[aria-disabled="true"] .select {color:#bbb; background:#f5f5f5;}
-	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom .combo .list {top:50px; padding:0}
-	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom .combo .list > li {padding:18px 18px; line-height:1;}
+	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom .combo .list {top:52px; padding:0}
+	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom .combo .list > li {padding:18px 18px; line-height:1; color:#666}
+	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom .combo .list > li[aria-disabled="true"] {color:#bbb;}
 	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom .combo .list > li > div {margin-top:5px}
 	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom .combo .list > li > div:first-child {margin-top:0;}
+	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom .combo .list > li .opt_name {}
+	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom .combo .list > li .opt_price {font-size:14px;}
 	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom .combo .list > li[data-soldout="true"]::after {right:18px; top:50%; bottom:auto; transform:translateY(-50%);}
 
 	/**/
 	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom.deal_opt_item,
-	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom.deal_opt_item .select {height:110px}
-	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom.deal_opt_item .item_prod {width:100%;}
-	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom.deal_opt_item .item_prod .item_state {padding:0; margin:0}
-	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom.deal_opt_item .item_prod .item_state a {position:relative; padding-left:70px}
-	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom.deal_opt_item .item_prod .item_state a .itemPic {position:absolute; left:0; top:0; width:50px; height:70px; padding:0;}
-	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom.deal_opt_item .combo .list {top:109px}
+	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom.deal_opt_item .select {height:110px; background:transparent;}
+	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom.deal_opt_item .item_prod {width:100%; z-index:-1;}
+	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom.deal_opt_item .item_prod .item_state {display:table; width:100%; height:70px; padding:0; margin:0}
+	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom.deal_opt_item .item_prod .item_state a {display:table-cell; position:relative; width:100%; height:70px; padding-left:70px; padding-right:40px; vertical-align:middle;}
+	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom.deal_opt_item .item_prod .item_state a .itemPic {position:absolute; left:0; top:0; width:50px; height:70px; padding:0; margin:0}
+	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom.deal_opt_item .item_prod .item_state a .itemName {max-width:100%; height:20px; margin-bottom:0px; line-height:20px; font-size:14px; -webkit-line-clamp:1;}
+	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom.deal_opt_item .item_prod .item_state a .itemName .tit_option {font-weight:500;}
+	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom.deal_opt_item .item_prod .item_state a .itemPrice {margin-top:13px}
+	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom.deal_opt_item .item_prod .item_state a .itemPercent {position:relative;}
+	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom.deal_opt_item .item_prod .item_state a .itemPrice_original {margin-right:0;}
+	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom.deal_opt_item .item_prod .item_state a .itemPercent {margin-right:0;}
+	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom.deal_opt_item .item_prod .item_state a > [class^="item"] {margin-left:0; margin-right:0;} 
+	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom.deal_opt_item .combo .list {top:110px}
+	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom.deal_opt_item .combo .list > li {border-bottom:1px solid #eee;}
+	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom.deal_opt_item .combo .list > li[aria-disabled="true"] a [class^="item"] {color:#bbb; text-decoration:line-through;} 
+	.pd_detail .area_desc .desc_wrap .option_box .opt_select .select_custom.deal_opt_item .combo .list > li[aria-disabled="true"] a img {opacity:0.3;}
 
 	.pd.deal .tab_detail_cont .select_custom.deal_opt_item,
 	.pd.deal .tab_detail_cont .select_custom.deal_opt_item .select {height:110px}
@@ -2546,9 +2681,11 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 	.pd_detail .area_desc .desc_wrap .option_box .number_count input[type='text']{float:left;}
 	.pd_detail .area_desc .desc_wrap .option_box .number_count span {cursor:pointer; position:relative; display:inline-block; width:40px; height:40px; text-align:center;}
 	.pd_detail .area_desc .desc_wrap .option_box .number_count span::after {content:''; position:absolute; left:50%; top:50%; transform: translate(-50%, -50%);; width:12px; height:12px; background:url('/images/pc/btn_count.png') no-repeat 100% 0; image-rendering:pixelated;}
+	.pd_detail .area_desc .desc_wrap .option_box .number_count span.min_val,
+	.pd_detail .area_desc .desc_wrap .option_box .number_count span.max_val {opacity:0.2;}
 	.pd_detail .area_desc .desc_wrap .option_box .number_count .plus::after {content:''; background-position:100% 0;}
 	.pd_detail .area_desc .desc_wrap .option_box .number_count .minus::after {content:''; background-position:0 0;}
-	.pd_detail .area_desc .desc_wrap .option_box .number_count input[type='text'] {width:44px; height:40px; padding:0; text-align:center; color:#222; font-size:15px; font-weight:200; border:none; font-family:'LATO','Noto Sans CJK kr','Noto Sans kr',sans-serif;}
+	.pd_detail .area_desc .desc_wrap .option_box .number_count input[type='text'] {width:44px; height:40px; padding:0; text-align:center; color:#222; font-size:15px; font-weight:200; border:none;}
 	.pd_detail .area_desc .desc_wrap .price_box {padding:30px 0 40px; border-top:1px solid #222;}
 	.pd_detail .area_desc .desc_wrap .price_box::after {content:''; clear:both; display:block;}
 	.pd_detail .area_desc .desc_wrap .price_box .number {float:left; color:#666; font-size:14px; font-weight:200; margin-top:8px}
@@ -2569,7 +2706,7 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 	.pd_detail .area_desc .desc_wrap .exinfo_box ul li [class^="ex_"] > a .tit em.number {margin-left:4px; color:#666; font-weight:200;}
 	.pd_detail .area_desc .desc_wrap .exinfo_box ul li .ex_review {}
 	.pd_detail .area_desc .desc_wrap .exinfo_box ul li .ex_review .star_score {float:right; margin-right:48px; height:14px;}
-	.pd_detail .area_desc .desc_wrap .exinfo_box ul li .ex_review .star_score .star {display:inline-block; position:relative; width:95px; height:14px; background:#ddd;}
+	.pd_detail .area_desc .desc_wrap .exinfo_box ul li .ex_review .star_score .star {display:inline-block; position:relative; width:95px; height:14px; background:#f5f5f5;}
 	.pd_detail .area_desc .desc_wrap .exinfo_box ul li .ex_review .star_score .star::after {content:''; position:absolute; left:0; top:0; z-index:3; width:100%; height:14px; background:url('/images/pc/star_empty.png') no-repeat 0 0; background-size:100% 100%; image-rendering:pixelated;}
 	.pd_detail .area_desc .desc_wrap .exinfo_box ul li .ex_review .star_score .star .progbar {display:inline-block; height:14px; background:#fd4802}
 	.pd_detail .area_desc .desc_wrap .exinfo_box ul li .ex_review .star_score .score {color:#222; font-size:16px; font-weight:200;}
@@ -2580,7 +2717,7 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 	.pd_detail .area_desc .desc_wrap .exinfo_box ul li .best_review a .pic .thumb {padding-top:100%; background-repeat:no-repeat; background-position:50% 50%; background-size:cover;}
 	.pd_detail .area_desc .desc_wrap .exinfo_box ul li .best_review a .pic .thumb.mov::after {content:''; position:absolute; left:0; top:0; width:100%; height:100%; background:rgba(0,0,0,0.3) url('/images/pc/ico_play.png') no-repeat 50% 50%; z-index:2;}
 	.pd_detail .area_desc .desc_wrap .exinfo_box ul li .best_review a .star_score {margin-top:10px; height:14px;}
-	.pd_detail .area_desc .desc_wrap .exinfo_box ul li .best_review a .star_score .star {display:inline-block; position:relative; width:83px; height:14px; background:#ddd;}
+	.pd_detail .area_desc .desc_wrap .exinfo_box ul li .best_review a .star_score .star {display:inline-block; position:relative; width:83px; height:14px; background:#f5f5f5;}
 	.pd_detail .area_desc .desc_wrap .exinfo_box ul li .best_review a .star_score .star::after {content:''; position:absolute; left:0; top:0; z-index:3; width:100%; height:14px; background:url('/images/pc/star_empty.png') no-repeat 0 0; background-size:100% 100%; image-rendering:pixelated;}
 	.pd_detail .area_desc .desc_wrap .exinfo_box ul li .best_review a .star_score .star .progbar {display:inline-block; height:14px; background:#fd4802}
 	.pd_detail .area_desc .desc_wrap .exinfo_box ul li .best_review a .star_score .ico {margin-left:10px}
@@ -2674,12 +2811,13 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 	.pd_recommend .area_slider .page .item_wrap .item_area .li_item ul li .item_prod.unable {opacity:0.4}
 	.pd_recommend .area_slider .page .item_wrap .item_area .li_item ul li .item_prod.unable * {color:#bbb; text-decoration:line-through;}
 	.pd_recommend .item_area .itemBrand {}
-	.pd_recommend .item_area .itemName {}
+	.pd_recommend .item_area .itemName {height:20px;}
 	.pd_recommend .item_area .itemPrice {}
 	.pd_recommend .item_area .itemPrice .itemPrice_original {}
 	.pd_recommend .item_area .itemPrice .itemPercent {position:relative;}
 	.pd_recommend .area_slider .page .item_wrap .item_area .btn {margin-top:30px; border-color:#fd4802; color:#fd4802;}
 	.pd_recommend .area_slider .page .item_wrap .item_area .btn span {font-weight:500;}
+	.pd_recommend .swiper-pagination {margin-top:40px}
 
 	.pd_relate {}
 	.pd_relate .area_slider {margin-bottom:230px;}
@@ -2720,6 +2858,7 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 
 
 	/* pd_popup */
+	.modal.pd_pop a.close-modal:last-child {display: none;}
 	.modal.pd_pop dl div,
 	.modal.pd_pop dl dt,
 	.modal.pd_pop dl dd {float:left;}
@@ -2734,10 +2873,13 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 	.modal.pd_pop .swiper-button-prev:after {content:''; display:block; position:absolute; top:0px; left:0; width:34px; height:34px; border:2px solid #a7a7a7; border-width:2px 2px 0 0; transform:rotate(-135deg); -webkit-transform:rotate(-135deg);}
 	.modal.pd_pop .swiper-button-next:after {content:''; display:block; position:absolute; top:0px; right:0; width:34px; height:34px; border:2px solid #a7a7a7; border-width:2px 2px 0 0; transform:rotate(45deg); -webkit-transform:rotate(45deg);}
 	.modal.pd_pop .modal-body .pop_cont {max-height:none;}
-	.modal.pd_pop .modal-header h5.modal-title {display:inline-block; margin:0; font-size:24px; font-weight:300;}
+	.modal.pd_pop .modal-header h5.modal-title {display:inline-block; margin:0; font-size:24px; font-weight:500;}
 	.modal.pd_pop .modal-header .txt {margin-top:20px; color:#666; font-size:16px; font-weight:300;}
 	.modal.pd_pop .modal-body .pop_cont {line-height:1;}
 	.modal.pd_pop .modal-footer {margin-top:40px}
+	.modal.pd_pop .form_field input[type="checkbox"] + label {line-height:1;}
+	.modal.pd_pop .form_field input[type="checkbox"] + label:before,
+	.modal.pd_pop .form_field input[type="checkbox"]:checked + label:after {top:50%; transform:translateY(-50%);}
 	.modal.pd_pop .info_txt ul li {position:relative; font-size:14px; color:#888; padding-left:15px; margin-bottom:10px; line-height:1;}
 	.modal.pd_pop .info_txt ul li:last-child {margin-bottom:0;}
 	.modal.pd_pop .info_txt ul li:after {content:''; position: absolute; top:5px; left:0; background:#858585; width:3px; height:3px;}
@@ -2751,28 +2893,35 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 	.modal.pd_pop .opt_select .select_custom .combo .list > li > div {margin-top:5px}
 	.modal.pd_pop .opt_select .select_custom .combo .list > li > div:first-child {margin-top:0;}
 	.modal.pd_pop .opt_select .select_custom .combo .list > li[data-soldout="true"]::after {right:18px; top:50%; bottom:auto; transform:translateY(-50%);}
+	.modal.pd_pop .btn_post_wrap {position:absolute; top:50%; transform:translateY(-50%); height:0; left:-70px; right:-70px; margin-top:-30px; z-index:3;}
+	.modal.pd_pop .btn_post_wrap::after {content:''; clear:both; display:block;}
+	.modal.pd_pop .btn_post_wrap a {display:block; width:34px; height:34px; border:2px solid #a7a7a7; border-width:2px 2px 0 0; font-size:1px; text-indent:-9999px; overflow:hidden; opacity:1;}
+	.modal.pd_pop .btn_post_wrap a.no_more {opacity:0.3;}
+	.modal.pd_pop .btn_post_wrap .btn_prev_post {float:left; transform:rotate(-135deg); -webkit-transform:rotate(-135deg);}
+	.modal.pd_pop .btn_post_wrap .btn_next_post {float:right; transform:rotate(45deg); -webkit-transform:rotate(45deg);}
 
 
 	/* pd_popup > EP채널쿠폰 */
 	.modal.pd_pop.epcoupon_pop {max-width:none; width:620px; padding:60px 60px;}
-	.pd_pop.epcoupon_pop .ep_coupon {position:relative; width:300px; margin:auto; border:1px solid #ddd;  background:#f5f5f5; padding:44px 0; text-align:center; line-height:1;}
+	.pd_pop.epcoupon_pop .ep_coupon {position:relative; width:300px; margin:auto; border:1px solid #ddd; background:#fff; padding:40px 0 35px; text-align:center; line-height:1;}
 	.pd_pop.epcoupon_pop .ep_coupon > div {position:relative;}
 	.pd_pop.epcoupon_pop .ep_coupon > div::after {content:''; position:absolute; top:50%; right:-1px; transform:translateY(-50%); width:15px; height:30px; background:#fff; z-index:2; border:1px solid #ddd; border-right:none; border-top-left-radius:15px; border-bottom-left-radius:15px; overflow:hidden;}
-	.pd_pop.epcoupon_pop .ep_coupon > div .cp_title {color:#222; font-size:16px; font-weight:600; letter-spacing:4px;}
-	.pd_pop.epcoupon_pop .ep_coupon > div .cp_cont {margin-top:20px;}
+	.pd_pop.epcoupon_pop .ep_coupon > div .cp_title {color:#222; font-size:16px; font-weight:700; letter-spacing:4px;}
+	.pd_pop.epcoupon_pop .ep_coupon > div .cp_cont {margin-top:15px;}
 	.pd_pop.epcoupon_pop .ep_coupon > div .cp_cont span {display:block; color:#222;}
-	.pd_pop.epcoupon_pop .ep_coupon > div .cp_cont span em.number {font-size:62px; font-weight:600;}
-	.pd_pop.epcoupon_pop .ep_coupon > div .cp_cont span em.unit {font-size:32px; font-weight:500;}
+	.pd_pop.epcoupon_pop .ep_coupon > div .cp_cont span em.number {margin-left:4px; font-size:62px; font-weight:700;}
+	.pd_pop.epcoupon_pop .ep_coupon > div .cp_cont span em.unit {font-size:32px; font-weight:700;}
 	.pd_pop.epcoupon_pop .ep_coupon > div .cp_cont span.unit_won {}
 	.pd_pop.epcoupon_pop .ep_coupon > div .cp_cont span.unit_percent {font-size:16px; font-weight:500;}
 	.pd_pop.epcoupon_pop .info_txt {margin-top:30px;}
 	.pd_pop.epcoupon_pop .modal-footer button {width:220px}
 
 	/* pd_popup > 할인쿠폰 */
-	.modal.pd_pop.salecoupon_pop {max-width:none; width:480px; padding:40px 60px;}
-	.pd_pop.salecoupon_pop .coupon_list {line-height:1;}
-	.pd_pop.salecoupon_pop .coupon_list li {margin-top:30px}
-	.pd_pop.salecoupon_pop .coupon_list li:first-child {margin-top:0}
+	.modal.pd_pop.salecoupon_pop {max-width:none; width:480px; padding:40px 60px 0;}
+	.modal.pd_pop.salecoupon_pop .pop_cont {max-height:510px; margin-left:-20px; margin-right:-20px; padding:0 20px; overflow-y:auto;} 
+	.modal.pd_pop.salecoupon_pop .modal-footer {margin-top:0; margin-left:-60px; margin-right:-60px;}
+	.pd_pop.salecoupon_pop .coupon_list {width:360px; margin:auto; line-height:1;}
+	.pd_pop.salecoupon_pop .coupon_list li {margin-bottom:30px}
 	.pd_pop.salecoupon_pop .coupon_list li .coupon {position:relative; border:1px solid #ddd; box-sizing:border-box; background:#fff;}
 	.pd_pop.salecoupon_pop .coupon_list li .coupon > div {position:relative;}
 	.pd_pop.salecoupon_pop .coupon_list li .coupon > div::after {content:''; position:absolute; top:50%; right:-1px; transform:translateY(-50%); width:15px; height:30px; background:#fff; z-index:2; border:1px solid #ddd; border-right:none; border-top-left-radius:15px; border-bottom-left-radius:15px; overflow:hidden;}
@@ -2780,32 +2929,36 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 	.pd_pop.salecoupon_pop .coupon_list li .coupon .cp_name {padding-top:30px; color:#222; font-size:14px; font-weight:300;}
 	.pd_pop.salecoupon_pop .coupon_list li .coupon .cp_cont {margin-top:10px;}
 	.pd_pop.salecoupon_pop .coupon_list li .coupon .cp_cont span {color:#fd4802; font-size:22px; font-weight:500;}
-	.pd_pop.salecoupon_pop .coupon_list li .coupon .cp_cont span em {font-size:28px; font-weight:600;}
+	.pd_pop.salecoupon_pop .coupon_list li .coupon .cp_cont span em {font-size:28px; font-weight:700;}
 	.pd_pop.salecoupon_pop .coupon_list li .coupon .cp_condition {margin-top:16px; padding-bottom:30px; color:#888; font-size:12px; font-weight:300;}
 	.pd_pop.salecoupon_pop .coupon_list li .coupon .cp_condition span {display:block; margin-top:5px}
 	.pd_pop.salecoupon_pop .coupon_list li .coupon .btn_coupon_down {}
 	.pd_pop.salecoupon_pop .coupon_list li .coupon .btn_coupon_down span {position:relative; display:inline-block; padding-right:24px;}
 	.pd_pop.salecoupon_pop .coupon_list li .coupon .btn_coupon_down span::after {content:''; position:absolute; right:0; top:50%; transform:translateY(-50%); width:14px; height:15px; margin-left:10px; background:url('/images/pc/ico_cp_down.png') no-repeat 0 0;}
-	.pd_pop.salecoupon_pop .coupon_list li .coupon .btn_coupon_done:disabled{background:#aaa; border-color:#aaa; opacity:1;}
+	.pd_pop.salecoupon_pop .btn_coupon_done:disabled{background:#aaa; border-color:#aaa; color:#fff; opacity:1;}
 
 	/* pd_popup > 쇼핑혜택, 카드혜택 */
 	.modal.pd_pop[class*="bnf_"] {max-width:none; width:650px; padding:60px 60px;}
 	.modal.pd_pop[class*="bnf_"] h6 {margin-bottom:20px}
 	.modal.pd_pop[class*="bnf_"] .benefit_blk {margin-top:40px}
 	.modal.pd_pop[class*="bnf_"] .benefit_blk:first-child {margin-top:0}
-	.modal.pd_pop[class*="bnf_"] .tbl.type1 {padding:20px 0; font-size:14px;}
+	.modal.pd_pop[class*="bnf_"] .tbl.type1 {padding:20px 20px; font-size:14px;}
 	.modal.pd_pop[class*="bnf_"] .tbl.type1 table tr th,
-	.modal.pd_pop[class*="bnf_"] .tbl.type1 table tr td {font-size:14px; line-height:1; vertical-align:top;}
-	.modal.pd_pop[class*="bnf_"] .tbl.type1 table tr th {padding:10px 0px 10px 20px; color:#222; text-align:left;}
-	.modal.pd_pop[class*="bnf_"] .tbl.type1 table tr td {padding:10px 0px; color:#222;}
-	.modal.pd_pop[class*="bnf_"] .tbl.type1 table tr td:last-child {padding:10px 20px 10px 0px; text-align:right;}
-	.modal.pd_pop.bnf_shopping_pop .tbl.type1 table tr td {color:#fd4802;}
+	.modal.pd_pop[class*="bnf_"] .tbl.type1 table tr td {padding:10px 0px; font-size:14px; line-height:1; vertical-align:top;}
+	.modal.pd_pop[class*="bnf_"] .tbl.type1 table tr th {color:#222; text-align:left;}
+	.modal.pd_pop[class*="bnf_"] .tbl.type1 table tr td {color:#222;}
+	.modal.pd_pop[class*="bnf_"] .tbl.type1 table tr td:last-child {text-align:right;}
+	.modal.pd_pop.bnf_shopping_pop .benefit_blk .tbl.type1 table tr td {color:#fd4802;}
+	.modal.pd_pop.bnf_shopping_pop .benefit_blk .tbl.type1 table tr td div.th {display:block; text-align:left; color:#222; font-weight:300;}
+	.modal.pd_pop.bnf_shopping_pop .benefit_blk .tbl.type1 table tr td div.td {display:block; margin-top:10px; text-align:left; color:#fd4802; font-weight:200;}
 	.modal.pd_pop.bnf_card_pop table .info_card {text-align:left;}
 	.modal.pd_pop.bnf_card_pop table .info_card p {margin-top:10px}
 	.modal.pd_pop.bnf_card_pop table .info_card p:first-child {margin-top:0}
 	.modal.pd_pop.bnf_card_pop table a.btn_more {display:inline-block; position:relative; padding-right:15px; color:#888; font-size:14px;}
 	.modal.pd_pop.bnf_card_pop table a.btn_more:after {content:''; display:block; position:absolute; top:1px; right:0; width:8px; height:8px; border:1px solid #888; border-width:1px 1px 0 0; transform:rotate(45deg); -webkit-transform:rotate(45deg);}
 	.modal.pd_pop.bnf_card_pop .info_txt {margin-top:20px;}
+	.modal.pd_pop.bnf_card_pop .pop_cont {max-height:560px; margin-left:-20px; margin-right:-20px; padding:0 20px; overflow-y:auto;} 
+
 
 	/* pd_popup > 사이즈정보 */
 	.modal.pd_pop.info_size_pop {max-width:none; width:840px; padding:60px;}
@@ -2814,14 +2967,18 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 	.pd_pop.info_size_pop .size_head .tit_sub {display:block; margin-bottom:20px; font-size:14px; font-weight:200;}
 	.pd_pop.info_size_pop .size_head .tit_header {display:block; color:#222; font-size:18px; font-weight:300;}
 	.pd_pop.info_size_pop .size_cont {}
-	.pd_pop.info_size_pop .size_cont .size_tbl_box {margin-top:40px; position:relative;}
+	.pd_pop.info_size_pop .size_cont .size_tbl_box {padding-top:35px; margin-top:40px; position:relative;}
 	.pd_pop.info_size_pop .size_cont .size_tbl_box:first-of-type {margin-top:0;}
-	.pd_pop.info_size_pop .size_cont .size_tbl_box h6 {margin-bottom:20px;}
-	.pd_pop.info_size_pop .size_cont .size_tbl_box .size_unit {position:absolute; right:0; top:2px; color:#888; font-size:14px;}
+	.pd_pop.info_size_pop .size_cont .size_tbl_box h6 {position:absolute; left:0; top:0; margin-bottom:20px;}
+	.pd_pop.info_size_pop .size_cont .size_tbl_box .size_unit {position:absolute; right:0; top:0px; color:#888; font-size:14px;}
+	.pd_pop.info_size_pop .size_cont .size_tbl_box .tbl table th {color:#222;}
+	.pd_pop.info_size_pop .size_cont .size_tbl_box .tbl table thead th {border-bottom:1px solid #222;}
+	.pd_pop.info_size_pop .size_cont .size_tbl_box .tbl table th,
+	.pd_pop.info_size_pop .size_cont .size_tbl_box .tbl table td {font-size:14px;}
 	.pd_pop.info_size_pop .size_footer {margin-top:20px}
 	.pd_pop.info_size_pop .tab_nav {}
 	.pd_pop.info_size_pop .tab_nav ul::after {content:''; clear:both; display:block;}
-	.pd_pop.info_size_pop .tab_nav ul li {float:left; width:calc((100%-2px)*1/3); text-align:center; background:#f5f5f5; border-bottom:1px solid #222; border-top:1px solid #f5f5f5;}
+	.pd_pop.info_size_pop .tab_nav ul li {float:left; width:calc((100% - 2px) * 1/3); text-align:center; background:#f5f5f5; border-bottom:1px solid #222; border-top:1px solid #f5f5f5;}
 	.pd_pop.info_size_pop .tab_nav ul li.active {background:#fff; border:1px solid #222; border-bottom:1px solid #fff}
 	.pd_pop.info_size_pop .tab_nav ul li a {display:block; color:#888; font-size:18px; font-weight:200; padding:20px 0;}
 	.pd_pop.info_size_pop .tab_nav ul li.active a {color:#222; font-weight:300;}
@@ -2837,31 +2994,33 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 	.pd_pop.info_size_pop .sub_tab_nav ul li {float:left; margin-left:30px; text-align:center;}
 	.pd_pop.info_size_pop .sub_tab_nav ul li:first-child {margin-left:0}
 	.pd_pop.info_size_pop .sub_tab_nav ul li a {display:inline-block; color:#888; font-size:16px; font-weight:200;}
-	.pd_pop.info_size_pop .sub_tab_nav ul li.active a {color:#222; font-weight:300; border-bottom:1px solid #222}
+	.pd_pop.info_size_pop .sub_tab_nav ul li.active a {color:#222; font-weight:500; border-bottom:1px solid #222}
 	.pd_pop.info_size_pop .sub_tab_cont_wrap {display:block; margin-top:40px}
 	.pd_pop.info_size_pop .sub_tab_cont_wrap .sub_tab_cont {display:none; position:relative;}
 	.pd_pop.info_size_pop .sub_tab_cont_wrap .sub_tab_cont::after {content:''; clear:both; display:block;}
 	.pd_pop.info_size_pop .sub_tab_cont_wrap .sub_tab_cont:first-of-type {display:block}
 	.pd_pop.info_size_pop .sub_tab_cont_wrap .sub_tab_cont .img_sizeinfo {float:left;}
-	.pd_pop.info_size_pop .sub_tab_cont_wrap .sub_tab_cont dl {float:right; width:344px; text-align:left; margin-top:10px; font-size:14px; line-height:1.4; word-break:keep-all;}
-	.pd_pop.info_size_pop .sub_tab_cont_wrap .sub_tab_cont dl div {padding:0 0 30px;}
-	.pd_pop.info_size_pop .sub_tab_cont_wrap .sub_tab_cont dl div dt {margin-bottom:10px; color:#222; font-weight:300;}
+	.pd_pop.info_size_pop .sub_tab_cont_wrap .sub_tab_cont dl {float:right; width:344px; text-align:left; margin-top:10px; font-size:14px; line-height:24px; word-break:keep-all;}
+	.pd_pop.info_size_pop .sub_tab_cont_wrap .sub_tab_cont dl div {float:none; padding:0 0 20px;}
+	.pd_pop.info_size_pop .sub_tab_cont_wrap .sub_tab_cont dl div dt {float:none; color:#222; font-weight:300;}
 	.pd_pop.info_size_pop .sub_tab_cont_wrap .sub_tab_cont dl div dd {color:#666;}
+	.pd_pop.info_size_pop .sub_tab_cont_wrap .sub_tab_cont dl div dd .info_txt ul li {line-height:inherit;}
+	.pd_pop.info_size_pop .sub_tab_cont_wrap .sub_tab_cont dl div dd .info_txt ul li:after {top:7px}
 
 	/* pd_popup > 재입고 알림 신청 */
 	.modal.pd_pop.push_restock_pop {max-width:none; width:630px; padding:60px;}
-	.pd_pop.push_restock_pop .pop_cont {overflow:initial;}
-	.pd_pop.push_restock_pop .item_blk {}
+	.pd_pop.push_restock_pop .pop_cont {margin-left:-10px; margin-right:-10px; padding-left:10px; padding-right:10px;}
+	.pd_pop.push_restock_pop .item_blk {width:510px;}
 	.pd_pop.push_restock_pop .item_blk .item_prod {width:100%; display:block;}
-	.pd_pop.push_restock_pop .item_blk .item_prod .item_state {padding:0;}
+	.pd_pop.push_restock_pop .item_blk .item_prod .item_state {display:table; width:100%; padding:0;}
 	.pd_pop.push_restock_pop .item_blk .item_prod .item_state .itemLink {display:table-cell; width:100%; height:120px; padding-left:100px; vertical-align:middle;}
 	.pd_pop.push_restock_pop .item_blk .item_prod .item_state .itemLink .itemPic {position:absolute; left:0; top:0; width:80px; height:120px; padding:0; margin-bottom:0; z-index:2;}
-	.pd_pop.push_restock_pop .item_blk .item_prod .item_state .itemLink .itemBrand {display:block; margin:0;}
-	.pd_pop.push_restock_pop .item_blk .item_prod .item_state .itemLink .itemName {display:block; margin:0;}
+	.pd_pop.push_restock_pop .item_blk .item_prod .item_state .itemLink .itemBrand {display:block; margin-left:0;}
+	.pd_pop.push_restock_pop .item_blk .item_prod .item_state .itemLink .itemName {max-width:100%; margin-left:0; margin-bottom:13px; height:auto; max-height:40px;}
 	.pd_pop.push_restock_pop .item_blk .item_prod .item_state .itemLink .itemPrice {margin:0;}
 	.pd_pop.push_restock_pop .item_blk .item_prod .item_state .itemLink .itemPrice .itemPrice_original {}
 	.pd_pop.push_restock_pop .item_blk .item_prod .item_state .itemLink .itemPrice .itemPercent {position:relative;}
-	.pd_pop.push_restock_pop .select_blk {margin-top:40px;}
+	.pd_pop.push_restock_pop .select_blk {width:510px; margin-top:40px;}
 	.pd_pop.push_restock_pop .select_blk h6 {margin-bottom:20px}
 	.pd_pop.push_restock_pop .select_blk .opt_size .form_field {display:block; margin-top:-8px;}
 	.pd_pop.push_restock_pop .select_blk .opt_size .form_field > div {margin-left:8px; margin-top:8px;}
@@ -2869,13 +3028,32 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 	.pd_pop.push_restock_pop .select_blk .opt_size .form_field input[type="radio"] + label {display:block; width:66px; height:42px; padding:0; line-height:42px; text-align:center; background:#fff; box-sizing:border-box; border:1px solid #ddd; color:#222; font-weight:200; font-size:14px;}
 	.pd_pop.push_restock_pop .select_blk .opt_size .form_field input[type="radio"] + label::before,
 	.pd_pop.push_restock_pop .select_blk .opt_size .form_field input[type="radio"] + label::after {display:none;}
-	.pd_pop.push_restock_pop .select_blk .opt_size .form_field input[type="radio"]:checked + label {border:1px solid #222;}
+	.pd_pop.push_restock_pop .select_blk .opt_size .form_field input[type="radio"]:checked + label {border: 1px solid #fd4802;}
 	.pd_pop.push_restock_pop .select_blk .opt_size .form_field input[type="radio"]:disabled + label {text-decoration:line-through; background:#f5f5f5; border-color:#f5f5f5; color:#bbb; opacity:1;}
 	.pd_pop.push_restock_pop .select_blk .opt_size .form_field > div {float:left; width:auto;}
 	.pd_pop.push_restock_pop .select_blk .opt_select .select_blk {display:block; max-height:300px; overflow-y:scroll;}
 	.pd_pop.push_restock_pop .modal-footer {margin-top:40px; padding-top:40px; border-top:1px solid #ddd;}
 	.pd_pop.push_restock_pop .modal-footer button {width:220px;}
 
+
+	/* pd_popup > 스타일링 추천 */
+	.modal.pd_pop.pd_lookbook_pop {max-width:585px; min-height:390px; padding:0;}
+	.pd_pop.pd_lookbook_pop .item_prod {width:100%;}
+	.pd_pop.pd_lookbook_pop .modal-header {margin:0;}
+	.pd_pop.pd_lookbook_pop .itemsGrp {margin-bottom:0;}
+	.pd_pop.pd_lookbook_pop .itemsGrp .item_prod {width: 100%; overflow: hidden;}
+	.pd_pop.pd_lookbook_pop .itemsGrp .item_prod .item_state {display: table; padding-left: 310px; padding-right: 55px; padding-bottom: 0; width: 100%; min-height:390px;}
+	.pd_pop.pd_lookbook_pop .itemsGrp .item_prod .itemLink {display: table-cell; position: static; vertical-align: middle;}
+	.pd_pop.pd_lookbook_pop .itemsGrp .item_prod .itemPic {position: absolute; top: 0; left: 0; margin-bottom: 0; width: 260px; height:390px; padding:0; background: #f5f5f5;}
+	.pd_pop.pd_lookbook_pop .itemsGrp .item_prod.sold_out .itemPic:before {content:'SOLD OUT'; position: absolute; top: 50%; left: 50%; font-size: 20px; color:#fff; background: rgba(0,0,0,.5); width: 100%; height: 100%; transform:translate(-50%, -50%); line-height: 420px; z-index: 99; text-align: center;}
+	.pd_pop.pd_lookbook_pop .itemsGrp .item_prod .itemBrand {margin:0px 0px 15px; font-size: 14px; font-weight: 300;}
+	.pd_pop.pd_lookbook_pop .itemsGrp .item_prod .itemName {margin:0px 0px 25px; font-size: 18px; font-weight: 300; line-height: 28px; height:56px;}
+	.pd_pop.pd_lookbook_pop .itemsGrp .item_prod .itemPrice {font-size: 26px; line-height: 1; font-weight: 500; margin:0;}
+	.pd_pop.pd_lookbook_pop .itemsGrp .item_prod .itemPrice_original {display: inline-block; margin-left:0; margin-bottom:10px; font-size: 20px; font-weight: 200;}
+	.pd_pop.pd_lookbook_pop .itemsGrp .item_prod .itemPercent {font-size: 26px; line-height: 0.8;}
+	.pd_pop.pd_lookbook_pop .itemsGrp .item_prod .itemLink .btn {margin-top:40px; border:1px solid #a7a7a7; font-weight:300;}
+
+
 	/* pd_popup > 베스트 리뷰 & 포토영상 리뷰 자세히보기 공통 */
 	.modal.pd_pop[class*="reviewdetail_pop"] {max-width:none; width:1080px; padding:60px;}
     .pd_pop[class*="reviewdetail_pop"] .pic .thumb {display:block; padding-top:100%; background-repeat:no-repeat; background-position:50% 50%; background-size:cover;}
@@ -2890,7 +3068,7 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 	.pd_pop[class*="reviewdetail_pop"] .detail .review .review_cont .box_wrap [class*="_box"] {margin-top:25px;}
     .pd_pop[class*="reviewdetail_pop"] .detail .review .review_cont .star_box {margin-top:0}
 	.pd_pop[class*="reviewdetail_pop"] .detail .review .review_cont .star_box .star_score {height:17px;}
-	.pd_pop[class*="reviewdetail_pop"] .detail .review .review_cont .star_box .star {display:inline-block; position:relative; width:102px; height:17px; background:#ddd;}
+	.pd_pop[class*="reviewdetail_pop"] .detail .review .review_cont .star_box .star {display:inline-block; position:relative; width:102px; height:17px; background:#f5f5f5;}
 	.pd_pop[class*="reviewdetail_pop"] .detail .review .review_cont .star_box .star::after {content:''; position:absolute; left:0; top:0; z-index:3; width:100%; height:100%; background:url('/images/pc/star_empty_big.png') no-repeat 0 0; background-size:100% 100%; image-rendering:pixelated;}
 	.pd_pop[class*="reviewdetail_pop"] .detail .review .review_cont .star_box .star .progbar {display:inline-block; height:100%; background:#fd4802}
     .pd_pop[class*="reviewdetail_pop"] .detail .review .review_cont .response_box {}
@@ -2917,13 +3095,28 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
     .pd_pop[class*="reviewdetail_pop"] .detail .review .review_cont .reply_box .reply .reply_writer .wr_date {padding-left:20px; margin-left:20px; color:#888; font-size:200;}
     .pd_pop[class*="reviewdetail_pop"] .detail .review .review_cont .reply_box .reply .reply_writer .wr_date::after {content:''; position:absolute; left:0; top:50%; transform:translateY(-50%); height:12px; width:1px; background:#ddd;}
     .pd_pop[class*="reviewdetail_pop"] .detail .review .review_cont .reply_box .reply .reply_txt {margin-top:20px; color:#666; line-height:24px;}
-    .pd_pop[class*="reviewdetail_pop"] .thumblist {position:absolute; right:60px; bottom:60px; max-width:365px; padding-bottom:10px;}
+
+	.pd_pop[class*="reviewdetail_pop"] .detail .review.empty_photo {}
+	.pd_pop[class*="reviewdetail_pop"] .detail .review.empty_photo .review_cont .box_wrap {height:545px;}
+    .pd_pop[class*="reviewdetail_pop"] .detail .review.empty_photo .pic .thumb::before {content:''; position:absolute; left:0; right:0; top:0; bottom:0; z-index:2; background:rgba(0,0,0,0.5);}
+	.pd_pop[class*="reviewdetail_pop"] .detail .review.empty_photo .pic .thumb::after {content:'리뷰에 등록된 이미지가 없습니다.'; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); z-index:2; color:#fff; font-size:16px;}
+
+	
+	.pd_pop[class*="reviewdetail_pop"] .thumblist {position:absolute; right:0px; bottom:0px; width:365px; overflow-x:auto; white-space:nowrap; padding-bottom:10px;}
+	.pd_pop[class*="reviewdetail_pop"] .thumblist .pic {position:relative; width:50px; height:50px; cursor:pointer; z-index:2;}
+	.pd_pop[class*="reviewdetail_pop"] .thumblist .pic.active {border:2px solid #fd4802;}
 	.pd_pop[class*="reviewdetail_pop"] .thumblist .thumb.mov::after {content:''; position:absolute; left:0; top:0; width:100%; height:100%; background:rgba(0,0,0,0.3) url('/images/pc/ico_play.png') no-repeat 50% 50%; z-index:2;}
     .pd_pop[class*="reviewdetail_pop"] .thumblist .swiper-slide {width:auto;}
     .pd_pop[class*="reviewdetail_pop"] .thumblist .swiper-slide .pic {position:relative; width:50px; height:50px; cursor:pointer; z-index:2;}
     .pd_pop[class*="reviewdetail_pop"] .thumblist .swiper-slide.swiper-slide-thumb-active .pic {border:2px solid #fd4802;}
 	.pd_pop[class*="reviewdetail_pop"] .thumblist .swiper-scrollbar {left:0; width:100%; height:2px; background:#ddd; border-radius:0; opacity:1;}
 	.pd_pop[class*="reviewdetail_pop"] .thumblist .swiper-scrollbar-drag {background:#222; opacity:1;}
+	
+	.pd_pop[class*="reviewdetail_pop"] .detail .review .thumblist {}
+	.pd_pop[class*="reviewdetail_pop"] .detail .review .thumblist ul {height:50px; width:max-content;}
+	.pd_pop[class*="reviewdetail_pop"] .detail .review .thumblist ul::after {content:''; clear:both; display:;}
+	.pd_pop[class*="reviewdetail_pop"] .detail .review .thumblist li {float:left; margin-right:8px;}
+    .pd_pop[class*="reviewdetail_pop"] .detail .review .thumblist li .pic {position:relative; width:50px; height:50px; cursor:pointer; z-index:2;}
 
 	/* pd_popup > 베스트  리뷰 자세히 보기 */
 	.modal.pd_pop.pd_bestreviewdetail_pop {}
@@ -2967,11 +3160,14 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 	.modal.pd_pop.pd_qnawrite_pop .info_txt ul li:after {top:10px;}
 	.pd_qnawrite_pop .modal-body .pop_cont {max-height:none;}
 	.pd_qnawrite_pop .modal-footer {margin-top:40px; padding-top:40px; border-top:1px solid #ddd;}
+	.pd_qnawrite_pop .modal-footer .btn {width:220px;}
 	.pd_qnawrite_pop .form_field {display:block;}
-	.pd_qnawrite_pop .input_box {margin-top:40px}
+	.pd_qnawrite_pop .input_box {margin-top:35px}
 	.pd_qnawrite_pop .input_box textarea {display:block; width:100%; height:220px; padding:20px 20px; box-sizing:border-box; color:#222; font-size:16px;}
-	.pd_qnawrite_pop .input_box .txt_cnt {display:block; width:100%; margin-top:10px; z-index:1;}
+	.pd_qnawrite_pop .input_box .txt_cnt {display:block; width:100%; margin-top:14px; font-size:14px; z-index:1;}
+	.pd_qnawrite_pop .input_box .txt_cnt .itemqna_cnt em {font-weight:500;}
 	.pd_qnawrite_pop .secret_box {position:absolute; left:0; bottom:0; z-index:2;}
+	.pd_qnawrite_pop .form_field .secret_box input[type="checkbox"] + label {color:#222; font-size:16px; font-weight:200;}
 	.pd_qnawrite_pop .push_box {margin-top:40px}
 	.pd_qnawrite_pop .push_box dl {color:#222; font-size:16px;}
 	.pd_qnawrite_pop .push_box dl dt {height:24px; margin-right:40px; line-height:24px; font-weight:300;}
@@ -2981,7 +3177,7 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 	/* pd_full_popup */
 	body.lock {overflow:hidden;}
 	.pd_pop.full_pop {display:none; position:fixed; top:0; bottom:0; left:0; right:0; width:100%; height:100%; overflow-y:auto; z-index:110; background:#fff; line-height:1;}
-	.pd_pop.full_pop .info_txt ul li {position:relative; font-size:14px; color:#888; padding-left:15px; margin-bottom:10px; line-height:1;}
+	.pd_pop.full_pop .info_txt ul li {position:relative; font-size:14px; color:#888; padding-left:15px; margin-bottom:15px; line-height:1;}
 	.pd_pop.full_pop .info_txt ul li:last-child {margin-bottom:0;}
 	.pd_pop.full_pop .info_txt ul li:after {content:''; position: absolute; top:5px; left:0; background:#858585; width:3px; height:3px;}
 	.pd_pop .full_popup_wrap {}
@@ -2993,7 +3189,7 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 	.pd_pop .full_popup_wrap .full_pop_header .item_prod .item_state a.itemLink {display:table-cell; height:120px; padding:0 0 0 110px; vertical-align:middle;}
 	.pd_pop .full_popup_wrap .full_pop_header .item_prod .item_state .itemPic {position:absolute; left:0; top:0; width:80px; height:120px; padding:0; margin:0}
 	.pd_pop .full_popup_wrap .full_pop_header .item_prod .item_state .itemBrand {margin:0}
-	.pd_pop .full_popup_wrap .full_pop_header .item_prod .item_state .itemName {margin:15px 0 0}
+	.pd_pop .full_popup_wrap .full_pop_header .item_prod .item_state .itemName {height:14px; line-height:14px; margin:15px 0 0}
 	.pd_pop .full_popup_wrap .full_pop_header .item_prod .item_state .itemPrice {margin:20px 0 0}
 	.pd_pop .full_popup_wrap .full_pop_header .item_prod .item_state .itemPercent {position:relative; top:auto; right:auto;}
 	.pd_pop .full_popup_wrap .full_pop_header .select_custom {width:50%; height:auto;}
@@ -3001,7 +3197,12 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 	.pd_pop .full_popup_wrap .full_pop_header .select_custom .combo .list {top:120px}
 	.pd_pop .full_popup_wrap .full_pop_container {position:relative; width:1200px; margin:auto; padding-top:160px; padding-bottom:160px}
 
-
+	/* pd_pop > 상품썸네일 크게보기 */
+	.pd_pop.full_pop.pd_itemthumb_pop {}
+	.pd_pop.full_pop.pd_itemthumb_pop .full_pop_container {width:100%; padding:0px;}
+	.pd_pop.full_pop.pd_itemthumb_pop .full_pop_container .scaleview {display:block; text-align:center; margin-top:40px;}
+	.pd_pop.full_pop.pd_itemthumb_pop .full_pop_container .scaleview:first-child {margin-top:0}
+	.pd_pop.full_pop.pd_itemthumb_pop .full_pop_container .scaleview img {max-width:100%; cursor:url('/images/pc/cursor_zoomout.png') 0 0, zoom-out;}
 	
 	/* pd_pop > 개별상품상세 설명 페이지 */
 	.pd_pop.full_pop.pd_descrp_pop {padding:0; margin:0; background:none;}
@@ -3020,24 +3221,26 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 	.pd_qnalist .info_txt ul li:last-child {margin-bottom:0;}
 	.pd_qnalist .info_txt ul li:after {content:''; position: absolute; top:5px; left:0; background:#858585; width:3px; height:3px;}
 	.pd_qnalist .info_txt .btn_box {float:right;}
-	.qna_list {margin-top:80px}
-	.qna_list .ui_row {margin-top:20px}
-	.qna_list .nodata {padding-top:120px; border-top:1px solid #222; text-align:center;}
-	.qna_list .nodata .txt_box {color:#666; font-size:16px; font-weight:300; line-height:26px;}
-	.qna_list .nodata .txt_box::before {content:''; display:block; width:36px; height:46px; margin:0 auto 24px; background:url('/images/pc/ico_content_none.png') no-repeat;}
-	.qna_list .form_field input[type="checkbox"] + label {line-height:1;}
-	.qna_list .form_field input[type="checkbox"] + label:before,
-	.qna_list .form_field input[type="checkbox"] + label:after {top:50%; transform:translateY(-50%);}
-	.qna_list .case1 .fold_head .fold_tit span {float:left; display:inline-block; position:relative; width:auto; max-width:600px;}
-	.qna_list .case1 .fold_head .data [class^="wr_"] {display:inline-block; width:100px; text-align:center;}
-	.qna_list .fold_cont .img_group .thumb_pic {background:#fff;}
-	.qna_list .fold_cont .img_group .thumb_pic img{position:absolute; left:50%; right:0; top:50%; bottom:auto; transform:translate(-50%, -50%); width:auto; height:auto; max-height:100%; max-width:100%; margin:auto 0; cursor:pointer;}
-	.qna_list .case1 .my_qna .fold_head,
-	.qna_list .case1 .my_qna .fold_head.on,
-	.qna_list .case1 .my_qna .fold_detail {background:#fff6f2;}
-	.qna_list .fold_head .fold_tit .ico {float:left; display:inline-block; width:auto; height:auto; margin-left:12px;}
-	.qna_list .fold_head .fold_tit .ico_myqna::after {content:'내문의'; display:inline-block; width:47px; height:22px;  border:1px solid #fd4802; color:#fd4802; font-size:12px; text-align:center; box-sizing:border-box; line-height:20px; margin-top:-3px}
-	.qna_list .fold_head .fold_tit .ico_secret::after {content:''; display:inline-block; width:15px; height:16px; background:url('/images/pc/ico_secret.png') no-repeat 50% 50%;}
+	.pd_qnalist .info_txt .btn_box button {height:42px; padding-left:24px; padding-right:24px; font-size:14px;}
+	.pd_qnalist .info_txt .btn_box button span {display:inline-block; line-height:1;}
+	.pd_qnalist .qna_list {margin-top:80px}
+	.pd_qnalist .qna_list .ui_row {margin-top:20px}
+	.pd_qnalist .qna_list .nodata {padding-top:120px; border-top:1px solid #222; text-align:center;}
+	.pd_qnalist .qna_list .nodata .txt_box {color:#666; font-size:16px; font-weight:300; line-height:26px;}
+	.pd_qnalist .qna_list .nodata .txt_box::before {content:''; display:block; width:36px; height:46px; margin:0 auto 24px; background:url('/images/pc/ico_content_none.png') no-repeat;}
+	.pd_qnalist .qna_list .form_field input[type="checkbox"] + label {line-height:1;}
+	.pd_qnalist .qna_list .form_field input[type="checkbox"] + label:before,
+	.pd_qnalist .qna_list .form_field input[type="checkbox"]:checked + label:after {top:50%; transform:translateY(-50%);}
+	.pd_qnalist .qna_list .case1 .fold_head .fold_tit span {float:left; display:inline-block; position:relative; width:auto; max-width:600px;}
+	.pd_qnalist .qna_list .case1 .fold_head .data [class^="wr_"] {display:inline-block; width:100px; text-align:center;}
+	.pd_qnalist .qna_list .fold_cont .img_group .thumb_pic {background:#fff;}
+	.pd_qnalist .qna_list .fold_cont .img_group .thumb_pic img{position:absolute; left:50%; right:0; top:50%; bottom:auto; transform:translate(-50%, -50%); width:auto; height:auto; max-height:100%; max-width:100%; margin:auto 0; cursor:pointer;}
+	.pd_qnalist .qna_list .case1 .my_qna .fold_head,
+	.pd_qnalist .qna_list .case1 .my_qna .fold_head.on,
+	.pd_qnalist .qna_list .case1 .my_qna .fold_detail {background:#fff6f2;}
+	.pd_qnalist .qna_list .fold_head .fold_tit .ico {float:left; display:inline-block; width:auto; height:auto; margin-left:12px;}
+	.pd_qnalist .qna_list .fold_head .fold_tit .ico_myqna::after {content:'내문의'; display:inline-block; width:47px; height:22px;  border:1px solid #fd4802; color:#fd4802; font-size:12px; text-align:center; box-sizing:border-box; line-height:20px; margin-top:-3px}
+	.pd_qnalist .qna_list .fold_head .fold_tit .ico_secret::after {content:''; display:inline-block; width:15px; height:16px; background:url('/images/pc/ico_secret.png') no-repeat 50% 50%;}
 
 	/* pd_pop > 상품리뷰 페이지 */
 	.pd_review_pop {}
@@ -3074,7 +3277,7 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 	.pd_review .area_rv_average .star_score span {display:inline-block; position:relative; color:#fd4802; vertical-align:middle;}
 	.pd_review .area_rv_average .star_score .tit {margin-right:30px; font-size:18px; font-weight:300;}
 	.pd_review .area_rv_average .star_score .score {margin-right:15px; font-size:32px; font-weight:500;}
-	.pd_review .area_rv_average .star_score .star {width:152px; height:24px; background:#ddd;}
+	.pd_review .area_rv_average .star_score .star {width:152px; height:24px; background:#f5f5f5;}
 	.pd_review .area_rv_average .star_score .star .progbar {display:inline-block; height:100%; background-color:#fd4802;}
 	.pd_review .area_rv_average .star_score .star::after {content:''; position:absolute; left:0; top:0; z-index:2; width:100%; height:100%; background:url('/images/pc/star_empty_big.png') no-repeat 0 0; background-size:100% 100%; image-rendering:pixelated;}
 
@@ -3120,7 +3323,7 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 	.pd_review .area_rv_best .best_review a {display:block;position:relative;height:222px;padding:30px 30px 30px 215px;padding: 30px;border:1px solid #eee;}
 	.pd_review .area_rv_best .best_review a .pic {position: relative;float: left;width:162px;height: 162px;margin-right: 23px;}
 	.pd_review .area_rv_best .best_review a .star_score {margin-top:7px; height:14px;}
-	.pd_review .area_rv_best .best_review a .star_score .star {display:inline-block; position:relative; width:102px; height:17px; background:#ddd;}
+	.pd_review .area_rv_best .best_review a .star_score .star {display:inline-block; position:relative; width:102px; height:17px; background:#f5f5f5;}
 	.pd_review .area_rv_best .best_review a .star_score .star::after {content:''; position:absolute; left:0; top:0; z-index:3; width:100%; height:100%; background:url('/images/pc/star_empty_big.png') no-repeat 0 0; background-size:100% 100%; image-rendering:pixelated;}
 	.pd_review .area_rv_best .best_review a .star_score .star .progbar {display:inline-block; height:100%; background:#fd4802}
 	.pd_review .area_rv_best .best_review a .star_score .ico {margin-left:10px}
@@ -3137,20 +3340,28 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 
 	.pd_review .area_rv_all {margin-top:100px}
 	.pd_review .area_rv_all h6 span {display:inline-block; margin-left:5px; color:#666; font-weight:200;}
-	.pd_review .area_rv_all .selection {position:absolute; right:0; top:-16px; width:800px; z-index:2;}
-	.pd_review .area_rv_all .selection .select_custom {margin-left:10px;}
+	.pd_review .area_rv_all .selection {position:absolute; right:0; top:-16px; width:750px; z-index:2;}
+	.pd_review .area_rv_all .selection .select_custom {height:42px; margin-left:10px;}
+	.pd_review .area_rv_all .selection .select_custom:first-child {margin-left:0;}
 	.pd_review .area_rv_all .selection .select_custom .combo .select {height:42px; padding:15px 20px; color:#666; font-size:14px;}
-	.pd_review .area_rv_all .selection .select_custom .combo .list {max-height:250px; overflow-y:auto;}
+	.pd_review .area_rv_all .selection .select_custom .combo .list {top:42px; max-height:250px; overflow-y:auto;}
 	.pd_review .area_rv_all .selection .select_custom .combo .list::-webkit-scrollbar {width:2px;}
 	.pd_review .area_rv_all .selection .select_custom .combo .list::-webkit-scrollbar-thumb {background-color:#222; border-radius:0px; background-clip:padding-box; border:none;}
 	.pd_review .area_rv_all .selection .select_custom .combo .list::-webkit-scrollbar-track {background-color:#ddd; border-radius:0px; box-shadow:none;}
 	.pd_review .area_rv_all .selection .select_custom .combo .list li {padding:0 20px; color:#666; font-size:14px; line-height:40px;}
+	.pd_review .area_rv_all .selection .select_custom .star_score {display:inline-block; width:100%;}
+	.pd_review .area_rv_all .selection .select_custom .star_score .score {float:left; font-size:14px; color:#666;}
+	.pd_review .area_rv_all .selection .select_custom .star_score .star {float:left; margin-left:8px;}
+	.pd_review .area_rv_all .selection .select_custom .star_score .star .progbar {float:left;}
+	.pd_review .area_rv_all .selection .select_custom .combo .select .star_score .star {margin-top:-2px;}
+	.pd_review .area_rv_all .selection .select_custom.on .combo .select {border-bottom:1px solid #ddd}
+
 	.pd_review .area_rv_all .review_list {border-top:1px solid #ddd;}
 	.pd_review .area_rv_all .review_list > ul > li {padding:30px 0; border-bottom:1px solid #ddd; }
 	.pd_review .area_rv_all .review_list > ul > li .review {}
 	.pd_review .area_rv_all .review_list .review .info_box {}
 	.pd_review .area_rv_all .review_list .review .info_box .star_score {float:left}
-	.pd_review .area_rv_all .review_list .review .info_box .star_score .star {display:inline-block; position:relative; width:101px; height:16px; background:#ddd;}
+	.pd_review .area_rv_all .review_list .review .info_box .star_score .star {display:inline-block; position:relative; width:101px; height:16px; background:#f5f5f5;}
 	.pd_review .area_rv_all .review_list .review .info_box .star_score .star::after {content:''; position:absolute; left:0; top:0; z-index:3; width:100%; height:100%; background:url('/images/pc/star_empty_big.png') no-repeat 0 0; background-size:100% 100%; image-rendering:pixelated;}
 	.pd_review .area_rv_all .review_list .review .info_box .star_score .star .progbar {display:inline-block; height:100%; background:#fd4802}
 	.pd_review .area_rv_all .review_list .review .info_box .writer {float:right;}
@@ -3384,8 +3595,7 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 	.container.my .wrap .content .cont_body {margin-bottom: 150px;}
 	.my .lnb_list::after {display: none;}
 	.my .subH2 {margin-bottom: 25px; font-size: 26px;}
-	.my .cont .sec_head h3,
-	.my .my_cont .sec_head h3 {display: inline-block; font-size:32px; font-weight:500;}
+	.my .cont .sec_head h3 {display: inline-block; font-size:32px; font-weight:500;}
 	.my .btn.btn_sm {font-size: 14px;}
 	.my .select {font-size: 14px;}
 	.my .select_dress {padding:12px 20px;}
@@ -3396,10 +3606,9 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 	.my .radio_field input[type="radio"] + label:before {background-position: 0 0;}
 	.my .radio_field input[type="radio"]:checked + label:after {background-position: -20px 0;}
 
-	.my .sec_head {position: relative; font-size: 0;}
-	.my .sec_head h3 {display: inline-block; font-size:30px; font-weight:500; margin-bottom: 0; vertical-align: middle;}
-	.my .sec_head .mem_name {margin-bottom: 30px; font-weight: 200; color: #898989;}
-	.my .sec_head .mem_name strong {color: #000; font-weight: 500;}
+	.my .sec_head {position: relative;}
+	.my .sec_head .mem_name {margin-bottom:30px; color:#666; font-size:30px; font-weight:200; vertical-align:bottom;}
+	.my .sec_head .mem_name strong {display:inline-block; color:#000; font-weight:500;}
 	.my .sec_head .od_detail {display: inline-block; margin:0 10px; font-size: 24px; font-weight: 200; color:#888; vertical-align: middle;}
 	.my .sec_head .od_del_btn {padding:6px 14px; background:#f5f5f5; border:none; color:#222; font-size:14px; vertical-align: middle;}
 	

+ 44 - 6
src/main/webapp/ux/pc/js/common-ui.js

@@ -54,6 +54,40 @@ $(document).ready(function(){
 		history.back()
 	});
 
+	//통합검색 - 레이어 열고닫기
+	$(document).on('click','.common_header .search .promotion_search, .common_header .search .btn_open_search',function(e){
+		$('body').addClass('lock');
+		$("#header .common_search").addClass('active'); 
+		return false;
+	}).on('click','.common_search .btn_close_search',function(e){
+		$("#header .common_search").removeClass('active'); 
+		$('body').removeClass('lock');
+		return false;
+	});		
+
+	//통합검색 - 검색어 입력 시 
+	$(document).on('keyup','.common_search .area_input input',function(e){
+		var searchValue = $(this).val();
+		if(searchValue.length > 0) {
+			$('.common_search .area_result .default_box').hide();	
+			$('.common_search .area_result .searching_box').show();	
+		} else if (searchValue.length == 0) {
+			$('.common_search .area_result .searching_box').hide();	
+			$('.common_search .area_result .default_box').show();	
+		}
+	});
+
+	//통합검색 - 슬라이드 컨트롤러 > 지금 고객님들이 많이 보고 있어요 
+	$(document).on('click','.common_search .realtime_slider .btn_pause',function(e){
+		realtimeItemSwiper.autoplay.stop();
+		$(this).hide();
+		$('.common_search .realtime_slider .btn_play').show();
+	}).on('click','.common_search .realtime_slider .btn_play',function(e){
+		realtimeItemSwiper.autoplay.start();
+		$(this).hide();
+		$('.common_search .realtime_slider .btn_pause').show();
+	});
+
 });
 /* * * * * * * * * * * * * * * * * * * * * * * 
 
@@ -116,7 +150,6 @@ $(document).ready(function() {
 	}
 });
 
-
 // check-All
 $( document ).ready(function() {
 	var $chkAll = $('.check-all');
@@ -225,7 +258,8 @@ function sCombo(selector){
 	sCombo.prototype.listSelect = function($target){
 		$target.addClass('selected').siblings('li').removeClass('selected');
 		this.$selectBox.removeClass('on');
-		this.$select.text($target.text());
+		//this.$select.text($target.text());
+		this.$select.html($target.html());
 		this.$list.css('display', 'none');
 	}
 	sCombo.prototype.listOff = function($target){
@@ -308,12 +342,16 @@ $(document).ready( function() {
 	});
 
 	/* 상품상세 > 상품문의 _accordion */
-	$(document).on('click','.pd_qnalist_pop .foldGroup .fold_head',function(e){
-		$(this).parents('.foldGroup li').find('.fold_cont').slideToggle(100);
-		$(this).toggleClass('on');
-		return false;
+	$(document).on('click','.pd_qnalist .foldGroup .fold_head',function(e){
+		if($(this).parent().hasClass('secret_qna')){
+			alert('비밀글은 열람하실 수 없습니다.');
+		}else {
+			$(this).parents('.foldGroup li').find('.fold_cont').slideToggle(100);
+			$(this).toggleClass('on');
+		}
 	});
 	
+	
 	/* 아이디/비밀번호 찾기_accordion:open */
 	$(document).on('click','.mb .foldGroup.checkcase .fold_head',function(e){	
 		$(this).parents('.foldGroup li').find('.fold_cont').slideDown(100);

+ 1 - 0
src/main/webapp/ux/style24_link.js

@@ -34,6 +34,7 @@ const _PAGE_GOODS_REVIEW_LAYER = _frontUrl + "/goods/review/layer/";								// 
 const _PAGE_GOODS_REVIEW_BEST_LAYER = _frontUrl + "/goods/review/best/layer/";						// 상품평- 베스트 리뷰 (list)
 const _PAGE_GOODS_REVIEW_PHOTO_LAYER = _frontUrl + "/goods/review/photo/layer/";					// 상품평- 포토/영상 리뷰 (list)
 const _PAGE_GOODS_REVIEW_PHOTO_DETAIL_LAYER = _frontUrl + "/goods/review/photo/detail/layer/";		// 상품평- 포토/영상 리뷰 (detail)
+const _PAGE_GOODS_CPN_DOWNLOAD = "/goods/coupon/download";											// 상품쿠폰다운로드
 
 //== 장바구니 ==/