Просмотр исходного кода

Merge remote-tracking branch 'origin/xodud1202' into order

card007 5 лет назад
Родитель
Сommit
0532ac229c
24 измененных файлов с 391 добавлено и 208 удалено
  1. 3 0
      src/main/java/com/style24/front/biz/service/TsfCouponService.java
  2. 22 10
      src/main/java/com/style24/front/biz/service/TsfGoodsService.java
  3. 3 4
      src/main/java/com/style24/front/biz/service/TsfReviewService.java
  4. 25 14
      src/main/java/com/style24/front/biz/web/TsfDisplayController.java
  5. 2 2
      src/main/java/com/style24/front/biz/web/TsfGoodsController.java
  6. 5 3
      src/main/java/com/style24/front/biz/web/TsfMypageController.java
  7. 2 0
      src/main/java/com/style24/persistence/domain/GoodsSearch.java
  8. 5 5
      src/main/java/com/style24/persistence/domain/Plan.java
  9. 5 0
      src/main/java/com/style24/persistence/mybatis/shop/TsfCoupon.xml
  10. 20 3
      src/main/java/com/style24/persistence/mybatis/shop/TsfDisplay.xml
  11. 1 0
      src/main/java/com/style24/persistence/mybatis/shop/TsfOrderChange.xml
  12. 3 3
      src/main/webapp/WEB-INF/views/mob/cart/CartChangeOptionPopupMob.html
  13. 8 1
      src/main/webapp/WEB-INF/views/mob/cart/CartListAjaxFormMob.html
  14. 11 1
      src/main/webapp/WEB-INF/views/web/cart/CartListAjaxFormWeb.html
  15. 57 14
      src/main/webapp/WEB-INF/views/web/display/BrandMainFormWeb.html
  16. 4 4
      src/main/webapp/WEB-INF/views/web/display/MallMainFormWeb.html
  17. 1 1
      src/main/webapp/WEB-INF/views/web/goods/GoodsDetailFormWeb.html
  18. 1 0
      src/main/webapp/WEB-INF/views/web/goods/GoodsDetailReviewFormWeb.html
  19. 4 4
      src/main/webapp/WEB-INF/views/web/goods/GoodsIncludeFormWeb.html
  20. 15 15
      src/main/webapp/WEB-INF/views/web/mypage/MypageReviewCreateFormWeb.html
  21. 31 15
      src/main/webapp/ux/mo/css/common_m.css
  22. 37 16
      src/main/webapp/ux/mo/css/layout_m.css
  23. 83 72
      src/main/webapp/ux/mo/css/style24_m.css
  24. 43 21
      src/main/webapp/ux/mo/js/common_m.js

+ 3 - 0
src/main/java/com/style24/front/biz/service/TsfCouponService.java

@@ -94,6 +94,9 @@ public class TsfCouponService {
 				} else if ("N".equals(myCpn.getAvailYn())) {
 					cpn.setResult("지급 받으신 쿠폰의 유효기간이 아닙니다.");
 					return cpn;
+				} else if (!StringUtils.isEmpty(myCpn.getRdCpnNm()) && myCpn.getCnt() < 1) {
+					cpn.setResult("동일 쿠폰을 " + myCpn.getRdCpnNm() + "으로 지급 받으셨습니다.<br/>해당 쿠폰을 사용해주세요.");
+					return cpn;
 				}
 			} else {
 				/* 다운받은 쿠폰이 아닐 경우 (tb_cust_coupon insert) */

+ 22 - 10
src/main/java/com/style24/front/biz/service/TsfGoodsService.java

@@ -3,14 +3,6 @@ package com.style24.front.biz.service;
 import java.util.ArrayList;
 import java.util.Collection;
 
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import com.style24.core.support.env.TscConstants;
-import com.style24.front.biz.dao.TsfGoodsDao;
-import com.style24.front.support.security.session.TsfSession;
 import com.style24.persistence.domain.CardPromotion;
 import com.style24.persistence.domain.Cate4Srch;
 import com.style24.persistence.domain.Delivery;
@@ -22,11 +14,21 @@ import com.style24.persistence.domain.GoodsNotiInfo;
 import com.style24.persistence.domain.GoodsSafeNo;
 import com.style24.persistence.domain.GoodsStock;
 import com.style24.persistence.domain.GoodsViewHst;
+import com.style24.persistence.domain.GoodsSearch;
 import com.style24.persistence.domain.Measurement;
 import com.style24.persistence.domain.Notice;
 import com.style24.persistence.domain.ReinboundInform;
 import com.style24.persistence.domain.SizeInfo;
 import com.style24.persistence.domain.VideoDisploc;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.style24.core.support.env.TscConstants;
+import com.style24.front.biz.dao.TsfGoodsDao;
+import com.style24.front.biz.dao.TsfDisplayDao;
+import com.style24.front.support.security.session.TsfSession;
 
 import lombok.extern.slf4j.Slf4j;
 
@@ -46,6 +48,9 @@ public class TsfGoodsService {
 	@Autowired
 	private TsfCouponService couponService;
 
+	@Autowired
+	private TsfDisplayDao displayDao;
+
 	/**
 	 * 상품뷰이력 생성
 	 *
@@ -711,8 +716,7 @@ public class TsfGoodsService {
 
 		Collection<Goods> goodsList = new ArrayList<>();
 
-		if (cate.getContentsLoc().equals("SCM002") || cate.getContentsLoc().equals("SBM007") || cate.getContentsLoc().equals("SBM013")
-				|| cate.getContentsLoc().equals("SMM003")) { // 신상품인 경우
+		if (cate.getContentsLoc().equals("SCM002") || cate.getContentsLoc().equals("SBM007") || cate.getContentsLoc().equals("SMM003")) { // 신상품인 경우
 			goodsList = goodsDao.getContentsCategoryGoodsList(cate);
 
 			// 조회된 데이터가 없거나 건수가 20개 미만이면 신규상품(=정상상품) 조회
@@ -734,6 +738,14 @@ public class TsfGoodsService {
 
 			// 추천솔루션 데이터가 없으면 베스트로 등록된 상품 조회
 			goodsList = goodsDao.getContentsCategoryGoodsList(cate);
+		} else if(cate.getContentsLoc().equals("SBM013")){
+			GoodsSearch goodsSearch = new GoodsSearch();
+			goodsSearch.setSiteCd(TscConstants.Site.STYLE24.value());
+			goodsSearch.setCustNo(cate.getCustNo());
+			goodsSearch.setBrandGroupNo(cate.getBrandGroupNo());
+			goodsSearch.setMaxRow(cate.getMaxRow());
+			goodsSearch.setContentsLoc(cate.getContentsLoc());
+			goodsList = displayDao.getCategoryGoodsList(goodsSearch);
 		}else{
 			goodsList = goodsDao.getContentsCategoryGoodsList(cate);
 		}

+ 3 - 4
src/main/java/com/style24/front/biz/service/TsfReviewService.java

@@ -7,11 +7,9 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import com.gagaframework.web.parameter.GagaMap;
 import com.style24.front.biz.dao.TsfReviewDao;
 import com.style24.front.support.security.session.TsfSession;
 import com.style24.persistence.domain.Goods;
-import com.style24.persistence.domain.Order;
 import com.style24.persistence.domain.Review;
 
 import lombok.extern.slf4j.Slf4j;
@@ -153,8 +151,9 @@ public class TsfReviewService {
 	public void saveMypageReview(Review review) {
 		review.setDispYn("Y");
 		review.setDelYn("N");
-		review.setRegNo(review.getCustNo());
-		review.setUpdNo(review.getCustNo());
+		review.setRegNo(TsfSession.getInfo().getCustNo());
+		review.setUpdNo(TsfSession.getInfo().getCustNo());
+		
 		reviewDao.saveMypageReview(review);
 	}
 	

+ 25 - 14
src/main/java/com/style24/front/biz/web/TsfDisplayController.java

@@ -7,6 +7,18 @@ import java.util.HashMap;
 
 import javax.servlet.http.HttpServletResponse;
 
+import com.style24.persistence.domain.BrandGroup;
+import com.style24.persistence.domain.Cate4Srch;
+import com.style24.persistence.domain.Contents;
+import com.style24.persistence.domain.GnbTab;
+import com.style24.persistence.domain.Goods;
+import com.style24.persistence.domain.GoodsSearch;
+import com.style24.persistence.domain.Lookbook;
+import com.style24.persistence.domain.MainLayout;
+import com.style24.persistence.domain.Plan;
+import com.style24.persistence.domain.Popup;
+import com.style24.persistence.domain.Social;
+import com.style24.persistence.domain.Login;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.mobile.device.Device;
@@ -30,17 +42,6 @@ import com.style24.front.biz.service.TsfSocialService;
 import com.style24.front.support.controller.TsfBaseController;
 import com.style24.front.support.security.session.TsfSession;
 import com.style24.persistence.TscPageRequest;
-import com.style24.persistence.domain.BrandGroup;
-import com.style24.persistence.domain.Cate4Srch;
-import com.style24.persistence.domain.Contents;
-import com.style24.persistence.domain.GnbTab;
-import com.style24.persistence.domain.Goods;
-import com.style24.persistence.domain.GoodsSearch;
-import com.style24.persistence.domain.Lookbook;
-import com.style24.persistence.domain.MainLayout;
-import com.style24.persistence.domain.Plan;
-import com.style24.persistence.domain.Popup;
-import com.style24.persistence.domain.Social;
 
 import lombok.extern.slf4j.Slf4j;
 
@@ -87,13 +88,22 @@ public class TsfDisplayController extends TsfBaseController {
 	@GetMapping("/mall/main/form")
 	public ModelAndView mallMain(Device device, @RequestParam HashMap<String, String> paramMap) {
 		ModelAndView mav = new ModelAndView();
+		MainLayout mallMainLayout = new MainLayout();
+		// 로그인 유무 확인 (로그인이 되어 있지 않으면 regNo 를 0으로 장바구니에 저장한다.)
+		Login login = new Login();
+		if(TsfSession.isLogin()) {
+			login = TsfSession.getInfo();
+		} else {
+			login.setCustNo(0);
+		}
+
 		String mainCateNo = "";
 		if (device.isMobile() || "Y".equals(paramMap.get("mobileYn"))) {
 			mainCateNo = "1720";
 		} else {
 			mainCateNo = "1700";
 		}
-		MainLayout mallMainLayout = new MainLayout();
+
 		mallMainLayout.setCateNo(Integer.parseInt(mainCateNo));
 		Collection<MainLayout> mainLayoutCollection = displayService.getMainLayout(mallMainLayout);
 
@@ -112,6 +122,7 @@ public class TsfDisplayController extends TsfBaseController {
 
 			Cate4Srch cate4Srch = new Cate4Srch();
 			cate4Srch.setContentsLoc(contentsLoc);
+			cate4Srch.setCustNo(login.getCustNo());
 			cate4Srch = displayService.getCate4srch(cate4Srch);
 			mainLayout.setCate4Srch(cate4Srch);
 
@@ -253,7 +264,7 @@ public class TsfDisplayController extends TsfBaseController {
 			if ("C".equals(brandMain.getContentsYn())) {
 				if (contentsLoc.equals("SBM013")) {
 					cate4Srch.setBrandGroupNo(brandMain.getBrandGroupNo());
-					cate4Srch.setMaxRow(5);
+					cate4Srch.setMaxRow(50);
 					Collection<Goods> goodsList = goodsService.getContentsCategoryGoodsList(cate4Srch);
 					brandMain.setGoodsList(goodsList);
 				}
@@ -281,7 +292,7 @@ public class TsfDisplayController extends TsfBaseController {
 				plan.setBrandGroupNo(Integer.parseInt(paramMap.get("brandGroupNo")));
 				plan.setMaxRow(6);
 				plan.setFrontGb(TsfSession.getFrontGb());
-				plan.setSiteCd("G000_10");
+				plan.setSiteCd(TscConstants.Site.STYLE24.value());
 				brandMain.setPlanningList(planningService.getPlanningMainList(plan));
 			}
 

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

@@ -160,8 +160,8 @@ public class TsfGoodsController extends TsfBaseController {
 		// 상품 기본정보
 		mav.addObject("goodsInfo", goods);
 		// 상품 네비정보
-		paramsGoods.setCateGb("G032_101"); 		//by item
-		mav.addObject("goodsNavigation", goodsService.getGoodsNavigation(paramsGoods));
+//		paramsGoods.setCateGb("G032_101"); 		//by item
+//		mav.addObject("goodsNavigation", goodsService.getGoodsNavigation(paramsGoods));
 		// 상품 이미지정보
 		mav.addObject("goodsImgList", goodsService.getGoodsImgList(paramsGoods));
 		// 상품 동영상정보

+ 5 - 3
src/main/java/com/style24/front/biz/web/TsfMypageController.java

@@ -17,9 +17,6 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.servlet.ModelAndView;
 
-import com.gagaframework.web.parameter.GagaMap;
-import com.gagaframework.web.rest.server.GagaResponse;
-import com.gagaframework.web.rest.server.GagaResponseStatus;
 import com.style24.core.biz.service.TscCouponService;
 import com.style24.core.biz.service.TscCustomerService;
 import com.style24.core.biz.service.TscKakaoPayService;
@@ -59,6 +56,10 @@ import com.style24.persistence.domain.WishList;
 
 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;
+
 /**
  * 마이페이지 Controller
  * 
@@ -1310,6 +1311,7 @@ public class TsfMypageController extends TsfBaseController {
 	public GagaMap mypageReviewSave(@RequestBody Review review) {
 
 		GagaMap result = new GagaMap();
+		review.setCustNo(TsfSession.getInfo().getCustNo());
 		if(reviewService.reviewDeleteConfirm(review).getCount() > 0) {
 			review.setReviewSq(reviewService.reviewDeleteConfirm(review).getReviewSq());
 		}

+ 2 - 0
src/main/java/com/style24/persistence/domain/GoodsSearch.java

@@ -64,4 +64,6 @@ public class GoodsSearch extends TscBaseDomain {
     private int pageUnit = 10;
     private String sortGb;
 
+    private String contentsLoc;
+    private int maxRow;
 }

+ 5 - 5
src/main/java/com/style24/persistence/domain/Plan.java

@@ -151,14 +151,14 @@ public class Plan extends TscBaseDomain {
 	private String imgPath4;			// 이미지 경로4
 	private String imgPath5;			// 이미지 경로5
 	private String imgPath6;			// 이미지 경로6
-	private String dcRate;				// 할인율
-	private String listPrice;			// 최소 소비자가
-	private String tagPrice;			// tag 가
-	private String currPrice;			// 판매가
+	private float dcRate;				// 할인율
+	private int listPrice;			// 최소 소비자가
+	private int tagPrice;			// tag 가
+	private int currPrice;			// 판매가
 	private String supplyCompCd;		// 업체코드
 	private String supplyCompNm;		// 업체명
 	private String formalGb;			// 정상/이월 여부
-	private String currStockQty;		// 재고
+	private int currStockQty;		// 재고
 	private String pageYn;				// 페이징 사용 여부
 	private String changeGb;			// 순서변경 updown 구분
 	private int stockQtySum;			// 재고

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

@@ -28,11 +28,16 @@
 		     , CP.CPN_NM
 		     , CP.CUST_PUB_LIMIT_QTY
 		     , CP.APPLY_SCOPE
+		     , RC.RD_CPN_NM
+		     , CASE WHEN #{rdCpnNm} = RC.RD_CPN_NM THEN 1 ELSE 0 END AS CNT
 		     , DATE_FORMAT(CC.AVAIL_STDT, '%Y.%m.%d %H:%i') AS AVAIL_STDT_TIME
 		     , DATE_FORMAT(CC.AVAIL_EDDT, '%Y.%m.%d %H:%i') AS AVAIL_EDDT_TIME
 		FROM   TB_COUPON CP
 		INNER  JOIN TB_CUST_COUPON CC
 		ON     CC.CPN_ID = CP.CPN_ID
+		LEFT   OUTER JOIN TB_RANDOM_COUPON RC
+		ON     RC.CPN_ID = CC.CPN_ID
+		AND    CC.CUST_NO = RC.CUST_NO
 		WHERE  1=1
 		AND    CC.CPN_ID = #{cpnId}
 		AND    CC.CUST_NO = #{custNo}

+ 20 - 3
src/main/java/com/style24/persistence/mybatis/shop/TsfDisplay.xml

@@ -690,6 +690,7 @@
 		  AND S.STOCK_QTY > 0 /*재고있는상품*/
 	</select>
 
+	<!-- 카테고리별 상품 총 리스트 -->
 	<select id="getCategoryGoodsList" parameterType="GoodsSearch" resultType="Goods">
 		/* TsfDisplay.getCategoryGoodsList */
 		WITH TAB_GOODS AS (
@@ -721,9 +722,14 @@
 		               , G.LIST_PRICE                                             /*정상가(최초판매가)*/
 		               , G.CURR_PRICE                                             /*현재판매가*/
 		               , G.REG_DT                                                 /*등록일시*/
-		               , ROW_NUMBER() OVER(ORDER BY CG.DISP_ORD
-		                                          , G.REG_DT DESC
-		                                          , G.GOODS_CD) AS NUMB
+		               <choose>
+		                   <when test="contentsLoc == 'SBM013'">
+		               , ROW_NUMBER() OVER(ORDER BY G.REG_DT DESC) AS NUMB
+		                   </when>
+		                   <otherwise>
+		               , ROW_NUMBER() OVER(ORDER BY CG.DISP_ORD , G.REG_DT DESC , G.GOODS_CD) AS NUMB
+		                   </otherwise>
+		               </choose>
 		          FROM	TB_GOODS G
 		          JOIN	TB_CATE_GOODS CG ON G.GOODS_CD = CG.GOODS_CD
 		          JOIN	TB_BRAND B ON G.BRAND_CD = B.BRAND_CD AND B.USE_YN = 'Y'
@@ -745,7 +751,9 @@
 		                        AND SITE_CD = #{siteCd}
 		                        AND CATE_GB = 'G032_101' /*BY ITEM*/
 		                        AND CATE_TYPE = 'G031_10'
+		                        <if test="cate1No != null and cate1No != ''">
 		                        AND CATE1_NO = #{cate1No}
+		                        </if>
 		                        <if test="cate2No != null and cate2No != ''">
 		                        AND CATE2_NO = #{cate2No}
 		                        </if>
@@ -759,15 +767,24 @@
 		                        AND CATE5_NO = #{cate5No}
 		                        </if>
 		              )
+		          <if test="brandGroupNo != null and brandGroupNo != ''">
+		          AND BG.BRAND_GROUP_NO = #{brandGroupNo}
+		          </if>
 		          AND G.GOODS_STAT = 'G008_90' /*승인완료상품*/
 		          AND G.SELF_MALL_YN = 'Y' /*몰노출상품*/
 		          AND NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*판매기간*/
 		          AND S.STOCK_QTY > 0 /*재고있는상품*/
+		          <if test="contentsLoc == 'SBM013'">
+		          GROUP BY G.GOODS_CD
+		          </if>
 		          ) G
 		     WHERE  1=1
 		     <if test="pageable != null and pageable.endRow != null and pageable.endRow > 0">
 		     AND  G.NUMB BETWEEN #{pageable.startRow} AND #{pageable.endRow}
 		     </if>
+		     <if test="maxRow != null and maxRow !=''">
+		     AND  G.NUMB <![CDATA[<=]]> #{maxRow}
+		     </if>
 		)
 		, TAB_GOODS_IMG AS (
 		/* 상품의 이미지 */

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

@@ -346,6 +346,7 @@
 		    ON ODI.ITEM_CD = G2.GOODS_CD
 		 INNER JOIN TB_PAYMENT P
 		    ON P.ORD_NO = O.ORD_NO
+		   AND P.PAY_STAT = 'G016_30'
 		  LEFT OUTER JOIN (SELECT OD.ORD_DTL_NO
 		                        , SUM(OCD.CHG_QTY) AS ORD_REQ_CHG_QTY
 		                     FROM TB_ORDER_CHANGE_DETAIL OCD

+ 3 - 3
src/main/webapp/WEB-INF/views/mob/cart/CartChangeOptionPopupMob.html

@@ -103,7 +103,7 @@
 						</div>
 						<div class="opt_header">
 							<span class="title">옵션1</span>
-							<span class="color" th:classappend="|chooseColorNm_${comp.goodsCd}|" th:text="${comp.colorNm}"></span>
+							<span class="info" th:classappend="|chooseColorNm_${comp.goodsCd}|" th:text="${comp.colorNm}"></span>
 							<div class="form_field">
 								<input id="od_item_off" type="checkbox"><label for="od_item_off"><span>품절 제외</span></label>
 							</div>
@@ -160,7 +160,7 @@
 					<div class="opt_select">
 						<div class="opt_header">
 							<span class="title">옵션1</span>
-							<span class="color" th:classappend="|chooseColorNm_${comp.goodsCd}|" th:text="${comp.colorNm}"></span>
+							<span class="info" th:classappend="|chooseColorNm_${comp.goodsCd}|" th:text="${comp.colorNm}"></span>
 							<div class="form_field">
 								<input id="od_item_off" type="checkbox"><label for="od_item_off"><span>품절 제외</span></label>
 							</div>
@@ -183,7 +183,7 @@
 					<div class="opt_select">
 						<div class="opt_header">
 							<span class="title">옵션2</span>
-							<span class="color" th:classappend="|chooseSizeNm_${comp.goodsCd}|" th:text="${comp.optCd2}"></span>
+							<span class="info" th:classappend="|chooseSizeNm_${comp.goodsCd}|" th:text="${comp.optCd2}"></span>
 						</div>
 						<form class="form_wrap">
 							<div class="form_field">

+ 8 - 1
src/main/webapp/WEB-INF/views/mob/cart/CartListAjaxFormMob.html

@@ -449,7 +449,7 @@
 				</div>
 				<div class="coupon_box">
 					<div class="coupon">
-						<button type="button" class="btn_delete"><span><em class="sr-only">쿠폰닫기</em></span></button>
+						<button type="button" class="btn_delete" onclick="cancelCartCpn()"><span><em class="sr-only">쿠폰닫기</em></span></button>
 						<div>
 							<p class="cp_name"></p>
 							<p class="cp_cont">
@@ -1220,6 +1220,13 @@
 			$('.optModify_pop .opt_color .opt_header .color').text(optColor);
 			return false;
 		});
+
+		/* 쿠폰정보 닫기 */
+		function cancelCartCpn() {
+			$("#cartListForm #sumRealPayAmt").text(Number(sumRealPayAmt).toLocaleString());
+			$("#cartListForm #totDcAmt").text(Number(totDcAmt).toLocaleString());
+			$("#cartListForm .area_salecoupon .coupon_box").hide();
+		}
 	</script>
 </th:block>
 </body>

+ 11 - 1
src/main/webapp/WEB-INF/views/web/cart/CartListAjaxFormWeb.html

@@ -585,7 +585,7 @@
 			cfnAddCart(compsList);*/
 
 			if([[${!order.shotCanYn.equals('Y')}]]) {
-				//$(".shotDelvSelect").hide();
+				$(".shotDelvSelect").hide();
 			}
 
 			$("#cartListForm .area_salecoupon .coupon_box").hide();
@@ -678,6 +678,11 @@
 				currPrices.push($(this).parents(".cartInfo").find("input[name=tmtbDcAmt]").val());
 			});
 
+			if(!$("#cartListForm #serialCpnNm").val()) {
+				mcxDialog.alert("할인코드를 입력해주세요.");
+				return false;
+			}
+
 			let data = {
 				rdCpnNm : $("#cartListForm #serialCpnNm").val(),
 				cartSqArr : cartArr,
@@ -1034,6 +1039,7 @@
 			});
 		}
 
+		// 주문 정보 체크
 		function fnOrderValidation(list, listIndex, cartSqArr, allYn) {
 			// listIndex가 -1이면 (마지막이 지난후)
 			if(listIndex ==  - 1) {
@@ -1094,6 +1100,7 @@
 			}
 		}
 
+		// 최소, 최대 구매 수량에서 벗어난 상품의 수량 변경 확인
 		function fnUpdateConfirmChangeQty(message, cartSq, goodsQty, list, listIndex, cartSqArr, allYn) {
 			mcxDialog.confirmC(message, { //내용
 				btn     : ["취소", "확인"],
@@ -1108,6 +1115,7 @@
 			});
 		}
 
+		// 품절 및 구매불가 상품 구매 목록에서 제거 확인
 		function fnRemoveCartSqConfirm(message, cartSqArr, cartSq, list, listIndex, allYn) {
 			mcxDialog.confirmC(message, { //내용
 				btn     : ["취소", "확인"],
@@ -1122,6 +1130,7 @@
 			});
 		}
 
+		// 품절, 구매 최소수량, 최대수량, 1일 제한 수량 넘는 상품은 구매내역에서 제외
 		function fnCheckOffCartSqArr(cartSqArr, cartSq) {
 			// 체크박스 해제
 			$("#cartListForm input[name=cartSqArr]").each(function () {
@@ -1183,6 +1192,7 @@
 			}
 		}
 
+		// 주문 정보 validation 체크
 		function fnOrderCheck(cartSq, custNo, allYn) {
 			// 선택된 장바구니 정보 가공
 			let data = {	  cartSqArr : cartSq

+ 57 - 14
src/main/webapp/WEB-INF/views/web/display/BrandMainFormWeb.html

@@ -97,7 +97,7 @@
 													<a href="javascript:void(0);" class="itemLink" th:onclick="cfnGoToGoodsDetail([[${goodsData.goodsCd}]], '', '', 'SBM007');">
 														<div class=" itemPic">
 															<img alt="BLUE-a" class=" vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + goodsData.sysImgNm}">
-															<button type="button" class="itemLike" th:classappend="${goodsData.likeIt}">관심상품 추가</button>
+															<button type="button" class="itemLike" th:classappend="${goodsData.likeIt == 'likeit'}? 'likeit' : ''"  onclick="cfnPutWishList(this);" th:attr="goodsCd=${goodsData.goodsCd}, ithrCd='', contentsLoc='SBM007', planDtlSq=''">관심상품 추가</button>
 														</div>
 														<p class="itemBrand" th:text="${goodsData.brandGroupNm}"></p>
 														<div class=" itemName" th:text="${goodsData.goodsFullNm}"></div>
@@ -166,7 +166,7 @@
 														<div class="shape ranker"><span th:text="${goodsStat.index+1}"></span></div>
 														<div class="itemPic">
 															<img alt="BLACK-a" class="vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + goodsData.sysImgNm}">
-															<button type="button" class="itemLike" th:classappend="${goodsData.likeIt}">관심상품 추가</button>
+															<button type="button" class="itemLike" th:classappend="${goodsData.likeIt == 'likeit'}? 'likeit' : ''"  onclick="cfnPutWishList(this);" th:attr="goodsCd=${goodsData.goodsCd}, ithrCd='', contentsLoc='SBM008', planDtlSq=''">관심상품 추가</button>
 														</div>
 														<p class="itemBrand" th:text="${goodsData.brandGroupNm}"></p>
 														<div class="itemName" th:text="${goodsData.goodsFullNm}"></div>
@@ -200,9 +200,6 @@
 							<div class="swiper-container">
 								<div class="swiper-wrapper">
 									<th:block th:each="LookbookData, LookbookStat : ${brandMainLayoutData.lookbookList}">
-										<form >
-										</form>
-
 										<div class="swiper-slide">
 											<div class="bt_lb_item">
 												<img class="vLHTC lb_img" th:src="${@environment.getProperty('domain.image')+LookbookData.sysFileNm}" alt="BLUE-a" />
@@ -244,7 +241,7 @@
 												<a href="javascript:void(0);" class="itemLink" th:onclick="cfnGoToGoodsDetail([[${goodsData.goodsCd}]], '', '', 'SBM009');">
 													<div class="itemPic">
 														<img alt="BLACK-a" class=" vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + goodsData.sysImgNm}">
-														<button type="button" class="itemLike" th:classappend="${goodsData.likeIt}">관심상품 추가</button>
+														<button type="button" class="itemLike" th:classappend="${goodsData.likeIt == 'likeit'}? 'likeit' : ''"  onclick="cfnPutWishList(this);" th:attr="goodsCd=${goodsData.goodsCd}, ithrCd='', contentsLoc='SBM009', planDtlSq=''">관심상품 추가</button>
 													</div>
 													<p class=" itemBrand" th:text="${goodsData.brandGroupNm}">BRAND NAME</p>
 													<div class=" itemName" th:text="${goodsData.goodsFullNm}">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
@@ -310,9 +307,9 @@
 																			<img alt="BLACK-a" class=" vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + planningGoods.sysImgNm}">
 																		</div>
 																		<div class="itemName" th:text="${planningGoods.goodsNm}">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
-																		<p class="itemPrice" th:text="${#numbers.formatInteger(planningGoods.currPrice,1,'COMMA')}">80,100
+																		<p class="itemPrice">[[${#numbers.formatInteger(planningGoods.currPrice,0,'COMMA')} + 원]]
 																			<span class="itemPrice_original" th:text="${#numbers.formatInteger(planningGoods.listPrice,1,'COMMA')}">89,000</span>
-																			<span class=" itemPercent" th:if="${planningGoods.currPrice != planningGoods.listPrice}" th:text="${(planningGoods.listPrice == 0 ? 0 : #numbers.formatDecimal((planningGoods.listPrice - planningGoods.currPrice) / (planningGoods.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>
+																			<span class="itemPercent" th:if="${planningGoods.currPrice != planningGoods.listPrice}" th:text="${(planningGoods.listPrice == 0 ? 0 : #numbers.formatDecimal((planningGoods.listPrice - planningGoods.currPrice) / (planningGoods.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>
 																		</p>
 																	</a>
 																</div>
@@ -330,14 +327,13 @@
 					</div>
 				</th:block>
 
-
 				<!-- brand_product -->
 				<th:block th:if="${contentsLoc=='013'}">
-					<div class="content brand_product" style="display: none;">
+					<div class="content brand_product" th:if="${brandMainLayoutData.goodsList != null and !brandMainLayoutData.goodsList.empty}">
 						<div class="cont_head">
 							<p class="displayH t_c" th:text="${contentsTitle}"></p>
 						</div>
-						<div class="cont_body" th:if="${brandMainLayoutData.goodsList != null}">
+						<div class="cont_body">
 							<div class="itemsGrp">
 								<th:block th:each="goodsData, goodsStat : ${brandMainLayoutData.goodsList}">
 									<div class="item_prod" th:if="${goodsStat.index<5}">
@@ -345,11 +341,11 @@
 											<a href="javascript:void(0);" class="itemLink" th:onclick="cfnGoToGoodsDetail([[${goodsData.goodsCd}]], '', '', 'SBM013');">
 												<div class="itemPic">
 													<img alt="BLACK-a" class=" vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + goodsData.sysImgNm}">
-													<button type="button" class="itemLike" th:classappend="${goodsData.likeIt}">관심상품 추가</button>
+													<button type="button" class="itemLike" th:classappend="${goodsData.likeIt == 'likeit'}? 'likeit' : ''"  onclick="cfnPutWishList(this);" th:attr="goodsCd=${goodsData.goodsCd}, ithrCd='', contentsLoc='SBM013', planDtlSq=''">관심상품 추가</button>
 												</div>
 												<p class=" itemBrand" th:text="${goodsData.brandGroupNm}"></p>
 												<div class="itemName" th:text="${goodsData.goodsFullNm}"></div>
-												<p class="itemPrice" th:text="${#numbers.formatInteger(goodsData.currPrice,1,'COMMA')}">80,100
+												<p class="itemPrice">[[${#numbers.formatInteger(goodsData.currPrice,0,'COMMA')} + 원]]
 													<span class="itemPrice_original" th:text="${#numbers.formatInteger(goodsData.listPrice,1,'COMMA')}">89,000</span>
 													<span class=" itemPercent" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${(goodsData.listPrice == 0 ? 0 : #numbers.formatDecimal((goodsData.listPrice - goodsData.currPrice) / (goodsData.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>
 												</p>
@@ -375,9 +371,56 @@
 						</div>
 					</div>
 				</th:block>
-
 			</th:block>
 		</th:block>
+		<!-- main_tv -->
+		<div class="content wide main_tv">
+			<div class="cont_head">
+				<p class="displayH t_c">TBJ`S TV</p>
+			</div>
+			<div class="cont_body">
+				<div class="slide_wrap">
+					<div class="swiper-container post-tv">
+						<div class="swiper-wrapper">
+							<div class="swiper-slide">
+								<div class="movbox">
+									<iframe width="100%" height="100%" src="https://www.youtube.com/embed/hqryeW6scd0?rel=0" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+								</div>
+							</div>
+							<div class="swiper-slide">
+								<div class="movbox">
+									<iframe width="100%" height="100%" src="https://www.youtube.com/embed/J7nowE2iTIM?rel=0" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+								</div>
+							</div>
+							<div class="swiper-slide">
+								<div class="movbox">
+									<iframe width="100%" height="100%" src="https://www.youtube.com/embed/cRiKrFk7FTM?rel=0" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+								</div>
+							</div>
+							<div class="swiper-slide">
+								<div class="movbox">
+									<iframe width="100%" height="100%" src="https://www.youtube.com/embed/hqryeW6scd0?rel=0" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+								</div>
+							</div>
+							<div class="swiper-slide">
+								<div class="movbox">
+									<iframe width="100%" height="100%" src="https://www.youtube.com/embed/J7nowE2iTIM?rel=0" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+								</div>
+							</div>
+							<div class="swiper-slide">
+								<div class="movbox">
+									<iframe width="100%" height="100%" src="https://www.youtube.com/embed/cRiKrFk7FTM?rel=0" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+								</div>
+							</div>
+						</div>
+						<div class="swiper-button-prev white"></div><!-- 클래스명 white 추가 -->
+						<div class="swiper-button-next white"></div>
+					</div>
+					<div class="swiper-pagination"></div>
+				</div>
+			</div>
+		</div>
+		<!-- //main_tv -->
 	</div>
 </div>
 

+ 4 - 4
src/main/webapp/WEB-INF/views/web/display/MallMainFormWeb.html

@@ -113,7 +113,7 @@
 										<div class="swiper-slide">
 											<div class="item_prod">
 												<div class="item_state">
-													<button type="button" class="itemLike" th:classappend="${goodsData.likeIt}">관심상품 추가</button>
+													<button type="button" class="itemLike" th:classappend="${goodsData.likeIt == 'likeit'}? 'likeit' : ''"  onclick="cfnPutWishList(this);" th:attr="goodsCd=${goodsData.goodsCd}, ithrCd='', contentsLoc='SMM003', planDtlSq=''">관심상품 추가</button>
 													<a href="javascript:void(0);" class="itemLink" th:onclick="cfnGoToGoodsDetail([[${goodsData.goodsCd}]], '', '', 'SMM003');">
 														<div class=" itemPic">
 															<img alt="BLUE-a" class=" vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + goodsData.sysImgNm}">
@@ -204,7 +204,7 @@
 											<div class="swiper-slide">
 												<div class="item_prod">
 													<div class="item_state">
-														<button type="button" class="itemLike" th:classappend="${goodsData.likeIt}">관심상품 추가</button>
+														<button type="button" class="itemLike" th:classappend="${goodsData.likeIt == 'likeit'}? 'likeit' : ''"  onclick="cfnPutWishList(this);" th:attr="goodsCd=${goodsData.goodsCd}, ithrCd='', contentsLoc='SMM006', planDtlSq=''">관심상품 추가</button>
 														<a href="javascript:void(0);" class="itemLink" th:onclick="cfnGoToGoodsDetail([[${goodsData.goodsCd}]], '', '', 'SMM006');">
 															<div class="itemPic">
 																<img alt="" class="pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + goodsData.sysImgNm}">
@@ -279,7 +279,7 @@
 												<th:block th:each="goodsData, goodsStat : ${brandPickData.goodsList}">
 													<div class="item_prod" th:if="${goodsStat.count<4}">
 														<div class="item_state">
-															<button type="button" class="itemLike" tabindex="0">관심상품 추가</button>
+															<button type="button" class="itemLike" tabindex="0" th:classappend="${goodsData.likeIt == 'likeit'}? 'likeit' : ''"  onclick="cfnPutWishList(this);" th:attr="goodsCd=${goodsData.goodsCd}, ithrCd='', contentsLoc='SMM007', planDtlSq=''">관심상품 추가</button>
 															<a href="javascript:void(0);" class="itemLink" th:onclick="cfnGoToGoodsDetail([[${goodsData.goodsCd}]], '', '', 'SMM007');">
 																<div class="itemPic">
 																	<img alt="BLACK-a" class=" vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + goodsData.sysImgNm}">
@@ -366,7 +366,7 @@
 														<div class="swiper-slide">
 															<div class="item_prod">
 																<div class="item_state">
-																	<button type="button" class="itemLike" th:classappend="${goodsData.likeIt}">관심상품 추가</button>
+																	<button type="button" class="itemLike" tabindex="0" th:classappend="${goodsData.likeIt == 'likeit'}? 'likeit' : ''"  onclick="cfnPutWishList(this);" th:attr="goodsCd=${goodsData.goodsCd}, ithrCd='', contentsLoc='SMM009', planDtlSq=''">관심상품 추가</button>
 																	<a href="javascript:void(0);" class="itemLink" th:onclick="cfnGoToGoodsDetail([[${goodsData.goodsCd}]], '', '', 'SMM009');">
 																		<div class="itemPic">
 																			<img alt="" class=" vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + goodsData.sysImgNm}">

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

@@ -20,7 +20,7 @@
 <th:block layout:fragment="content">
 <div id="container" class="container pd" th:with="imgGoodsUrl=${@environment.getProperty('upload.goods.view')}, uxImgUrl=${@environment.getProperty('domain.uximage')}, imgUrl=${@environment.getProperty('upload.image.view')}">
 <script src="https://developers.kakao.com/sdk/js/kakao.min.js"></script>
-	<th:block th:include="~{web/goods/GoodsIncludeFormWeb :: goodsNaviForm}"></th:block>
+	<!-- <th:block th:include="~{web/goods/GoodsIncludeFormWeb :: goodsNaviForm}"></th:block> -->
 	
 	<div class="wrap">
 		<!-- 상품 대표설명 -->

+ 1 - 0
src/main/webapp/WEB-INF/views/web/goods/GoodsDetailReviewFormWeb.html

@@ -353,6 +353,7 @@
 	<input type="hidden" name="pageSize" value ="20"/>
 	<input type="hidden" name="goodsCd" th:value ="${goodsInfo.goodsCd}"/>
 	<input type="hidden" name="goodsType" th:value ="${goodsInfo.goodsType}"/>
+	<input type="hidden" name="selfGoodsYn" th:value ="${goodsInfo.selfGoodsYn}"/>
 	<input type="hidden" name="reviewScore" />
 	<input type="hidden" name="reviewOption" />
 	<input type="hidden" name="reviewHeight" />

+ 4 - 4
src/main/webapp/WEB-INF/views/web/goods/GoodsIncludeFormWeb.html

@@ -22,7 +22,7 @@
 				<th:block th:if="${goodsNavigation.formalGb == '20'}">
 			<li><a href="javascript:void(0);" onclick="cfnGoToOutletMain('300')" >아울렛</a></li>
 			<li th:if="${goodsNavigation.cate1No}">
-				<a href="javascript:void(0);" th:onclick="cfnGoToCategoryGoodsList('','',[[${goodsNavigation.formalGb}]],[[${goodsNavigation.cate1No}]])" th:text="${goodsNavigation.cate1Nm}">cate</a>
+				<a href="javascript:void(0);" th:onclick="cfnGoToGoodsList('0',[[${goodsNavigation.cateGb}]],[[${goodsNavigation.cate1No}]])" th:text="${goodsNavigation.cate1Nm}">cate</a>
 			</li>
 				</th:block>
 				<th:block th:unless="${goodsNavigation.formalGb == '20'}">
@@ -33,21 +33,21 @@
 				</th:block>
 			<li th:if="${goodsNavigation.cate2No}">
 				<th:block th:if="${goodsNavigation.cate3No}">
-				<a href="javascript:void(0);" th:onclick="cfnGoToCategoryGoodsList('','',[[${goodsNavigation.formalGb}]],[[${goodsNavigation.cate1No}]], [[${goodsNavigation.cate2No}]])"
+				<a href="javascript:void(0);" th:onclick="cfnGoToGoodsList('0',[[${goodsNavigation.cateGb}]],[[${goodsNavigation.cate1No}]], [[${goodsNavigation.cate2No}]])"
 				th:text="${goodsNavigation.cate2Nm}">cate</a>
 				</th:block>
 				<th:block th:unless="${goodsNavigation.cate3No}"><strong th:text="${goodsNavigation.cate2Nm}">cate</strong></th:block>
 			</li>
 			<li th:if="${goodsNavigation.cate3No }">
 				<th:block th:if="${goodsNavigation.cate4No}">
-				<a href="javascript:void(0);" th:onclick="cfnGoToCategoryGoodsList('','',[[${goodsNavigation.formalGb}]],[[${goodsNavigation.cate1No}]], [[${goodsNavigation.cate2No}]], [[${goodsNavigation.cate3No}]])"
+				<a href="javascript:void(0);" th:onclick="cfnGoToGoodsList('0',[[${goodsNavigation.cateGb}]],[[${goodsNavigation.cate1No}]], [[${goodsNavigation.cate2No}]], [[${goodsNavigation.cate3No}]])"
 				th:text="${goodsNavigation.cate3Nm}">cate</a>
 				</th:block>
 				<th:block th:unless="${goodsNavigation.cate4No}"><strong th:text="${goodsNavigation.cate3Nm}">cate</strong></th:block>
 			</li>
 			<li th:if="${goodsNavigation.cate4No }">
 				<th:block th:if="${goodsNavigation.cate5No}">
-				<a href="javascript:void(0);" th:onclick="cfnGoToCategoryGoodsList('','',[[${goodsNavigation.formalGb}]],[[${goodsNavigation.cate1No}]], [[${goodsNavigation.cate2No}]], [[${goodsNavigation.cate3No}]], [[${goodsNavigation.cate4No}]])"
+				<a href="javascript:void(0);" th:onclick="cfnGoToGoodsList('0',[[${goodsNavigation.cateGb}]],[[${goodsNavigation.cate1No}]], [[${goodsNavigation.cate2No}]], [[${goodsNavigation.cate3No}]], [[${goodsNavigation.cate4No}]])"
 				th:text="${goodsNavigation.cate4Nm}">cate</a>
 				</th:block>
 				<th:block th:unless="${goodsNavigation.cate5No}"><strong th:text="${goodsNavigation.cate4Nm}">cate</strong></th:block>

+ 15 - 15
src/main/webapp/WEB-INF/views/web/mypage/MypageReviewCreateFormWeb.html

@@ -430,47 +430,47 @@ var reviewCreate = function () {
 	if($("#reviewForm input[name=weight]").val() == '' || $("#reviewForm input[name=weight]").val() == null){
 		mcxDialog.alert('몸무게를 입력하세요.');
 		return;
-	}
+	} 
 	
 	
 	if(reviewList.sizeGb == 'T' || reviewList.sizeGb == 'B' || reviewList.sizeGb == 'S'){
-		if($('#reviewForm input:radio[name=scoreSize]').prop('checked') == false){
+		if($('#reviewForm input:radio[name=scoreSize]:checked').length == 0){
 			mcxDialog.alert('상품 사이즈를 평가해주세요.');
-			return;
+			return false;
 		}
 		
-		if($('#reviewForm input:radio[name=scoreColor]').prop('checked') == false){
+		if($('#reviewForm input:radio[name=scoreColor]:checked').length == 0){
 			mcxDialog.alert('상품 컬러를 평가해주세요.');
-			return;
+			return false;
 		}
 	}
 	
 	if(reviewList.sizeGb == 'T' || reviewList.sizeGb == 'B'){
-		if($('#reviewForm input:radio[name=scoreFit]').prop('checked') == false){
+		if($('#reviewForm input:radio[name=scoreFit]:checked').length == 0){
 			mcxDialog.alert('상품 핏을 평가해주세요.');
-			return;
+			return false;
 		}
-		if($('#reviewForm input:radio[name=scoreThick]').prop('checked') == false){
+		if($('#reviewForm input:radio[name=scoreThick]:checked').length == 0){
 			mcxDialog.alert('상품 두께감을 평가해주세요.');
-			return;
+			return false;
 		}	
 	}
 	
 	if(reviewList.sizeGb == 'S' ){
-		if($('#reviewForm input:radio[name=scoreWeight]').prop('checked') == false){
+		if($('#reviewForm input:radio[name=scoreWeight]:checked').length == 0){
 			mcxDialog.alert('상품 무게감을 평가해주세요.');
-			return;
+			return false;
 		}
 		
-		if($('#reviewForm input:radio[name=scoreBall]').prop('checked') == false){
+		if($('#reviewForm input:radio[name=scoreBall]:checked').length == 0){
 			mcxDialog.alert('상품 볼넓이를 평가해주세요.');
-			return;
+			return false;
 		}
 	}
-
+	
 	if($('#reviewContent').val().length<10){
 		mcxDialog.alert("리뷰 내용을 10자 이상 입력해주세요.");
-		return;
+		return false;
 	}
 	
 	

+ 31 - 15
src/main/webapp/ux/mo/css/common_m.css

@@ -670,10 +670,11 @@ header {
   position: sticky;left: 0;top: 0;width: 100%;transition: top 0.3s;/* background-color: #fff; */
 }
 header::after{content: '';display: block;clear: both;}
-header .htop {position: relative;height: 55px;-webkit-box-sizing: border-box;box-sizing: border-box;/*border: rgba(0, 0, 0, 0.1) solid 1px;*/ border-bottom: 1px solid rgba(0, 0, 0, 0.1); background-color: #fff;}
+header .htop {position: relative;height: 55px;-webkit-box-sizing: border-box;box-sizing: border-box;/*border: rgba(0, 0, 0, 0.1) solid 1px;*/ border-bottom: 1px solid rgba(0, 0, 0, 0.0); background-color: #fff;}
 header .htop:after {content: '';display: block; clear: both;}
 header #htopSub{border-bottom: 0px solid #e5e5e5;box-sizing: border-box;}
 header #htopSubs{border-bottom: 0px solid #000000;box-sizing: border-box;}
+header #htopSub.my_main {background-color: #f5f5f5 !important; border-bottom: 1px solid rgba(0, 0, 0, 0.0)!important;}
 header .htop h1 {display: inline-block;position: relative;width: 10.666rem;height: 100%;line-height: 4.5rem;vertical-align: middle;margin: 0px 0 0 2.0rem;font-size: 1.8rem;color: #222;}
 header .htop h1#htopTitle {display: inline-block;position: relative;max-width: 18rem;width: auto;height: 100%;line-height: 4.5rem;vertical-align: middle;padding: 0px 1.5rem 0px 0rem;font-size: 1.8rem;color: #222;}
 header .htop h1 a {height: 100%;width: 100%;display: block;}
@@ -688,11 +689,15 @@ header .htop .btn_back:active span i {left: -20px;}
 
 
 header .htop .button_wrap {height: 5.5rem; float: right; padding: 1.6rem 0 0; margin: 0 2.5rem 0 0; box-sizing: border-box;}
+header .htop .button_wrap .home {display:none;}
+header .htop .button_wrap .home {margin:0 1.1666rem 0 0; }
+header .htop .button_wrap .home img{width: 2.0rem;}
 header .htop .button_wrap .search { margin:0 1.1666rem 0 0; }
 header .htop .button_wrap .search img{width: 2.0rem;}
+header .htop .button_wrap .store{position: relative;}
 header .htop .button_wrap .store img{width: 1.6rem;}
 header .htop .button_wrap .store img:nth-child(1) { height: 2rem; }
-header .htop .button_wrap .store span { width: 2.1rem; height: 1.4rem; position: absolute; top: 1.2rem; right: 1.5rem; background: #fd4802; border-radius: 0.8rem; font-size: 0.8rem; color: #fff; line-height: 1.6rem;}
+header .htop .button_wrap .store span { width: 2.1rem; height: 1.4rem; position: absolute; top: -0.5rem; right: -1.0rem; background: #fd4802; border-radius: 0.8rem; font-size: 0.8rem; color: #fff; line-height: 1.6rem;}
 
 
 header .subs {}
@@ -1238,8 +1243,8 @@ button.alertCls {-webkit-appearance: none;padding: 0;cursor: pointer;background:
 .case2 .fold_cont .fold_answer > div{position:relative; padding-left:17px;}
 .case2 .fold_cont .fold_detail > div:before,
 .case2 .fold_cont .fold_answer > div:before{content:''; position:absolute; left:0; top:0; font-size:1.4rem; font-weight:400;}
-.case2 .fold_cont .fold_detail > div:before{content:'Q'; color:#222222;}
-.case2 .fold_cont .fold_answer > div:before{content:'A'; color:#fd4802}
+.case2 .fold_cont .fold_detail > div:before{content:'Q.'; color:#222222;}
+.case2 .fold_cont .fold_answer > div:before{content:'A.'; color:#fd4802}
 
 /* popover style Tooltip */
 .tip_tit{background-color: transparent;border-radius: 100%;border: 1px solid #888888;color: #fd4802;cursor: default;display: inline-block;font-size: 1.2rem;font-weight: 600;line-height: 1.4rem;position: relative;text-align: center;width: 1.5rem;height: 1.5rem;}
@@ -1902,17 +1907,7 @@ button.alertCls {-webkit-appearance: none;padding: 0;cursor: pointer;background:
 .app-only .guidance{width: auto;}
 .app-only .guidance{overflow: hidden;position: fixed;bottom: 0;left: 50%;z-index: 9;width: 88.888%;height: auto;margin-left: -44.444%;padding: 1.2rem 0 1.0rem;background-color: rgba(0,0,0,0.8);text-align: center;opacity: 0;}
 .app-only .guidance:after{content: '';position: absolute;top: 0;bottom: 15px;left: 10px;width: 100%;height: 100%;z-index: -1;}
-.app-only .guidance{
-    box-shadow: 0 0px 30px rgb(0 0 0 / 20%), 0 0px 30px rgb(0 0 0 / 20%);
-    mask-image: linear-gradient(to top right, transparent 49.5%, white 50.5%), linear-gradient(to top left, transparent 49.5%, white 50.5%), linear-gradient(white, white), linear-gradient(white, white);
-    -webkit-mask-image: linear-gradient(to top right, transparent 49.5%, white 50.5%), linear-gradient(to top left, transparent 49.5%, white 50.5%), linear-gradient(white, white), linear-gradient(white, white);
-	mask-size: 100% 0%, 2vh 2vh, calc(100% - 1.9vh) 100%, 100% calc(100% - 1.9vh);
-    -webkit-mask-size: 100% 0%, 2vh 2vh, calc(100% - 1.9vh) 100%, 100% calc(100% - 1.9vh);
-    mask-position: bottom left, bottom right, top left, top right;
-    -webkit-mask-position: bottom left, bottom right, top left, top right;
-    mask-repeat: no-repeat;
-    -webkit-mask-repeat: no-repeat;
-}
+.app-only .guidance{box-shadow: 0 0px 30px rgb(0 0 0 / 20%), 0 0px 30px rgb(0 0 0 / 20%);} /* mask-image: linear-gradient(to top right, transparent 49.5%, white 50.5%), linear-gradient(to top left, transparent 49.5%, white 50.5%), linear-gradient(white, white), linear-gradient(white, white);-webkit-mask-image: linear-gradient(to top right, transparent 49.5%, white 50.5%), linear-gradient(to top left, transparent 49.5%, white 50.5%), linear-gradient(white, white), linear-gradient(white, white);mask-size: 100% 0%, 2vh 2vh, calc(100% - 1.9vh) 100%, 100% calc(100% - 1.9vh);-webkit-mask-size: 100% 0%, 2vh 2vh, calc(100% - 1.9vh) 100%, 100% calc(100% - 1.9vh);mask-position: bottom left, bottom right, top left, top right;-webkit-mask-position: bottom left, bottom right, top left, top right;mask-repeat: no-repeat;-webkit-mask-repeat: no-repeat;*/
 .app-only .guidance p{font-size:1.3rem;font-weight: 300;color: #fff;}
 .app-only .guidance p.tit{font-size: 1.4rem;margin-bottom: 1.53rem;}
 .app-only .guidance p.date{opacity: 0.7;font-size:1.1rem;margin-bottom: 1.2rem;}
@@ -1928,4 +1923,25 @@ button.alertCls {-webkit-appearance: none;padding: 0;cursor: pointer;background:
 	80% {bottom:8.0rem; opacity:1; z-index:99999;}
 	100% {opacity:0; z-index:0;}
 }
+/* mobile type */
+/* etc_toastPopup */
+.guidance{width: auto;}
+.guidance{overflow: hidden;position: fixed;bottom: 0;left: 50%;z-index: 9;width: 88.888%;height: auto;margin-left: -44.444%;padding: 1.2rem 0 1.0rem;background-color: rgba(0,0,0,0.8);text-align: center;opacity: 0;}
+.guidance:after{content: '';position: absolute;top: 0;bottom: 15px;left: 10px;width: 100%;height: 100%;z-index: -1;}
+.guidance{box-shadow: 0 0px 30px rgb(0 0 0 / 20%), 0 0px 30px rgb(0 0 0 / 20%);}
+.guidance p{font-size:1.3rem;font-weight: 300;color: #fff;}
+.guidance p.tit{font-size: 1.4rem;margin-bottom: 1.53rem;}
+.guidance p.date{opacity: 0.7;font-size:1.1rem;margin-bottom: 1.2rem;}
+.guidance p.tit + p.date + p {font-size:1.1rem;}
+.guidance p:first-child {padding-top: 2.0rem;}
+.guidance p:last-child {padding-bottom: 2.0rem;}
+.guidance p:first-child:nth-last-child(1) { padding-top: 0;padding-bottom: 0; }
+.guidance.ontoast {animation: onpop 6s .2s forwards; -webkit-animation: onpop 6s .2s forwards;}
+@keyframes onpop {
+	0% {bottom:0rem; opacity:1; z-index:99999;}
+	10% {bottom:10.0rem;}
+	20% {bottom:8.0rem;}
+	80% {bottom:8.0rem; opacity:1; z-index:99999;}
+	100% {opacity:0; z-index:0;}
+}
 

+ 37 - 16
src/main/webapp/ux/mo/css/layout_m.css

@@ -356,8 +356,8 @@
 .item_prod .itemPic .pd_img {position: absolute;width: 100%;height: auto;top: 50%;left: 0px;transform: translateY(-50%);}
 .item_prod .itemBrand {display: inline-block; margin: 0px 0.5rem 0.3rem; font-size: 1rem;font-weight: 300;color: rgb(137, 137, 137); text-overflow:ellipsis;white-space:nowrap;word-wrap:normal;width:10rem;overflow:hidden;}
 .item_prod .itemComment{margin: 0.8rem 0.5rem 0px;line-height: 1; font-size: 1.1rem;font-weight: 300;color: #fd4802;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}
-.item_prod .itemName {margin: 0px 0.5rem 0.8rem; font-size: 1.1rem; font-weight:300; color: rgb(31, 31, 31); max-height: 3rem; position: relative; overflow: hidden; white-space: normal; overflow-wrap: break-word; display: block;}
-.item_prod .itemName {display: -webkit-box;text-overflow: ellipsis;-webkit-line-clamp: 2;-webkit-box-orient: vertical;}
+.item_prod .itemName {margin: 0px 0.5rem 0.8rem; font-size: 1.1rem; font-weight:300; color: rgb(31, 31, 31); max-height: 3rem; position: relative; overflow: hidden; white-space: normal; overflow-wrap: break-word; display: block; letter-spacing: -0.025rem;}
+/*.item_prod .itemName {display: -webkit-box;text-overflow: ellipsis;-webkit-line-clamp: 2;-webkit-box-orient: vertical;}*/
 .item_prod .itemName .tit_option{font-weight:500;}
 .item_prod .itemPrice {position: relative; line-height: 1;font-size: 1.5rem; font-weight: 300; color:#222; margin: 0px 0.5rem; text-align: left;}
 .item_prod .itemPrice_original {position: relative; margin-bottom:0.5rem; display:block; line-height:1; font-size: 1rem; font-weight: 300; color: rgb(204, 204, 204); text-decoration:line-through;}
@@ -527,7 +527,7 @@
 [class*="pd_descrp"] {width:100%;}
 [class*="pd_descrp"] .cont_body {max-height:58rem; overflow:hidden;}
 [class*="pd_descrp"] .cont_body.on {max-height:none; overflow-y:visible;}
-[class*="pd_descrp"] .cont_body > div {position:relative; width:100%;}
+[class*="pd_descrp"] .cont_body > div {position:relative; width:100%; padding:0 2.0rem 1.3rem 2.0rem;}
 [class*="pd_descrp"] .descrp_box {}
 [class*="pd_descrp"] .descrp_box > div {margin-top:2.4rem;}
 [class*="pd_descrp"] .descrp_box > div:first-child {margin-top:0;}
@@ -551,9 +551,9 @@
 [class*="pd_descrp"] .view_label_box .view img:first-child {margin-left:0}
 [class*="pd_descrp"] .view_outfit_box {}
 [class*="pd_descrp"] .view_detail_box {}
-[class*="pd_descrp"] .brand_box {padding:3rem 2rem; margin:6rem -2rem 0; width:auto!important; border-top:1px solid #ddd; border-bottom:1px solid #ddd; text-align:center; box-sizing:border-box;}
+[class*="pd_descrp"] .brand_box {padding:3rem 2rem !important; margin:6rem -2rem 0; width:auto!important; border-top:1px solid #ddd; border-bottom:1px solid #ddd; text-align:center; box-sizing:border-box;}
 [class*="pd_descrp"] .brand_box .name {margin-bottom:1rem; color:#222; font-size:1.8rem; font-weight:bold;}
-[class*="pd_descrp"] .brand_box a {display:inline-block; border:1px solid #ddd; font-size:1.3rem; color:#222; font-weight:300; line-height: 4.3rem; width: 100%;}
+[class*="pd_descrp"] .brand_box a {display:inline-block; border:1px solid #ddd; font-size:1.3rem; color:#222; font-weight:300; line-height: 4.3rem; width: 92%;}
 [class*="pd_descrp"] .required_box {margin-bottom:4.0rem;}
 [class*="pd_descrp"] .required_box .area_detail {text-align:center;} 
 [class*="pd_descrp"] .required_box .area_detail img {max-width:100%;}
@@ -571,8 +571,8 @@
 [class*="pd_descrp"] .required_box .tbl.type1 {border-top:1px solid #000; border-bottom:1px solid #ddd;} 
 [class*="pd_descrp"] .required_box .tbl.type1 table {width:100%; text-align:left; word-break:keep-all;}
 [class*="pd_descrp"] .required_box .tbl.type1 table th,
-[class*="pd_descrp"] .required_box .tbl.type1 table td {position:relative; padding:0.4rem 1.2rem; font-weight:300; font-size:1.3rem; letter-spacing:-0.025em;}
-[class*="pd_descrp"] .required_box .tbl.type1 table th {font-weight:400;}
+[class*="pd_descrp"] .required_box .tbl.type1 table td {position:relative; padding:0.4rem 1.2rem; font-weight:300; font-size:1.3rem; letter-spacing:-0.025em; word-break: break-all;}
+[class*="pd_descrp"] .required_box .tbl.type1 table th {font-weight:400; width:8rem;}
 [class*="pd_descrp"] .required_box .tbl.type1 table td {color:#666666}
 [class*="pd_descrp"] .required_box .tbl.type2 {padding:0; border-top:1px solid #000;} 
 [class*="pd_descrp"] .required_box .tbl.type2 table {width:100%; word-break:keep-all;}
@@ -676,14 +676,14 @@ header .htop.trans{position:absolute; background:transparent !important;}
 .pd_review_pop .btn_group_flex > div > .btn{height:5.3rem;}
 .modal.pd_pop.pd_qnawrite_pop .modal-footer button{height:5.3rem;}
 .modal.pd_pop.pd_qnawrite_pop .modal-header{border-bottom:0px none;}
-.modal.pd_pop.push_restock_pop .item_blk .item_prod .item_state .itemLink .itemBrand {display:block; font-size:1rem; color:#888888; font-weight:300; margin-left:0; margin-right:0; text-overflow:ellipsis;white-space:nowrap;word-wrap:normal;width:30rem;overflow:hidden;}
-.modal.pd_pop.push_restock_pop .item_blk .item_prod .item_state .itemLink .itemName {display:block; margin-top:0.5rem; font-size:1.3rem; max-height: 3.3rem; margin-left:0; margin-right:0; display: -webkit-box; text-overflow: ellipsis; -webkit-line-clamp: 2; -webkit-box-orient: vertical; max-height: 3.3rem; overflow: hidden; white-space: normal; overflow-wrap: break-word; width:30rem;}
+.modal.pd_pop.push_restock_pop .item_blk .item_prod .item_state .itemLink .itemBrand {display:block; font-size:1rem; color:#888888; font-weight:300; margin-left:0; margin-right:0; text-overflow:ellipsis;white-space:nowrap;word-wrap:normal;width:100%;overflow:hidden;}
+.modal.pd_pop.push_restock_pop .item_blk .item_prod .item_state .itemLink .itemName {display:block; margin-top:0.5rem; font-size:1.3rem; max-height: 3.3rem; margin-left:0; margin-right:0; display: -webkit-box; text-overflow: ellipsis; -webkit-line-clamp: 2; -webkit-box-orient: vertical; max-height: 3.3rem; overflow: hidden; white-space: normal; overflow-wrap: break-word; width:100%;}
 .select_custom .combo .list>li[aria-disabled="true"]{background:#fff;}
 .Purchase_pop .select_custom.on .combo .select{border-bottom:1px solid #dcdcdc}
 .pd_qnalist_pop .foldGroup > ul > li{border-bottom:0px none;}
 .pd_qnalist_pop .fold_cont .fold_answer{border-top:0px none;}
 .pd_qnalist .fold_cont .fold_answer{border-top:0px none;}
-.pd_qnalist_pop .fold_cont > div:first-of-type{border-bottom:1px solid #dcdcdc}
+.pd_qnalist_pop .fold_cont > div:first-of-type{border-bottom:0px none}
 .pd [class*="pd_descrp"] .cont_body.on{overflow: visible;}
 .pd .mdhtml_box a{margin:0 -2rem; display:block;}
 .pd_descrp_pop .mdhtml_box a{margin:0 -2rem; display:block;}
@@ -698,6 +698,26 @@ header .htop.trans{position:absolute; background:transparent !important;}
 .Purchase_pop .item_prod .itemPrice_original{margin-left:0.5rem;}
 .Purchase_pop .item_prod .itemPercent{left:10.2rem}
 /*.Purchase_pop .option_box .opt_size .form_field input[type="radio"]:checked + label{border:1px solid #fd4802;}*/
+/* 210408 */
+.btPopAuto_body .opt_count .number_count span.min_val,
+.btPopAuto_body .opt_count .number_count span.max_val {opacity:0.2;}
+.btPopAuto_body .opt_result .number_count span.min_val,
+.btPopAuto_body .opt_result .number_count span.max_val {opacity:0.2;}
+.pd_descrp .btn_group_flex{width:92%; margin: 0 auto; padding-bottom:4rem;}
+.btPopAuto_body .size{color:#666666}
+.pd_photoreviewlist_pop .ui_foot .btn{width:100%; height:4rem; margin-top:2rem;}
+.pd.deal .pd_review .item_prod::after{content: "";width: 0;height: 0;box-sizing: border-box;position: absolute;top: 2.6rem;right: 0rem;border: 0.6rem solid transparent;border-color: #888888 transparent transparent transparent;}
+.pd.deal .pd_qnalist .item_prod::after{content: "";width: 0;height: 0;box-sizing: border-box;position: absolute;top: 2.6rem;right: 0rem;border: 0.6rem solid transparent;border-color: #888888 transparent transparent transparent;}
+.pd.deal .pd_delivery .item_prod::after{content: "";width: 0;height: 0;box-sizing: border-box;position: absolute;top: 2.6rem;right: 0rem;border: 0.6rem solid transparent;border-color: #888888 transparent transparent transparent;}
+.pd .select_custom .combo .list{border:1px solid #000; border-top:0;}
+.pd .select_custom.on .combo .select{border:1px solid #000;}
+.pd .Purchase_pop .select_custom.on .combo .select{border-bottom:1px solid #dcdcdc}
+.salecoupon_pop{width:100%; max-height:80%;}
+.salecoupon_pop .btPop_close{width: 1.6rem;height: 1.6rem;background-image: url(/images/mo/ico_pop_cls_w.png); opacity: 1;position: absolute;z-index: 998;top: -3.8rem;left: 50%;transform: translate(-50%);display: block;border: 0;text-indent: -9999px;background-size: contain;background-repeat: no-repeat;background-position: center center;background-color: transparent;}
+#pd_review_close{z-index:1000;}
+#pd_photoreview_close{z-index:1000;}
+#pd_bestreview_close{z-index:1000;}
+#pd_photoreviewlist_close{z-index:1000;}
 
 
 
@@ -856,7 +876,7 @@ header .htop.trans{position:absolute; background:transparent !important;}
 .modal.pd_pop[class*="bnf_"] .tbl.type1 table td {position:relative; padding:1.4rem 1.2rem; font-weight:300; font-size:1.3rem; letter-spacing:-0.025em;}
 .modal.pd_pop[class*="bnf_"] .tbl.type1 table th {font-weight:400;}
 .modal.pd_pop[class*="bnf_"] .tbl.type1 table tr td:last-child {text-align:right;} 
-.modal.pd_pop[class*="bnf_"] .tbl.type1 table tr th{vertical-align:top; color:#222;}
+.modal.pd_pop[class*="bnf_"] .tbl.type1 table tr th{vertical-align:top; color:#222; width:28%;}
 .modal.pd_pop[class*="bnf_"] .tbl.type1 table tr th,
 .modal.pd_pop[class*="bnf_"] .tbl.type1 table tr td {border-top:1px solid #eeeeee;}
 .modal.pd_pop[class*="bnf_"] .tbl.type1 table tr:first-child th,
@@ -892,13 +912,13 @@ header .htop.trans{position:absolute; background:transparent !important;}
 .modal.pd_pop.info_size_pop .tab_cont_wrap .tab_cont {display:none; background: #fff;}
 .modal.pd_pop.info_size_pop .tab_cont_wrap .tab_cont:first-of-type {display:block}
 .modal.pd_pop.info_size_pop .size_head {text-align:center; margin-bottom:3rem}
-.modal.pd_pop.info_size_pop .size_head .tit_sub {display:block; margin-bottom:1rem; font-size:1.3rem; font-weight:300;}
-.modal.pd_pop.info_size_pop .size_head .tit_header {display:block; color:#222; font-size:1.4rem; font-weight:500;}
+.modal.pd_pop.info_size_pop .size_head .tit_sub {display:block; margin-bottom:0.6rem; font-size:1.4rem; font-weight:300; color:#000}
+.modal.pd_pop.info_size_pop .size_head .tit_header {display:block; color:#222; font-size:1.4rem; font-weight:500; margin-bottom:3.8rem}
 .modal.pd_pop.info_size_pop .size_cont {}
 .modal.pd_pop.info_size_pop .size_cont .size_tbl_box {margin-top:4.0rem; position:relative;}
 .modal.pd_pop.info_size_pop .size_cont .size_tbl_box:first-of-type {margin-top:0;}
 .modal.pd_pop.info_size_pop .size_cont .size_tbl_box h6 {margin-bottom:1.6rem; font-size:1.4rem; color:#222; font-weight:500;}
-.modal.pd_pop.info_size_pop .size_cont .size_tbl_box .size_unit {position:absolute; right:0; color:#888; font-size:1.1rem; -webkit-transform: translateY(-2.5rem); transform: translateY(-2.5rem);}
+.modal.pd_pop.info_size_pop .size_cont .size_tbl_box .size_unit {position:absolute; right:0; color:#000; font-size:1.2rem; -webkit-transform: translateY(-2.5rem); transform: translateY(-2.5rem);}
 .modal.pd_pop.info_size_pop .size_footer {margin-top:1.5rem;}
 .modal.pd_pop.info_size_pop .sub_tab_cont_wrap {display:block; margin-top:3rem}
 .modal.pd_pop.info_size_pop .sub_tab_cont_wrap .sub_tab_cont {display:none; position:relative;}
@@ -934,8 +954,9 @@ header .htop.trans{position:absolute; background:transparent !important;}
 .modal.pd_pop.info_size_pop .tbl.type2 {padding:0; border-top:1px solid #000;} 
 .modal.pd_pop.info_size_pop .tbl.type2 table {width:100%; word-break:keep-all;}
 .modal.pd_pop.info_size_pop .tbl.type2 table th,
-.modal.pd_pop.info_size_pop .tbl.type2 table td {position:relative; padding:1.5rem 0; border-bottom:1px solid #ddd; font-weight:200; font-size:1.3rem; letter-spacing:-0.025em; text-align:center;}
-.modal.pd_pop.info_size_pop .tbl.type2 table th {font-weight:300; color:#222;}
+.modal.pd_pop.info_size_pop .tbl.type2 table td {position:relative; padding:1.5rem 0; border-bottom:1px solid #ddd; font-weight:200; font-size:1.4rem; letter-spacing:-0.025em; text-align:center;}
+.modal.pd_pop.info_size_pop .tbl.type2 table th {font-weight:400; color:#222;}
+.modal.pd_pop.info_size_pop .tbl.type2 table td{color:#000; font-weight:300; font-size:1.3rem;}
 .modal.pd_pop.info_size_pop .tbl.type2 table thead tr{background:#f5f5f5;}
 
 /* pd_popup > 재입고 알림 신청 */

+ 83 - 72
src/main/webapp/ux/mo/css/style24_m.css

@@ -666,6 +666,8 @@ main.container .inner h2[data-style~="unusual"] {font-size:2.0rem;top: 0;positio
 .ev .cmt_group .cmt_list li .btn_del {display: block; font-size: 1.1rem; color: #666; font-weight: 300; position: absolute; top: 0; right: 0; height:auto; padding:0; border-color:transparent; border-bottom: 1px solid #666;}
 
 /* ev_comment_1 포토댓글 */
+.modal.pop_full .modal-header {padding:1.6rem 2rem;}
+.modal.pop_full .modal-body {padding:0 2rem;}
 .modal.pop_full a.close-modal {background: url('/images/mo/ico_pop_cls.png') no-repeat center/100%; width: 1.6rem; height: 1.6rem;}
 .modal.photo_comment_popup {background: #f5f5f5; overflow:hidden;}
 .modal.photo_comment_popup .modal-dialog, .modal.photo_comment_popup .modal-content {height: 100%;}
@@ -840,7 +842,7 @@ main.container .inner h2[data-style~="unusual"] {font-size:2.0rem;top: 0;positio
 .ev_rank .member_level_area .level_content.one_row .birth_info {width: 100%;}
 
 /* 배송관련 아이콘  */
-.tag {display:inline-block; height:2.2rem; padding:0.5rem 0.8rem; /*background:#fff;*/ border:1px solid #ddd; color:#666; font-size:1.1rem; font-weight:300; text-align:center; line-height:1;}
+.tag {display: inline-block;height: 1.7rem;padding: 0rem 0.4rem;border: 1px solid #ddd;color: #666;font-size: 1.1rem;font-weight: 300;text-align: center;line-height: 1.7rem;}
 .tag.gray {background:#f5f5f5; border-color:#f5f5f5; color:#666;}
 .tag.deepgray {background:#aaa; border-color:#aaa; color:#fff;}
 .tag.primary {background:#fd4802; border-color:#fd4802; color:#fff;}
@@ -869,6 +871,7 @@ main.container .inner h2[data-style~="unusual"] {font-size:2.0rem;top: 0;positio
 .my .tabIndex{margin-bottom: 0.85em;}
 .my .tabIndex li .count{font-size:1.0rem; font-weight: 300; padding-left: 0.5rem;color: #888888;}
 .my .tabIndex li.active a .count{color: #888888;}
+.my .select {font-size: 1.3rem;}
 
 
 /* nodata_데이터 없을시 안내 */
@@ -904,14 +907,14 @@ main.container .inner h2[data-style~="unusual"] {font-size:2.0rem;top: 0;positio
 .goods_btn_wrap > div > .btn {display:block; width:100%; height:100%; border:1px solid #a7a7a7; font-size: 1.2rem; padding:1rem 1.3rem; font-weight: 500;}
 .goods_btn_wrap > div > .btn.btn_primary {background-color:#fff; border-color:#fd4802; color: #fd4802;}
 
-/* my_index */
+/* my_main */
 /* main.container.my .inner:last-child {padding-bottom: 0;} */
-.my .lnb_list {margin-top: 1.2rem; padding-bottom: 6rem;}
+.my .lnb_list {margin-top: 1.2rem;}
 .my .lnb_list li { border-bottom: 1px solid #ddd;}
 .my .lnb_list li a {display: block; padding: 2rem; background: url(/images/mo/ico_lnb_arrow.png) no-repeat right 2rem center; background-size:0.7rem 1.26rem;}
 
 .my .mem_rank {position: relative; padding:1.6rem 0; padding-left: 6rem;}
-.my .mem_rank .mem_name {font-size: 1.8rem; font-weight: 300;}
+.my .mem_rank .mem_name {dib font-size: 1.8rem; font-weight: 300;}
 .my .mem_rank .mem_name strong {font-weight: 500;}
 .my .mem_rank .rank_txt {display: inline-block; font-size: 1.8rem; color: #666; font-weight: 500; padding-right: 1.7rem; background: url(/images/mo/ico_btn_detail03.png) no-repeat right top 5px; background-size:0.7rem 1.3rem;}
 .my .mem_rank .rank_txt02 button {display: inline-block; font-size: 14px; padding-right: 13px; margin-right: 20px; background: url(/images/pc/ico_mysm_arrow.png) no-repeat right top 6px;}
@@ -931,16 +934,13 @@ main.container .inner h2[data-style~="unusual"] {font-size:2.0rem;top: 0;positio
 .my .mem_info .mem_box > .mem_coupon .coupon_txt02 span {font-size: 18px;}
 .my .mem_info .mem_box > div:last-child {margin-right: 0;}
 .my .mem_info .mem_box > div a, .my .mem_info .mem_box > div .coupon_txt01 {font-size: 16px; color: #000; font-weight: 500;}
-.my .mem_info .mem_box > div .tit {font-size: 1.1rem; font-weight: 300; color: #888; margin-bottom: 0.9rem;}
+.my .mem_info .mem_box > div .tit {font-size: 1.1rem; font-weight: 300; color: #888; margin-bottom: 0.5rem;}
 .my .mem_info .mem_box > div em {display: inline-block; font-size: 1.4rem; font-weight: 500;}
 
-.my .order_info {text-align: center; margin-bottom: 1.2rem;}
+.my .order_info {text-align: center; margin-bottom: 2.4rem; margin-top: -1.2rem;}
 .my .order_info > ul {position: relative; display: inline-block; width: 100%; margin:3rem 0;}
 .my .order_info > ul > li {float:left; width: 33.3333%; text-align: center; position: relative; border-right:1px solid #ddd;}
 .my .order_info > ul > li:last-child {border-right:0;}
-/* .my .order_info > ul > li:after {content:''; position: absolute; top: 50%; right: -3.9rem; width: 1px; height: 31px; transform:translateY(-50%); background: #ddd;}
-.my .order_info > ul > li:last-child {margin-right: 0;}
-.my .order_info > ul > li:last-child:after {display: none;} */
 .my .order_info .or_p {font-size: 1.3rem; color: #666; font-weight: 300;}
 .my .order_info .count span {display: inline-block; font-size: 1.8rem; font-weight: 500;}
 
@@ -1027,7 +1027,7 @@ main.container .inner h2[data-style~="unusual"] {font-size:2.0rem;top: 0;positio
 .my .review .inner:last-child {padding-bottom: 0;}
 .my .review .inner.wide {background: #f5f5f5;}
 /* .my .review .inner .tabWrap .inner{margin-bottom:1.3rem;} */
-.my .review .tabIndex{margin-bottom: 0.85em;}
+.my .review .tabIndex{margin-bottom: 0.85rem;}
 .my .review .tabIndex li .count{font-size:1.0rem; font-weight: 300; padding-left: 0.5rem;color: #888888;}
 .my .review .tabIndex li.active a .count{color: #888888;}
 .my .review .tip1 .tip_contents{width: 34rem;transform: translate(-77%, 1.0rem); padding:1.3rem 1.6rem;}
@@ -1170,11 +1170,12 @@ main.container .inner h2[data-style~="unusual"] {font-size:2.0rem;top: 0;positio
 .my .my_order .order_sort {padding-top: 2rem; text-align: right;}
 .my .my_order .order_sort a {display: inline-block; font-size: 1.2rem; font-weight: 300; padding-right: 1.4rem; background: url('/images/mo/ico_sort_arrow.png') no-repeat right center; background-size:0.7rem 0.43rem;}
 .my .my_order .order_sort a:first-child {margin-right: 2rem;}
-/* .my.btPop_full_open .btPop_full {top:auto; bottom:0; height:auto;} */
-.my .od_filter_pop .btPop_head {display: none;}
-.my .od_filter_pop .btPop_body button {width: 49%; float:left; padding:1.1rem 0; border:1px solid #eee; text-align: center; margin-bottom: 0.6rem; border-radius:3rem; font-size: 1.4rem; font-weight: 300; color: #666;}
-.my .od_filter_pop .btPop_body button.on {border:1px solid #fd4802; color: #fd4802;}
-.my .od_filter_pop .btPop_body button:nth-child(even) {float:right;}
+.popup_box .button_list button {width: 100%; padding:1.1rem 0; border:1px solid #eee; text-align: center; margin-bottom: 0.6rem; border-radius:3rem; font-size: 1.4rem; font-weight: 300; color: #666;}
+.popup_box .button_list button[disabled] {background: #f5f5f5; color: #bbb;}
+.popup_box .button_list button[disabled] span {text-decoration: line-through; }
+.popup_box .button_list.clear button {width: 49%; float:left; }
+.popup_box .button_list button.on {border:1px solid #fd4802; color: #fd4802;}
+.popup_box .button_list.clear button:nth-child(even) {float:right;}
 
 /* my_order_2 */
 .my .my_order .inner {margin-bottom: 1.2rem;}
@@ -1252,9 +1253,10 @@ main.container .inner h2[data-style~="unusual"] {font-size:2.0rem;top: 0;positio
 /* my_order_3 */
 .my .my_goodsy .tbl_wrap .tbl {border-bottom: 1px solid #ddd; padding:2rem 0;}
 .my .my_goodsy .inner {margin-bottom: 1.2rem;}
-.my .my_goodsy .goods_tbl {padding-bottom: 6rem;}
 .my .my_goodsy .goods_tbl  .tblWrap {margin: 0;}
 .my .my_goodsy .goods_tbl .tbltitWrap {margin-top: 0;}
+.my .my_goodsy .goods_tbl th {background: #f5f5f5;}
+.my .my_goodsy .goods_tbl .tblWrap table tr th, .my .my_goodsy .goods_tbl .tblWrap table tr td {border-left: 0;}
 
 /* my_order_4 */
 .my .my_gift {}
@@ -1289,7 +1291,7 @@ main.container .inner h2[data-style~="unusual"] {font-size:2.0rem;top: 0;positio
 .my .my_page_edit .tbl_wrap .tbl table th, .my .my_page_edit .tbl_wrap .tbl table td {color: #222; display: block;}
 .my .my_page_edit .tbl_wrap .tbl table th {padding-bottom: 0.5rem; font-size: 1.4rem; font-weight: 500;}
 .my .my_page_edit .tbl_wrap .tbl table td {font-size: 1.4rem; }
-.my .my_page_edit .tbl_wrap .tbl td input {width: 100%;}
+.my .my_page_edit .tbl_wrap .tbl td input {width: 100%; padding:0 1.4rem;}
 .my .my_page_edit .tbl_wrap .tbl .password .btn.btn_primary {width: 100%; height: 4.5rem; background: #fff; color:#fd4802}
 
 .my .my_page_edit .btn_group_flex {padding:0; margin:0; background: #fff;}
@@ -1334,55 +1336,60 @@ main.container .inner h2[data-style~="unusual"] {font-size:2.0rem;top: 0;positio
 
 /* my_exchange_optionPOP_옵션변경 팝업 */
 .container.my.btPop_open::after, .container.od.btPop_open::after {display: none;}
-.container.my.btPop_open .optionPop, .container.od.btPop_open .couponChangePop {top: 55px;}
-.container.my.btPop_open .optionPop, .container.od.btPop_open .couponChangePop {max-height:calc(100% - 55px);}
+.container.my.btPop_open .optionChangePop, .container.od.btPop_open .couponChangePop {top: 55px;}
+.container.my.btPop_open .optionChangePop, .container.od.btPop_open .couponChangePop {max-height:calc(100% - 55px);}
 
-.container.my.btPop_open .optionPop .btn_group_flex, .container.od.btPop_open .couponChangePop .btn_group_flex {margin-top: 0;}
+.container.my.btPop_open .optionChangePop .btn_group_flex, .container.od.btPop_open .couponChangePop .btn_group_flex {margin-top: 0;}
 .container.od.btPop_open .couponChangePop .btn_group_flex button {font-size: 1.6rem; position: absolute; left: 0; bottom: 0;  width: 100%; height:5.8rem;}
-.container.my.btPop_open .optionPop .btPop_close {display: none;}
-.optionPop .btPop_head, .couponChangePop .btPop_head {display: none;}
-.optionPop .btPop_body, .couponChangePop .btPop_body {height: calc(100% - 4.3rem);}
+.container.my.btPop_open .optionChangePop .btPop_close {display: none;}
+.optionChangePop .btPop_head, .couponChangePop .btPop_head {display: none;}
+.optionChangePop .btPop_body, .couponChangePop .btPop_body {height: calc(100% - 4.3rem);}
 .couponChangePop .btPop_body {height:calc(100% - 5.8rem);}
-.optionPop .optionPop_tit {font-size: 1.4rem; font-weight: 500; margin-bottom: 1.5rem;}
-.optionPop .option_product_list {margin-bottom: 2.4rem;}
-.optionPop .product_list {border-top: 1px solid #ddd;}
-.optionPop .product_list li {border-bottom: 1px solid #ddd; padding: 1.5rem 0;}
-
-.optionPop .option_list li {border-bottom: 1px dashed #ddd; padding:2rem 0 0;}
-.optionPop .option_list li:first-child {padding-top: 0;}
-.optionPop .option_list li:last-child {border-bottom: 0;}
-.optionPop .option_list li > div {margin-bottom: 1.5rem;}
-.optionPop .option_list li .option_box {margin:0 -0.78%}
-.optionPop .option_list li .option_box:after {content:''; display: block; clear:both;}
-.optionPop .option_list li .option_box button {height: 3.4rem; width: 18.4%; float:left; margin: 0 0.78% 1.56%; padding: 0;}
-.optionPop .option_list li .option_box button.on {border:1px solid #fd4802;}
-.optionPop .option_list li .option_box button:active {background: #fff;}
-.optionPop .option_list li .option_box button:disabled {background: #f5f5f5;}
-.optionPop .option_list li .option_box button:disabled span {text-decoration: line-through; color: #bbb;}
-.optionPop .option_list li .option_name {font-size: 1.4rem; font-weight: 500;}
-.optionPop .option_list li .option_field {margin-top: 1.5rem;}
+.optionChangePop .optionPop_tit {font-size: 1.4rem; color:#222; font-weight: 500; margin-bottom: 1.5rem;}
+.optionChangePop .option_product_list {margin-bottom: 2.4rem;}
+.optionChangePop .product_list {border-top: 1px solid #ddd;}
+.optionChangePop .product_list li {border-bottom: 1px solid #ddd; padding: 1.5rem;}
+
+.modal.optionChangePop .modal-body .pop_cont {color: #222;}
+.optionChangePop .option_list li {border-bottom: 1px dashed #ddd; padding:2rem 0 0;}
+.optionChangePop .option_list li:first-child {padding-top: 0;}
+.optionChangePop .option_list li:last-child {border-bottom: 0;}
+.optionChangePop .option_list li > div {margin-bottom: 1.5rem;}
+/* .optionChangePop .option_list li .option_box {margin:0 -0.78%} */
+.optionChangePop .option_list li .option_box:after {content:''; display: block; clear:both;}
+.optionChangePop .option_list li .option_box button {height: 3.4rem; width: 18.4%; float:left; margin: 0 0.78% 1.56%; padding: 0;}
+.optionChangePop .option_list li .option_box button.on {border:1px solid #fd4802;}
+.optionChangePop .option_list li .option_box button:active {background: #fff;}
+.optionChangePop .option_list li .option_box button:disabled {background: #f5f5f5;}
+.optionChangePop .option_list li .option_box button:disabled span {text-decoration: line-through; color: #bbb;}
+.optionChangePop .option_list li .option_name {font-size: 1.4rem; font-weight: 500;}
+.optionChangePop .option_list li .option_field {margin-top: 1.5rem;}
+.optionChangePop .modal-footer .btn_group_flex {margin-top: 0;}
 
 /* my_return_3_accountPop_환불계좌등록 팝업 */
-.refund_account_pop .btPop_head {display: none;}
-.refund_account_pop .tbl_wrap {padding-top: 0;}
-.refund_account_pop .tbl_wrap .tbl_tit {padding-bottom: 1.5rem; padding-top: 1rem;}
-.refund_account_pop .tbl_wrap .tbl {border-top: 0;}
-.refund_account_pop .tbl_wrap .tbl .tbl_row {padding:0 0 2rem; border-bottom: 1px solid #ddd;}
-.refund_account_pop .tbl_wrap .tbl .tbl_row:first-child {margin-bottom: 2rem;}
-.refund_account_pop .tbl_wrap .tbl .tbl_row:last-child {padding-bottom: 0; border-bottom: 0;}
-.refund_account_pop .tbl_wrap .tbl table th, .refund_account_pop .tbl_wrap .tbl table td {color: #222; display: block;}
-.refund_account_pop .tbl_wrap .tbl table th {padding-bottom: 1.5rem; font-size: 1.4rem; font-weight: 500;}
-.refund_account_pop .tbl_wrap .tbl table td {font-size: 1.4rem; padding-bottom: 3rem;}
-.refund_account_pop .tbl_wrap .tbl td input {width: 100%;}
-.refund_account_pop .tbl_wrap .tbl .password .btn.btn_primary {width: 100%; height: 4.5rem; background: #fff; color:#fd4802}
-.refund_account_pop .tbl_wrap .tbl td .certi_wrap {width: 100%;}
-.refund_account_pop .tbl_wrap .tbl td .certi_wrap .btn {width: 8.6rem; height: 4.5rem; position: absolute; top: 0; right: 0; padding: 0; text-align: center;}
-.refund_account_pop .tbl_wrap .tbl table tr:last-child th, .refund_account_pop .tbl_wrap .tbl table tr:last-child td {padding-bottom: 0;}
-.refund_account_pop .tbl_wrap .tbl table tr:last-child th {padding-bottom: 1.5rem;}
-.refund_account_pop .btn_group_flex {margin-top: 0;}
+.refundAccountPop .btPop_head {display: none;}
+.refundAccountPop .tbl_wrap {padding-top: 0;}
+.refundAccountPop .tbl_wrap .tbl_tit {padding-bottom: 1.5rem; padding-top: 1rem;}
+.refundAccountPop .tbl_wrap .tbl {border-top: 0;}
+.refundAccountPop .tbl_wrap .tbl .tbl_row {padding:0 0 2rem; border-bottom: 1px solid #ddd;}
+.refundAccountPop .tbl_wrap .tbl .tbl_row:first-child {margin-bottom: 2rem;}
+.refundAccountPop .tbl_wrap .tbl .tbl_row:last-child {padding-bottom: 0; border-bottom: 0;}
+.refundAccountPop .tbl_wrap .tbl table th, .refundAccountPop .tbl_wrap .tbl table td {color: #222; display: block;}
+.refundAccountPop .tbl_wrap .tbl table th {padding-bottom: 1rem; font-size: 1.4rem; font-weight: 500;}
+.refundAccountPop .tbl_wrap .tbl table td {font-size: 1.4rem; padding-bottom: 3rem;}
+.refundAccountPop .tbl_wrap .tbl td input {width: 100%; padding:0 1.4rem;}
+.refundAccountPop .tbl_wrap .tbl .password .btn.btn_primary {width: 100%; height: 4.5rem; background: #fff; color:#fd4802}
+.refundAccountPop .tbl_wrap .tbl td .certi_wrap {width: 100%;}
+.refundAccountPop .tbl_wrap .tbl td .certi_wrap .btn {width: 8.6rem; height: 4.5rem; position: absolute; top: 0; right: 0; padding: 0; text-align: center;}
+.refundAccountPop .tbl_wrap .tbl table tr:last-child th, .refundAccountPop .tbl_wrap .tbl table tr:last-child td {padding-bottom: 0;}
+.refundAccountPop .tbl_wrap .tbl table tr:last-child th {padding-bottom: 1.5rem;}
+.refundAccountPop .btn_group_flex {margin-top: 1rem;}
 
 /* my_delivery_1 */
-.my .my_delivery {}
+.my_delivery .modal {display: inline-block;}
+.my_delivery .blocker:before {display: none;}
+.my_delivery .modal .modal-body {margin-bottom: 4.5rem;}
+.my_delivery .modal .modal-footer {position: fixed; left: 0; bottom: 0; width: 100%;}
 .my .my_delivery .inner > .btn_group {position: fixed; left: 0; bottom: 0; width: 100%; z-index: 99; transition:all 0.3s;}
 .my .my_delivery .inner > .btn_group.active {transform: translate(0, -4.3rem);}
 .my .my_delivery .inner:last-child {padding-bottom: 0;}
@@ -1451,10 +1458,10 @@ main.container .inner h2[data-style~="unusual"] {font-size:2.0rem;top: 0;positio
 .my .have_amount dl div::before {content:''; position:absolute; width:1px; height:1.4rem; left:0px; top:50%; transform:translateY(-50%); background:#ddd;}
 .my .have_amount dl div:first-child::before {display:none;}
 .my .have_amount dl div > * {vertical-align:top;}
-.my .have_amount dl div dt {float:left; color:#666; font-size: 1.3rem;}
-.my .have_amount dl div dt .tag {margin-left:0.5rem;padding: 0.5rem; height:auto;}
+.my .have_amount dl div dt {float:left; color:#666; font-size: 1.2rem;}
+.my .have_amount dl div dt .tag {margin-left:0.5rem;padding:0 0.3rem;}
 .my .have_amount dl div dd {float:right; margin-left:1.0rem; color:#222; font-weight: 300;}
-.my .point .tag.primary_line {background:#fff3f2; border-color:#fd4802; color:#fd4802;border: 1px solid;font-size: 0.4rem;}
+.my .point .tag.primary_line {background:#fff3f2; border-color:#fd4802; color:#fd4802;border: 1px solid;font-size: 1rem;}
 .my .point .select_box {  width: auto;  background: #fff;position: relative;}
 .my .point .form_field {  width: auto;  height: 4.5rem; margin-top: 1.5rem;}
 .my .point .tab_cont {background: #ffffff;padding: 0 2.0rem;}
@@ -1465,7 +1472,9 @@ main.container .inner h2[data-style~="unusual"] {font-size:2.0rem;top: 0;positio
 .my .point .tab_cont li div:first-child{width: 65%;}
 .my .point .tab_cont li div:last-child{width: calc(100% - 70%);text-align: right;float: right;}
 .my .point .tab_cont li div .amount_plus,
-.my .point .tab _cont li div .amount_minus{display: inline-table;vertical-align: middle;height: 100%;line-height: 5rem;font-size: 1.6rem;font-weight: 400;}
+.my .point .tab_cont li div .amount_minus{display: inline-table;vertical-align: middle;height: 100%;line-height: 5rem;font-size: 1.2rem;font-weight: 400;}
+.my .point .tab_cont li div .amount_plus em,
+.my .point .tab_cont li div .amount_minus em {font-size: 1.5rem;}
 .my .point .tab_cont li div span{margin-bottom: 0.3rem;}
 .my .point .tab_cont li div span[class^="tag"]   {display: inline-block;}
 .my .point .tab_cont li div span[class^="txt"]{display: block;font-size: 1.2rem;color: #666666;margin-bottom: 0.2rem;}
@@ -1521,7 +1530,7 @@ main.container .inner h2[data-style~="unusual"] {font-size:2.0rem;top: 0;positio
 /* my_gift(myVoucher) */
 .my .myVoucher .inner {background: #fff;}
 .my .myVoucher .inner:last-child {padding-bottom: 2rem;}
-.my .myVoucher .highlight_area {background: #fff6f2;padding: 1.5rem 1rem;text-align: center;width: 100%;display: inline-table;position: relative;margin-top: 2rem;margin-bottom: 2rem;}
+/* .my .myVoucher .highlight_area {background: #fff6f2;padding: 1.5rem 1rem;text-align: center;width: 100%;display: inline-table;position: relative;margin-top: 2rem;margin-bottom: 2rem;}
 .my .myVoucher .have_amount .total_amount {color:#222; font-size:1.4rem; font-weight:400;text-align: left;position: relative;}
 .my .myVoucher .have_amount .total_amount span {color:#fd4802;font-size: 1.8rem;font-weight: 600;position: absolute;right: 1.0rem;text-align: right;}
 .my .myVoucher .have_amount .total_amount span em {font-size: 1.8rem;font-weight: bold;}
@@ -1531,11 +1540,12 @@ main.container .inner h2[data-style~="unusual"] {font-size:2.0rem;top: 0;positio
 .my .myVoucher .have_amount dl div::before {content:''; position:absolute; width:1px; height:1.4rem; left:0px; top:50%; transform:translateY(-50%); background:#ddd;}
 .my .myVoucher .have_amount dl div:first-child::before {display:none;}
 .my .myVoucher .have_amount dl div > * {vertical-align:top;}
-.my .myVoucher .have_amount dl div dt {float:left; color:#666;    font-size: 1.2rem;}
-.my .myVoucher .have_amount dl div dt .tag {margin-left:0.5rem;padding: 0rem 0.3rem;}
-.my .myVoucher .have_amount dl div dd {float:right; margin-left:1.0rem; color:#222;}
-.my .myVoucher .tag.primary_line {background:#fff3f2; border-color:#fd4802; color:#fd4802;border: 1px solid;font-size: 0.4rem;}
+.my .myVoucher .have_amount dl div dt {float:left; color:#666; font-size: 1.2rem;}
+.my .myVoucher .have_amount dl div dt .tag {margin-left:0.5rem;padding: 0rem 0.3rem; font-size: 1rem;}
+.my .myVoucher .have_amount dl div dd {float:right; margin-left:1.0rem; color:#222;} */
+.my .myVoucher .tag.primary_line {background:#fff3f2; border-color:#fd4802; color:#fd4802;border: 1px solid; font-size: 1rem;}
 .my .myVoucher .select_box {  width: auto;  background: #fff;position: relative;}
+.my .myVoucher .select_box .form_field {display: block;}
 .my .myVoucher .ADwrap {margin-top: 1.5rem;}
 .my .myVoucher .tip1 .tip_contents{width: 32.5rem;transform: translate(-25%, 1.0rem);}
 .my .myVoucher .tip1 .tip_contents:before,
@@ -2294,15 +2304,16 @@ main.container .shopping_bag .inner:last-child {padding-bottom: 0;}
 .od .od_liveview .swiper-container .item_prod {width: 100%;}
 
 /* 쇼핑백_팝업 */
-.popup_box {visibility:hidden; position:fixed; width:100%; height:100%; top:0; left:0; background:rgba(0,0,0,.5); z-index:500;}
-.popup_box.active{visibility:visible;}
+.popup_box {position:fixed; width:100%; height:100%; top:0; left:0; background:rgba(0,0,0,.7); z-index:500; transition:all 0.3s; visibility: hidden;}
+.popup_box.active{visibility: visible;}
 .popup_box .lap{position:absolute; bottom:-100%; left:0; width:100%; background:#fff; transition:all 0.3s;}
 .popup_box.active .lap {bottom: 0;}
 .popup_box .popup_head {padding:3rem 2rem 2rem;}
-.popup_box .popup_con{min-height:15rem; max-height:40rem; overflow-y:auto;}
-.popup_box .popup_close{position:absolute; top:-3.8rem; left:50%; width:1.6rem; height:1.6rem; background-image: url(/images/mo/ico_pop_cls_w.png); background-repeat:no-repeat; background-position:center center; font-size:0; text-indent:-999999px; background-size: contain; -webkit-transform:translateX(-50%); transform:translateX(-50%);}
+.popup_box .popup_con{min-height:15rem; max-height:40rem; overflow-y:auto; padding:2rem;}
+.popup_box .popup_close{position:absolute; top:-4.8rem; left:50%; width:4.8rem; height:4.8rem; background-image: url(/images/mo/ico_pop_cls_w.png); background-repeat:no-repeat; background-position:center center; background-size:1.6rem; font-size:0; text-indent:-999999px; -webkit-transform:translateX(-50%); transform:translateX(-50%);}
 
 /* popup_장바구니 옵션변경 */
+.popup_box.optModifyPop .popup_con {padding: 0;}
 .optModifyPop .area_order {padding:0 2rem 2rem;}
 .optModifyPop .area_order > div {margin-top:3rem}
 .optModifyPop .area_order > div:first-child {margin-top:0}

+ 43 - 21
src/main/webapp/ux/mo/js/common_m.js

@@ -744,32 +744,31 @@ $(document).ready(function () {
 
         // 210407_스크롤감지 헤더 그림자
         $('.pd_delivery_pop').scroll(function(){
-            $(".pd_delivery_pop .modal-header").css("box-shadow", "0px -50px 81px 8px rgba(0,0,0,0.80)");
+            $(".pd_delivery_pop .modal-header").css("box-shadow", "rgb(0 0 0 / 20%) 0px 0px 5px");
+            $(".pd_delivery_pop .modal-header").css("border-bottom", "0px none");
             if($(".pd_delivery_pop").scrollTop() === 0){
-                $(".pd_delivery_pop .modal-header").css("box-shadow", "rgb(0 0 0 / 20%) 0px 0px 5px");
+                $(".pd_delivery_pop .modal-header").css("box-shadow", "none");
+                $(".pd_delivery_pop .modal-header").css("border-bottom", "1px solid #eee");
             }
         });
         $('.pd_review_pop').scroll(function(){
-            $(".pd_review_pop .modal-header").css("box-shadow", "0px -50px 81px 8px rgba(0,0,0,0.80)");
+            $(".pd_review_pop .modal-header").css("box-shadow", "rgb(0 0 0 / 20%) 0px 0px 5px");
+            $(".pd_review_pop .modal-header").css("border-bottom", "0px none");
             if($(".pd_review_pop").scrollTop() === 0){
-                $(".pd_review_pop .modal-header").css("box-shadow", "rgb(0 0 0 / 20%) 0px 0px 5px");
+                $(".pd_review_pop .modal-header").css("box-shadow", "none");
+                $(".pd_review_pop .modal-header").css("border-bottom", "1px solid #eee");
+            }
+        });
+        $('.pd_qnalist_pop').scroll(function(){
+            $(".pd_qnalist_pop .modal-header").css("box-shadow", "rgb(0 0 0 / 20%) 0px 0px 5px");
+            $(".pd_qnalist_pop .modal-header").css("border-bottom", "0px none");
+            if($(".pd_qnalist_pop").scrollTop() === 0){
+                $(".pd_qnalist_pop .modal-header").css("box-shadow", "none");
+                $(".pd_qnalist_pop .modal-header").css("border-bottom", "1px solid #eee");
             }
         });
 
 
-        // 쇼핑백팝업
-        $("#btn_shoppingBag_pop").click(function() {
-            popClsScroll2();
-            $('.container').removeClass('btPop_open');
-            autome.style.top  = 100 + "%";
-            $("html, body").animate({"scrollTop": 0}, 0);
-            $("#shoppingBagModal").fadeIn();
-            setTimeout(function(){
-                $("#shoppingBagModal").fadeOut(500);
-            },2000);
-            return false;
-        });	
-
 });
         
 
@@ -777,6 +776,14 @@ $(document).ready(function () {
 /* ================================================== JS branch JS ========================================================*/
 $( document ).ready( function() {
 
+    /* 마이페이지/상품상세_header style */
+    if($('main').hasClass("my")){
+        $('.htop').css({"border-bottom": "1px solid rgba(0, 0, 0, 0.1)"});
+    }else if(($('main').hasClass("pd"))){
+        $('.htop').css({"background": "transparent","position":"absolute","width":"100%"});
+        $('.htop .home').css({"display": "inline-block"});
+    };
+    
         /* 고객센터_accordion */
         $(document).on('click','.cs .foldGroup .fold_head, .my .foldGroup .fold_head',function(e){
             $(this).parents('.foldGroup li').find('.fold_cont').slideToggle(100);
@@ -793,15 +800,30 @@ $( document ).ready( function() {
 
         /* 상품문의_accordion */
         $(document).on('click','.pd_qnalist .fold_head .fold_tit',function(e){	
-            //$('.fold_head').removeClass('on');
-            //$('.fold_cont').slideUp(100);
+            $('.fold_head').removeClass('on');
+            $('.fold_cont').slideUp(100);
             //$(this).parents('.foldGroup li').find('.fold_cont').slideToggle(100);
             //$(this).parents('.fold_head').toggleClass('on');
-            $(this).parents('.foldGroup li').find('.fold_cont').slideToggle(100);
-            $(this).parents('.fold_head').toggleClass('on');
+            if(!$(this).parents('.foldGroup li').find('.fold_cont').is(":visible")){
+                $(this).parents('.foldGroup li').find('.fold_cont').slideDown(100);
+                $(this).parents('.fold_head').toggleClass('on');
+            }
             return false;
         });
 
+        // 쇼핑백팝업
+        $("#btn_shoppingBag_pop").click(function() {
+            popClsScroll2();
+            $('.container').removeClass('btPop_open');
+            autome.style.top  = 100 + "%";
+            $("html, body").animate({"scrollTop": 0}, 0);
+            $("#shoppingBagModal").fadeIn();
+            setTimeout(function(){
+                $("#shoppingBagModal").fadeOut(500);
+            },2000);
+            return false;
+        });	
+
 });
 // $(window).load(function() {
 //     $('#load').hide();