@charset "utf-8";

/* =========================================================
   마이페이지 상단 공통 + 주문내역/배송조회
   ========================================================= */
:root{
  --mp-max:1040px;               /* 마이페이지 콘텐츠 폭 */
  --mp-tab-text:#444;
  --mp-tab-active-bg:#222222;
  --mp-tab-active-text:#ffffff;
  --mp-search-bg:#f6f7f8;        /* 검색창 배경 */
  --mp-cart-bg:#f6f7f8;          /* 장바구니 담기 */
  --mp-cart-text:#333333;
  --mp-btn-cancel:#a1a4af;       /* 주문취소(아웃라인 보더) */
  --mp-btn-track:#cd0111;        /* 배송조회(채움) */
  --mp-btn-inquiry:#f0a800;      /* 1:1문의(예약 변수) */
  --mp-thumb-bg:#f3f3f3;
  --mp-btn-line:#b4b3b3;         /* 상세보기 등 보더 */
}

/* ---- 레이아웃 ---- */
.mypage{max-width:var(--mp-max);margin:0 auto;padding:44px 20px 80px;color:var(--color-text-default);}

/* ---- 타이틀 + 1:1 문의 ---- */
.mypage__head{position:relative;display:flex;align-items:center;justify-content:center;min-height:40px;margin-bottom:26px;}
.mypage__title{font-size:1.9rem;font-weight:500;letter-spacing:-0.03em;color:var(--color-text-default);font-family:'NoonnuBasicGothic', sans-serif;}
.mp-inquiry{position:absolute;right:0;top:50%;transform:translateY(-50%);padding:7px 16px;font-size:0.88rem;font-weight:600;color:#cd0111;border:1px solid var(--point);border-radius:4px;}

/* ---- 탭 ---- */
.mypage-tabs{display:flex;border:1px solid var(--color-line);overflow:hidden;margin-bottom:40px;}
.mypage-tabs a{flex:1;text-align:center;padding:16px 8px;font-size:.92rem;font-weight:700;color:var(--mp-tab-text);border-left:1px solid var(--color-line);white-space:nowrap;transition:background .15s,color .15s;}
.mypage-tabs a:first-child{border-left:0;}
.mypage-tabs a:hover{background:rgba(0,0,0,.03);}
.mypage-tabs a.on{background:var(--mp-tab-active-bg);color:var(--mp-tab-active-text);}

/* ---- 검색 ---- */
.mypage-search{display:flex;justify-content:flex-end;position:relative;margin-bottom:20px;}
.mypage-search input{width:100%;max-width:400px;height:42px;padding:0 52px 0 18px;font-size:.95rem;color:var(--color-text-default);background:var(--mp-search-bg);border:1px solid var(--color-line);border-radius:4px;outline:none;}
.mypage-search input::placeholder{color:var(--color-text-placeholder);}
.mypage-search__btn{position:absolute;top:0;right:0;width:52px;height:42px;display:flex;align-items:center;justify-content:center;color:var(--color-text-default);background:none;}
.mypage-search__btn svg{width:22px;height:22px;}

/* ---- 주문 요약박스 ---- */
.order-box{border:1px solid var(--color-line);border-radius:16px;padding:25px 45px;box-shadow:0 1px 4px rgba(0,0,0,.06);margin-bottom:20px;}
.order:last-of-type .order-box{margin-bottom:0;}
.order-summary__top{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.order-summary__date{font-size:1.40rem;font-weight:600;color:var(--color-text-default);margin-bottom:5px;font-family:'Roboto', sans-serif;}
.order-summary__no{font-size:.95rem;color:var(--color-text-default);display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.btn-detail-view{padding:5px 10px;font-size:.76rem;font-weight:600;border:1px solid var(--mp-btn-line);background:#fff;border-radius:4px;}
.order-summary__btns{display:flex;flex-direction:column;gap:8px;flex:0 0 auto;}
.order-summary__btns button{min-width:124px;padding:8px 16px;font-size:.86rem;font-weight:600;color:#fff;border-radius:4px;}
.btn-cancel{border:1px solid var(--mp-btn-line);color:var(--color-text-default) !important;}
.btn-track{border:1px solid var(--mp-btn-track);background:var(--mp-btn-track);}

/* ---- 주문 상품 목록(2단) ---- */
.order-products{display:grid;grid-template-columns:repeat(2,1fr);gap:0 60px;margin-top:16px;padding-top:16px;border-top:1px solid var(--color-line);}
.order-item{display:flex;align-items:center;gap:16px;padding:14px 0;}
.order-item__thumb{flex:0 0 auto;width:66px;height:66px;overflow:hidden;background:var(--mp-thumb-bg);}
.order-item__thumb img{width:100%;height:100%;object-fit:contain;}
.order-item__info{flex:1;min-width:0;}
.order-item__name{font-size:.86rem;color:var(--color-text-default);margin-bottom:5px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.order-item__meta{display:flex;align-items:center;gap:14px;color:var(--color-text-default);font-family:'Roboto', sans-serif;font-size:0.9rem;}
.order-item__meta .price{font-weight:700;}
.order-item__meta .qty{color:var(--color-text-sub);font-size:0.9rem;}
.btn-cart{flex:0 0 auto;display:inline-flex;align-items:center;gap:3px;padding:8px;font-size:.74rem;font-weight:600;border:1px solid var(--mp-btn-line);background:var(--mp-cart-bg);color:var(--mp-cart-text);border-radius:4px;}
.btn-cart svg{width:18px;height:18px;flex:0 0 auto;}
.order-item__thumb{display:block;} /* 썸네일이 a로 바뀌므로 block 처리(기존 크기/배경 유지) */
.order-item__name a{color:inherit;transition:color .15s;} /* 상품명 링크: 기존 색 유지 + hover 시 포인트색 */

/* ---- 반응형 ---- */
/* 태블릿 + 모바일 : 탭 6개를 3열 2행 격자로 (스와이프 없이 한눈에) */
@media (max-width:1024px){
  .mypage{padding:36px 20px 64px;}
  .mypage-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border:0;overflow:visible;}
  .mypage-tabs a{display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.3;min-height:52px;padding:10px 6px;border:1px solid var(--color-line);border-radius:6px;white-space:normal;}
  .mypage-tabs a:first-child{border-left:1px solid var(--color-line);}
  .mypage-tabs a.on{border-color:var(--mp-tab-active-bg);}
}
/* 모바일 */
@media (max-width:760px){
  .mypage__head{justify-content:flex-start;}
  .mypage__title{font-size:1.4rem;}
  .mp-inquiry{padding:5px 14px;font-size:.84rem;}
  .order-products{grid-template-columns:1fr;}
  .mypage-search input{font-size:16px;}
 .mypage-search input::placeholder{font-size:0.9rem;}
}
@media (max-width:560px){
  .mypage{padding:20px 16px 35px;}
  .mypage-tabs{margin-bottom:20px;}
  .mypage-tabs a{font-size:.84rem;min-height:42px;}
  .order-summary{flex-direction:column;align-items:stretch;gap:16px;}
  .order-summary__date{font-size:1.2rem;line-height:1.3;margin-bottom:0;}
  .order-summary__no{font-size:.9rem;}
  .order-summary__btns{flex-direction:row;}
  .order-summary__btns button{flex:1;min-width:0;}
  .mp-inquiry{position:static;transform:none;}
  .mypage__head{justify-content:space-between;margin-bottom:20px;}
  .order-box{padding:18px 16px;}
  .order-summary__top{flex-direction:column;align-items:stretch;gap:16px;}
  .order-products{margin-top:18px;padding-top:18px;}
  .order-item{padding:10px 0;}
}
@media (max-width:380px){
  .order-item{flex-wrap:wrap;}
  .btn-cart{width:100%;justify-content:center;}   /* justify-content 추가 */
}

/* =========================================================
   배송조회 모달 (진행상황 + 배송조회)
   ========================================================= */
:root{
  --mp-track-point:#cd0111;     /* 진행상황/확인 등 포인트 컬러 */
  --mp-step-off:#c9c9c9;        /* 비활성 스텝 원 */
  --mp-step-line:#d8d8d8;       /* 비활성 연결선 */
}
 
.track-modal{position:fixed;inset:0;z-index:1000;display:none;}
.track-modal.is-open{display:block;}
.track-modal__dim{position:absolute;inset:0;background:rgba(0,0,0,.5);}
.track-modal__box{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(100% - 40px);max-width:520px;max-height:88vh;overflow-y:auto;background:#fff;border-radius:14px;padding:42px 32px 28px;box-shadow:0 20px 60px rgba(0,0,0,.25);animation:trackUp .22s ease;}
@keyframes trackUp{from{opacity:0;transform:translate(-50%,-46%);}to{opacity:1;transform:translate(-50%,-50%);}}
.track-modal__close{position:absolute;top:14px;right:14px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:1.7rem;line-height:1;color:var(--color-text-sub);background:none;}
.track-modal__close:hover{color:var(--color-text-default);}
.track-modal__title{text-align:center;font-size:1.15rem;font-weight:700;color:var(--color-text-default);margin-bottom:30px;}
.track-modal__subtitle{text-align:center;font-size:1.1rem;font-weight:700;color:var(--color-text-default);margin:36px 0 16px;}
 
/* ---- 진행상황 스텝 ---- */
.track-steps{display:flex;}
.track-step{flex:1;position:relative;text-align:center;}
.track-step__dot{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--mp-step-off);color:#fff;font-size:.85rem;font-weight:700;font-family:'Roboto',sans-serif;}
.track-step:not(:last-child)::after{content:"";position:absolute;top:13px;left:50%;width:100%;height:3px;background:var(--mp-step-line);z-index:0;}
.track-step__label{display:block;margin-top:9px;font-size:.82rem;color:var(--color-text-sub);line-height:1.3;word-break:keep-all;}
.track-step__label em{display:block;font-style:normal;font-size:.74rem;color:var(--color-text-placeholder);}

/* 완료/현재 단계 강조 */
.track-step.is-done .track-step__dot,
.track-step.is-current .track-step__dot{background:var(--mp-track-point);}
.track-step.is-done .track-step__label,
.track-step.is-current .track-step__label{color:var(--mp-track-point);font-weight:700;}
.track-step.is-done::after{background:var(--mp-track-point);}   /* 완료 구간 선 */
 
/* ---- 배송조회 정보 ---- */
.track-ship{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--mp-search-bg);padding:18px 20px;border-radius:4px;}
.track-ship__info p{font-size:.93rem;color:var(--color-text-default);line-height:1.75;}
.track-ship__copy{flex:0 0 auto;padding:9px 16px;font-size:.85rem;font-weight:600;color:var(--color-text-default);background:#fff;border:1px solid var(--mp-btn-line);border-radius:4px;}
 
/* ---- 확인 버튼 ---- */
.track-modal__foot{margin-top:24px;text-align:center;}
.track-modal__confirm{min-width:170px;padding:12px 30px;font-size:1rem;font-weight:700;color:#fff;background:var(--mp-track-point);border-radius:4px;}
body.track-open{overflow:hidden;}
 
/* ---- 반응형 ---- */
@media (max-width:560px){
  .track-modal__box{padding:38px 18px 24px;}
  .track-step__dot{width:24px;height:24px;font-size:.78rem;}
  .track-step:not(:last-child)::after{top:11px;}
  .track-step__label{font-size:.72rem;}
  .track-step__label em{font-size:.66rem;}
  .track-ship{flex-direction:column;align-items:stretch;gap:14px;}
  .track-ship__copy{align-self:flex-end;}
  .track-modal__confirm{width:100%;}
}

/* =========================================================
   주문상세보기
   ========================================================= */
:root{
  --mp-detail-point:#cd0111;   /* 결제일시 등 강조 컬러 */
}
 
.order-detail{padding-top:20px;}
.detail-block{margin-bottom:40px;}
.detail-block__title{font-size:1.12rem;font-weight:800;color:var(--color-text-default);padding-bottom:12px;border-bottom:2px solid var(--color-text-default);}
 
/* ---- 받는사람 ---- */
.detail-receiver{padding-top:16px;line-height:1.7;}
.detail-receiver__addr{color:var(--color-text-default);word-break:keep-all;}
.detail-receiver p{font-size:.92rem;color:var(--color-text-sub);}
 
/* ---- 결제정보 ---- */
.pay-info{margin-top:4px;}
.pay-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 2px;border-bottom:1px solid var(--color-line);font-size:.95rem;}
.pay-row dt{color:var(--color-text-sub);}
.pay-row dd{color:var(--color-text-default);font-weight:700;text-align:right;}
.pay-row .won{font-weight:400;font-size:.88rem;color:var(--color-text-sub);margin-left:2px;}
.pay-date{color:var(--mp-detail-point) !important;font-weight:700;}
.pay-row--total{border-bottom:0;margin-top:2px;}
.pay-row--total dt,
.pay-row--total dd{font-size:1.02rem;font-weight:800;color:var(--color-text-default);}
 
/* ---- 뒤로가기 ---- */
.detail-actions{margin-top:28px;text-align:right;}
.btn-back{padding:9px 22px;font-size:.9rem;font-weight:600;color:var(--color-text-default);background:transparent;border:1px solid var(--mp-btn-line);border-radius:4px;}

/* ---- 주문상품 - 260818 하유정 ---- */
.detail-block-02 .detail-block__title{font-size:18px;font-weight:700;margin-bottom:20px;}
.detail-block-02>div:last-child{display:grid;grid-template-columns:repeat(2,1fr);column-gap:60px;row-gap:20px;}
.order-list-item-02 {display:flex;align-items:center;position:relative;}
.order-list-item-02 .order-thumb{width:66px;height:66px;flex:0 0 66px;margin-right:16px;background:#f5f5f5;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.order-list-item-02 .order-thumb img{display:block;max-width:100%;max-height:100%;object-fit:contain;}
.order-list-item-02 .order-list-detail{display:flex;flex-direction:column;justify-content:center;flex:1;}
.order-list-item-02 .order-goods-title{font-size:14px;font-weight:400;line-height:1.4;color:#111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.order-list-item-02 .order-goods-total{display:flex;align-items:center;margin-top:5px;font-size:15px;font-weight:700;color:#111;white-space:nowrap;}
.order-list-item-02 .order-goods-total>span:first-of-type{margin-left:12px;font-size:14px;font-weight:400;color:#777;}
.order-list-item-02 .order-goods-total img{vertical-align:middle;}
 
/* ---- 반응형 ---- */
@media (max-width:560px){
	.order-detail{padding-top:10px;}
	.detail-block{margin-bottom:32px;}
	.detail-block__title{font-size:1rem;}
	.detail-receiver p{font-size:.9rem;}
	.pay-row{font-size:.9rem;padding:12px 2px;}
	.pay-row--total dt,
	.pay-row--total dd{font-size:1rem;}
	.detail-actions{margin-top:24px;}
	.btn-back{width:100%;}
}

/* ---- 주문상품 - 260818 하유정 (모바일 세로) ---- */
@media (max-width:560px) and (orientation:portrait){
.detail-block-02>div:last-child{display:grid;grid-template-columns:1fr;column-gap:0;row-gap:16px;}
.order-list-item-02{display:flex;align-items:center;position:relative;width:100%;min-width:0;min-height:64px;padding-right:68px;box-sizing:border-box;}
.order-list-item-02 .order-thumb{width:60px;height:60px;flex:0 0 60px;margin-right:12px;}
.order-list-item-02 .order-list-detail{display:flex;flex:1;flex-direction:column;justify-content:center;min-width:0;}
.order-list-item-02 .order-goods-title{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal;word-break:keep-all;line-height:18px;max-height:36px;}
.order-list-item-02 .order-goods-total{display:flex;align-items:center;white-space:nowrap;}
.order-list-item-02 .btn-cart{position:absolute;right:0;top:50%;transform:translateY(-50%);width:58px!important;height:38px;padding:0!important;display:inline-flex;align-items:center;justify-content:center;gap:3px;}
}

/* ---- 주문상품 - 260818 하유정 (모바일 가로) ---- */
@media (max-width:1023px) and (max-height:560px) and (orientation:landscape){
.detail-block-02>div:last-child{grid-template-columns:1fr;column-gap:0;row-gap:14px;}
.order-list-item-02{min-height:64px;padding-right:80px;}
.order-list-item-02 .order-thumb{width:64px;height:64px;flex:0 0 64px;margin-right:14px;}
.order-list-item-02 .order-goods-title{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal;word-break:keep-all;line-height:18px;max-height:36px;}
.order-list-item-02 .order-goods-total{font-size:14px;}
.order-list-item-02 .order-goods-total>span:first-of-type{margin-left:10px;font-size:12px;}
}

/* ---- 주문상품 - 260818 하유정 (태블릿 세로) ---- */
@media (min-width:768px) and (max-width:1023px) and (orientation:portrait){
.detail-block-02>div:last-child{grid-template-columns:repeat(2,1fr);column-gap:30px;row-gap:18px;}
.order-list-item-02{min-height:68px;}
.order-list-item-02 .order-thumb{width:64px;height:64px;flex:0 0 64px;margin-right:14px;}
.order-list-item-02 .order-goods-title{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal;word-break:keep-all;line-height:18px;max-height:36px;}
.order-list-item-02 .order-goods-total{font-size:14px;}
.order-list-item-02 .order-goods-total>span:first-of-type{margin-left:8px;}
}

/* ---- 주문상품 - 260818 하유정 (태블릿 가로) ---- */
@media (min-width:768px) and (max-width:1199px) and (min-height:561px) and (orientation:landscape){
.detail-block-02>div:last-child{grid-template-columns:repeat(2,1fr);column-gap:40px;row-gap:20px;}
.order-list-item-02{min-height:70px;}
.order-list-item-02 .order-thumb{width:68px;height:68px;flex:0 0 68px;margin-right:16px;}
.order-list-item-02 .order-goods-title{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal;word-break:keep-all;line-height:18px;max-height:36px;}
.order-list-item-02 .order-goods-total{font-size:14px;}
.order-list-item-02 .order-goods-total>span:first-of-type{margin-left:10px;font-size:13px;}
}

/* =========================================================
   쿠폰
   ========================================================= */
:root{
  --jcp-red-from:#e2231a;        /* 우측 다운로드 그라데이션(밝은쪽) */
  --jcp-red-to:#cd0111;          /* 우측 다운로드(브랜드 레드) */
  --jcp-body-bg:#ffffff;         /* 좌측 본문 배경 */
  --jcp-card-line:#d9d9d9;       /* 카드 외곽선(노치 곡선 포함) */
  --jcp-amount:#1a1a1a;          /* 금액 */
  --jcp-name:#333333;            /* 쿠폰명 */
  --jcp-meta:#9a9da3;            /* 사용조건/유효기간 */
  --jcp-dl-w:120px;              /* 우측 다운로드 폭 */
  --jcp-radius:14px;             /* 카드 라운드 */
}
 
.jcp-list{display:grid;grid-template-columns:repeat(2,1fr);gap:25px 40px;}
.jcp{position:relative;min-height:170px;display:flex;filter:drop-shadow(0 2px 5px rgba(0,0,0,.04));   /* 살짝 그림자(노치 형태 따라감) */}
.jcp__bg{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;display:block;}
.jcp__bg .jcp-outline{fill:none;stroke:var(--jcp-card-line);stroke-width:1;vector-effect:non-scaling-stroke;}
.jcp__bg .jcp-dash{stroke:rgba(255,255,255,.45);stroke-width:1;stroke-dasharray:4 4;}
.jcp__body{position:relative;z-index:1;flex:1;min-width:0;display:flex;flex-direction:column;padding:25px 35px;}
.jcp__amount{display:flex;align-items:baseline;color:var(--jcp-amount);letter-spacing:-0.02em;}
.jcp__amount strong{font-size:2rem;font-weight:600;line-height:1;font-family:'Pliant', sans-serif;}
.jcp__won{font-size:1.05rem;font-weight:500;margin-left:3px;}
.jcp__name{margin-top:5px;font-size:1.04rem;font-weight:600;letter-spacing:-0.05em;line-height:1.4;}
.jcp__meta{margin-top:auto;padding-top:5px;}
.jcp__meta li{font-size:.82rem;color:var(--jcp-meta);line-height:1.5;}
/* 마이페이지 쿠폰 css 수정 - 260821 하유정 */
.jcp__download{position:relative;z-index:1;flex:0 0 var(--jcp-dl-w);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:transparent; color:#fff;cursor:pointer;border:0;}
.jcp__download-ico{width:42px;height:42px;display:block;}
.jcp__download-ico svg{width:100%;height:100%;}
.jcp__download-text{font-size:.9rem;font-weight:500;letter-spacing:-0.02em;}
.jcp__download:hover{filter:brightness(1.06);}
.jcp__download:active{filter:brightness(.97);}
 
/* ---- 반응형 ---- */
@media (max-width:1024px){
  .jcp-list{grid-template-columns:repeat(2,1fr);gap:20px;}
}
@media (max-width:760px){
  .jcp{--jcp-dl-w:108px;min-height:174px;}
  .jcp__amount strong{font-size:1.9rem;}
}
@media (max-width:560px){
  .jcp-list{grid-template-columns:1fr;gap:18px;}
  .jcp{--jcp-dl-w:104px;min-height:140px;}
  .jcp__body{padding:22px 20px 18px;}
  .jcp__amount strong{font-size:1.8rem;}
  .jcp__name{font-size:1rem;margin-top:0;}
  .jcp__meta li{font-size:.78rem;}
  .jcp__download{padding-top:20px;}
  .jcp__download-ico{width:34px;height:34px;}
  .jcp__download-text{font-size:.8rem;}
}

/* =========================================================
   장바구니
   ========================================================= */
:root{
  --cart-head-line:var(--color-text-default);   /* 목록 상단 굵은 라인 */
  --cart-qty-bg:#ffffff;                         /* 수량 스테퍼 배경 */
  --cart-qty-line:var(--input-border);           /* 수량 스테퍼 보더 */
  --cart-del:#b8bcc2;                             /* 삭제(X) 기본색 */
  --cart-del-hover:var(--point);                 /* 삭제(X) hover */
  --cd-summary-bg:#fafafa;       /* 요약 박스 배경 */
  --cart-qty-btn-bg:#f9fafb;      /* 스테퍼 버튼 배경(연회색) */
  --cart-qty-btn-hover:#f3f4f5;   /* 버튼 hover 배경 */
}

/* ---- 상단 컨트롤 (전체선택 / 선택삭제) ---- */
.cart__control{display:flex;align-items:center;justify-content:space-between;padding:0 2px 14px;}
.cart__check-all{display:inline-flex;align-items:center;gap:9px;font-size:.86rem;font-weight:600;color:var(--color-text-default);cursor:pointer;}
.cart__check-all input,
.cart__check input{width:20px;height:20px;accent-color:var(--point);cursor:pointer;flex:0 0 auto;}
.cart__remove-selected{padding:4px 2px;font-size:.8rem;color:var(--color-text-sub);background:none;transition:color .15s;}
.cart__remove-selected:hover{color:var(--point);}

/* ---- 목록 ---- */
.cart__list{border-top:2px solid var(--cart-head-line);}
.cart__item{display:grid;grid-template-columns:28px 70px minmax(0,1fr) auto auto 40px;grid-template-areas:"check thumb info qty price del";align-items:center;gap:0 20px;padding:10px 2px;border-bottom:1px solid var(--color-line);}
.cart__check{grid-area:check;display:flex;align-items:center;justify-content:center;}
.cart__thumb{grid-area:thumb;width:70px;height:70px;overflow:hidden;background:var(--mp-thumb-bg);}
.cart__thumb img{width:100%;height:100%;object-fit:contain;}
.cart__info{grid-area:info;min-width:0;}
.cart__name{font-size:.9rem;color:var(--color-text-default);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .15s;}

/* 수량 스테퍼 */
.cart__qty{grid-area:qty;display:flex;align-items:center;gap:10px;white-space:nowrap;}
.cart__qty-label{font-size:.8rem;color:var(--color-text-sub);}
.qty-stepper{display:inline-flex;align-items:center;border:1px solid var(--cart-qty-line);border-radius:4px;background:var(--cart-qty-bg);overflow:hidden;}
.qty-stepper__btn{width:34px;height:32px;display:flex;align-items:center;justify-content:center;font-size:1.05rem;line-height:1;color:var(--color-text-sub);background:var(--cart-qty-btn-bg);transition:color .15s,background .15s;}
.qty-stepper__btn:hover{background:var(--cart-qty-btn-hover);}
.qty-stepper__input{width:42px;height:32px;text-align:center;font-size:.8rem;color:var(--color-text-default);background:none;border:0;font-family:'Roboto', sans-serif;}

/* 가격 */
.cart__price{grid-area:price;text-align:right;font-size:.95rem;color:var(--color-text-default);white-space:nowrap;font-family:'Roboto', sans-serif;}
.cart__price strong{font-weight:700;}
.cart__price .won{margin-left:1px;}

/* 삭제 */
.cart__del{grid-area:del;width:36px;height:36px;margin-left:auto;display:flex;align-items:center;justify-content:center;color:var(--cart-del);background:none;transition:color .15s;}
.cart__del:hover{color:var(--cart-del-hover);}
.cart__del svg{width:16px;height:16px;}

/* ---- 주문 버튼 ---- */
.cart__submit{margin-top:30px;text-align:center;}
.cart__order-btn{min-width:340px;max-width:100%;height:62px;padding:0 40px;font-size:1.05rem;font-weight:600;color:#fff;background:var(--mp-btn-track);border-radius:4px;transition:filter .15s,transform .05s;}

/* ---- 빈 장바구니 상태 ---- */
.cart__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:80px 16px;text-align:center;border-bottom:1px solid var(--color-line);}
.cart__empty-ico{color:var(--color-text-placeholder);opacity:.4;}
.cart__empty-ico svg{width:62px;height:62px;}
.cart__empty-text{font-size:.95rem;color:var(--color-text-sub);}
 
/* ---- 요약 (최종 결제 금액 + 쇼핑 계속하기 : 한 줄 우측정렬 / 전 해상도 동일) ---- */
.cart-summary{display:flex;align-items:center;justify-content:flex-end;gap:24px;margin-top:30px;padding:20px 28px;background:var(--cd-summary-bg);border:1px solid var(--color-line);border-radius:16px;}
.cart-summary__cols{display:flex;align-items:center;}
.cart-summary__col{display:flex;align-items:baseline;gap:10px;}      /* 라벨 + 금액을 한 줄에 */
.cart-summary__label{font-size:.9rem;font-weight:600;color:var(--color-text-sub);margin-bottom:0;}
.cart-summary__num{font-family:'Roboto', sans-serif;white-space:nowrap;}
.cart-summary__col--final .n{font-size:1.4rem;font-weight:800;color:var(--point);}
.cart-summary__col--final .won{font-size:.9rem;font-weight:600;color:var(--point);margin-left:2px;}
.cart-summary__continue{flex:0 0 auto;white-space:nowrap;padding:11px 20px;font-size:.84rem;font-weight:600;color:var(--color-text-default);background:var(--color-background);border:1px solid var(--mp-btn-line);border-radius:4px;transition:border-color .15s,color .15s;}
 
 /* ---- 찜하기 하단 합계 ---- */
.cart-summary--single{justify-content:flex-end;gap:20px;}
.cart-summary--single .cart-summary__row{display:flex;align-items:baseline;gap:12px;}
.cart-summary--single .cart-summary__label{font-size:.8rem;font-weight:600;color:var(--color-text-sub);margin-bottom:0;}
.cart-summary--single .cart-summary__num{font-family:'Roboto', sans-serif;}
.cart-summary--single .cart-summary__num .n{font-size:1.3rem;font-weight:800;color:var(--point);}
.cart-summary--single .cart-summary__num .won{font-size:0.9rem;font-weight:600;color:var(--point);margin-left:2px;}

/* ---- 반응형 ---- */
/* 태블릿 : 단일 행 유지, 간격·라벨만 컴팩트 */
@media (max-width:768px){
  .cart__item{grid-template-columns:26px 64px minmax(0,1fr) auto auto 36px;gap:0 14px;}
  .cart__qty-label{display:none;}
  .cart__order-btn{min-width:300px;}
}
@media (max-width:560px){
  /* 요약 : 배치는 동일 유지, 좁은 화면 맞춰 여백만 축소 */
  .cart-summary{padding:18px 16px;gap:16px;}
  .cart__empty{padding:54px 16px;}
  .cart__empty-ico svg{width:50px;height:50px;}
  .cart__item{grid-template-columns:24px 62px minmax(0,1fr) max-content;
  grid-template-areas:
	"check thumb info  del"
	"check thumb qty   price";gap:10px 12px;padding:10px 2px;}
  .cart__thumb{width:62px;height:62px;}
  .cart__info{align-self:start;}
  .cart__qty{align-self:center;}
  .cart__price{align-self:center;font-size:.92rem;}
  .qty-stepper__btn{width:30px;height:32px;}
  .qty-stepper__input{width:34px;height:32px;}
  .cart__del{width:32px;height:32px;align-self:start;}
  .cart__del svg{width:14px;height:14px;}
  .cart__order-btn{width:100%;min-width:0;height:56px;font-size:1.05rem;}
  .cart-summary--single{flex-direction:column;align-items:stretch;gap:14px;}
  .cart-summary--single .cart-summary__row{justify-content:space-between;}
  .cart-summary--single .cart-summary__continue{text-align:center;}

  .cart-summary__label{font-size:.8rem;}
  .cart-summary__num .n{font-size:1.2rem;}
  .cart-summary__num .won{font-size:0.9rem;}
}
@media (max-width:380px){
  /* 요약 : 배치 동일, 최소폭에서 넘치지 않도록 크기만 축소 */
  .cart-summary{gap:12px;padding:16px 14px;}
  .cart-summary__col--final .n{font-size:1.25rem;}
  .cart-summary__continue{padding:10px 14px;}
}

/* =========================================================
   찜한 상품
   ========================================================= */
.cart--zzim .cart__item{grid-template-columns:28px 70px minmax(0,1fr) auto minmax(80px, auto);grid-template-areas:"check thumb info qty pricecol";}
.cart__price-col{grid-area:pricecol;display:flex;flex-direction:column;align-items:flex-end;gap:4px;}
.cart__addcart{padding:7px 16px;font-size:.8rem;font-weight:600;color:var(--point);background:transparent;border:1px solid var(--point);border-radius:4px;white-space:nowrap;transition:background .15s,color .15s;}
.cart__addcart:hover{background:var(--point);color:#fff;}

/* ---- 합계 ---- */
.cart__total{display:flex;align-items:center;justify-content:flex-end;gap:18px;padding:22px 2px 0;}
.cart__total-price{display:flex;align-items:baseline;gap:8px;}
.cart__total-label{font-size:1rem;font-weight:700;color:var(--color-text-default);}
.cart__total-amount{font-size:1.35rem;font-weight:800;color:var(--mp-detail-point);font-family:'Roboto', sans-serif;}
.cart__total-won{font-size:1rem;font-weight:700;color:var(--mp-detail-point);}
.cart__continue{flex:0 0 auto;padding:9px 18px;font-size:.88rem;font-weight:600;color:var(--color-text-default);background:transparent;border:1px solid var(--mp-btn-line);border-radius:4px;transition:background .15s,border-color .15s,color .15s;}
.cart__continue:hover{border-color:var(--point);color:var(--point);}
 
/* ---- 반응형 ---- */
@media (max-width:560px){
  .cart--zzim .cart__item{
    grid-template-columns:24px 62px minmax(0,1fr) max-content;
    grid-template-areas:
      "check thumb info  pricecol"
      "check thumb qty   pricecol";
  }
  .cart__price-col{align-self:center;justify-content:center;gap:7px;}
  .cart__addcart{padding:6px 12px;font-size:.76rem;}
  .cart__total{flex-direction:column;align-items:stretch;gap:14px;padding-top:18px;}
  .cart__total-price{justify-content:space-between;}
  .cart__continue{text-align:center;}
}

/* =========================================================
   내정보 수정
   ========================================================= */
:root{
  --mp-point-tint:#fdf2f2;        /* 연한 레드 배경 */
  --mp-point-line:#f3c9c9;        /* 레드 외곽선 */
  --mp-point-ink:#cd0111;         /* 레드 텍스트/아이콘 */
  --mp-point-badge:#fbe6e6;       /* 배지 배경 */
  --mp-coupon-tint:#f5f6f8;       /* 연한 회색 배경 */
  --mp-coupon-line:#d7dae0;       /* 회색 외곽선 */
  --mp-coupon-ink:#3a4150;        /* 진회색 텍스트/아이콘 */
  --mp-coupon-badge:#e8eaee;      /* 배지 배경 */
  --profile-btn:#3a4150;         /* 확인 버튼(차콜) */
  --profile-field-bg:var(--mp-search-bg);   /* 입력 필드 배경(기존 검색창 톤 재사용) */
}
 
 /* 상단요약카드 */
.mp-stat{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:42px;}
.mp-stat__card{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;min-height:90px;padding:15px 30px;border-radius:16px;border:1px solid var(--_line);background:var(--_tint);color:var(--_ink);}
.mp-stat__card--point{--_tint:var(--mp-point-tint);--_line:var(--mp-point-line);--_ink:var(--mp-point-ink);--_badge:var(--mp-point-badge);}
.mp-stat__card--coupon{--_tint:var(--mp-coupon-tint);--_line:var(--mp-coupon-line);--_ink:var(--mp-coupon-ink);--_badge:var(--mp-coupon-badge);}
.mp-stat__top{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.mp-stat__label{display:flex;align-items:center;gap:7px;margin:0;font-size:.8rem;font-weight:600;letter-spacing:-0.02em;color:var(--_ink);}
.mp-stat__badge{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:40px;height:40px;border-radius:8px;background:var(--_badge);color:var(--_ink);}
.mp-stat__badge svg{width:25px;height:25px;}
.mp-stat__value{font-size:1.8rem;font-weight:700;line-height:1;letter-spacing:-0.03em;font-family:'Roboto', sans-serif;color:var(--_ink);}
.mp-stat__unit{font-size:0.9rem;font-weight:500;margin-left:5px;opacity:.85;}
 
/* ---- 폼 ---- */
.profile-form{margin-top:6px;}
.profile-form__row{display:flex;align-items:center;gap:16px;min-height:62px;padding:12px 2px;border-bottom:1px solid var(--color-line);}
.profile-form__label{flex:0 0 140px;font-size:.9rem;color:var(--color-text-sub);}
.profile-form__field{flex:1;min-width:0;display:flex;align-items:center;gap:8px;}
.profile-form__value{font-size:1rem;font-weight:700;color:var(--color-text-default);}
.profile-form__value--grade{font-weight:600;color:var(--point);}   /* 회원등급(브랜드 강조) */
.profile-form__input{width:100%;max-width:320px;height:46px;padding:0 14px;font-size:.95rem;color:var(--color-text-default);background:var(--profile-field-bg);border:1px solid var(--color-line);border-radius:4px;outline:none;transition:border-color .15s;}
.profile-form__input::placeholder{color:var(--color-text-placeholder);}
.profile-form__field--email{max-width:360px;}
.profile-form__field--email .profile-form__input{flex:1;max-width:none;}
.profile-form__at{flex:0 0 auto;font-size:.95rem;color:var(--color-text-sub);}
 
/* ---- SMS 수신 ---- */
.profile-edit__sms{display:flex;align-items:center;gap:10px;padding:18px 2px;font-size:.92rem;color:var(--color-text-default);}
.profile-edit__sms input[type="checkbox"]{width:20px;height:20px;accent-color:var(--point);cursor:pointer;flex:0 0 auto;}
.profile-edit__sms label{cursor:pointer;}
.profile-edit__sms .note{color:var(--color-text-sub);}
 
/* ---- 확인 / 회원탈퇴 ---- */
.profile-edit__submit{margin-top:30px;text-align:center;}
.btn-profile-save{min-width:300px;max-width:100%;height:60px;padding:0 40px;font-size:1.05rem;font-weight:700;color:#fff;background:var(--profile-btn);border-radius:4px;transition:filter .15s,transform .05s;}
.profile-edit__withdraw{margin-top:18px;text-align:right;}
.profile-edit__withdraw a{font-size:.88rem;color:var(--color-text-sub);border-bottom:1px solid currentColor;padding-bottom:1px;transition:color .15s;}
.profile-edit__withdraw a:hover{color:var(--point);}
 
/* ---- 반응형 ---- */
@media (max-width:768px){
  .mp-stat{gap:14px;}
  .mp-stat__card{min-height:116px;padding:20px 22px;}
  .mp-stat__value{font-size:1.95rem;}
  .mp-stat__deco{width:90px;height:90px;}
  .profile-form__input{font-size:16px;}
  .profile-form__input::placeholder{font-size:0.95rem;}

}
@media (max-width:560px){
  .mp-stat{gap:12px;margin-bottom:20px;}
  .mp-stat__card{min-height:60px;padding:10px 15px;border-radius:8px;}
  .mp-stat__value{font-size:1.3rem;}
  .mp-stat__badge{width:30px;height:30px;border-radius:10px;}
  .mp-stat__badge svg{width:18px;height:18px;}
  .profile-form__row{flex-direction:column;align-items:stretch;gap:9px;min-height:0;padding:14px 2px;}
  .profile-form__label{flex:none;font-size:.9rem;}
  .profile-form__input{max-width:none;}
  .profile-form__field--email{max-width:none;}
  .profile-edit__sms{align-items:flex-start;}
  .btn-profile-save{width:100%;min-width:0;height:54px;}
}

/* =========================================================
   적립금
   ========================================================= */
.pt{
  --pt-line:#e5e5ea;
  --pt-head-bg:#f6f7f8;
  --pt-summary-bg:#f6f7f8;
  --pt-point:#cd0111;
  --pt-plus:#cd0111;      /* 적립/충전(+) */
  --pt-minus:#3a4150;     /* 사용(-) */
  --pt-field-bg:#f6f7f8;
}
 
/* ---- 요약바 ---- */
.pt-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 22px;background:var(--pt-summary-bg);border-radius:8px;margin-bottom:20px;}
.pt-summary__total{font-size:0.96rem;font-weight:700;color:var(--color-text-default);}
.pt-summary__total strong{color:var(--pt-point);}
.pt-summary__detail{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.pt-summary__item{font-size:.92rem;color:var(--color-text-sub);}
.pt-summary__item b{color:var(--color-text-default);font-weight:700;}
/* 무상 | 유상 세로 구분선 (데스크탑/태블릿) */
.pt-summary__item--free{position:relative;padding-right:16px;}
.pt-summary__item--free::after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:12px;background:#d5d5d5;}
/* 유상 + 환불버튼 묶음 */
.pt-summary__paid{display:flex;align-items:center;gap:6px;}
.pt-summary__refund{flex:0 0 auto;height:34px;padding:0 14px;font-size:.86rem;font-weight:600;color:var(--color-text-default);background:#fff;border:1px solid var(--color-line);border-radius:4px;transition:border-color .15s,color .15s;cursor:pointer;}
.pt-summary__refund:hover{border-color:var(--pt-point);color:var(--pt-point);}
/* ---- 필터/검색 컨트롤 래퍼 ---- */
.pt-controls{margin-bottom:18px;}

/* 전체/무상/유상 탭 : 데스크탑/태블릿에서는 숨김(셀렉트 사용) */
.pt-filter{display:none;border-bottom:1px solid var(--pt-line);}
.pt-filter__item{position:relative;padding:12px 22px;font-size:.92rem;font-weight:600;color:var(--color-text-sub);background:none;border:0;cursor:pointer;transition:color .15s;}
.pt-filter__item:hover{color:var(--color-text-default);}
.pt-filter__item.is-active{color:var(--pt-point);}
.pt-filter__item.is-active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--pt-point);}  /* 활성 하단 라인 */

/* 기간검색 : 날짜(좌) + 셀렉트(우) 양끝 배치 */
.pt-search{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.pt-search__dates{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;min-width:0;}
.pt-search__field{position:relative;display:flex;align-items:center;min-width:0;}
.pt-search__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}  /* 라벨은 스크린리더용 */

/* 날짜 입력 : 네이티브 아이콘 제거 + 직접 캘린더 아이콘(모든 기기 통일) */
.pt-search__date{
  -webkit-appearance:none;appearance:none;
  width:100%;min-width:0;height:40px;
  padding:0 38px 0 12px;font-size:.86rem;color:var(--color-text-default);
  background:var(--pt-field-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c7f86' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4.5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 9h18M8 2.5v4M16 2.5v4'/%3E%3C/svg%3E") no-repeat right 12px center;
  background-size:16px 16px;
  border:1px solid var(--color-line);border-radius:4px;outline:none;
}
.pt-search__date::-webkit-date-and-time-value{text-align:left;margin:0;}
.pt-search__date::-webkit-calendar-picker-indicator{position:absolute;right:0;width:38px;height:100%;margin:0;padding:0;opacity:0;cursor:pointer;}
.pt-search__date::-webkit-inner-spin-button,
.pt-search__date::-webkit-clear-button{display:none;-webkit-appearance:none;}
.pt-search__tilde{flex:0 0 auto;color:var(--color-text-sub);}
.pt-search__btn{flex:0 0 auto;white-space:nowrap;height:40px;padding:0 18px;font-size:.9rem;font-weight:600;color:var(--color-text-default);background:#fff;border:1px solid var(--input-border);border-radius:4px;transition:border-color .15s,color .15s;cursor:pointer;}

/* 셀렉트박스 (데스크탑/태블릿) */
.pt-search__filter-wrap{flex:0 0 auto;}
.pt-search__filter{height:40px;padding:0 36px 0 14px;font-size:.88rem;color:var(--color-text-default);background:var(--pt-field-bg);border:1px solid var(--color-line);border-radius:4px;outline:none;cursor:pointer;}

/* ---- 내역 테이블 (데스크탑/태블릿) ---- */
.pt-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-top:2px solid var(--color-text-default);}
.pt-table{width:100%;border-collapse:collapse;min-width:720px;font-size:.9rem;}
.pt-table__caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}
.pt-table th,.pt-table td{border-bottom:1px solid var(--pt-line);padding:14px 10px;text-align:center;vertical-align:middle;line-height:1.5;}
.pt-table thead th{background:var(--pt-head-bg);color:var(--color-text-default);font-weight:700;font-size:.86rem;border-right:1px solid var(--pt-line);}
.pt-table thead th:last-child{border-right:0;}
.pt-table tbody td{color:var(--color-text-sub);border-right:1px solid var(--pt-line);}
.pt-table tbody td:last-child{border-right:0;}
.pt-table__date{font-family:'Roboto',sans-serif;font-size:.82rem;color:var(--color-text-sub);white-space:nowrap;}
.pt-table__desc{text-align:left;color:var(--color-text-default);}
.pt-table .pt-plus{color:var(--pt-plus);font-weight:700;}
.pt-table .pt-minus{color:var(--pt-minus);font-weight:700;}

/* ---- 내역 카드 (모바일) ---- */
.pt-cards{display:none;list-style:none;margin:0;padding:0;}
.pt-card{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 4px;border-bottom:1px solid var(--pt-line);}
.pt-card__main{min-width:0;flex:1;}
.pt-card__date{font-size:.82rem;font-weight:700;color:var(--color-text-default);font-family:'Roboto',sans-serif;margin-bottom:10px;}
.pt-card__date span{font-weight:400;color:var(--color-text-sub);}
.pt-card__desc{font-size:.92rem;color:var(--color-text-default);line-height:1.5;word-break:break-all;}
.pt-card__side{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right;}
.pt-card__badge{padding:2px 8px;font-size:.72rem;font-weight:700;border-radius:3px;line-height:1.6;}
.pt-card__badge--save{color:#cd0111;background:rgba(251,235,236,1);}
.pt-card__badge--use{color:#3a4150;background:rgba(235,235,237,1);}
.pt-card__badge--refund{color:#1f7a4d;background:rgba(232,241,237,1);}
.pt-card__value{font-size:1rem;font-weight:700;font-family:'Roboto',sans-serif;}
.pt-card__value.pt-plus{color:var(--pt-plus);}
.pt-card__value.pt-minus{color:var(--pt-minus);}
.pt-card__type{font-size:.8rem;color:var(--color-text-sub);}
 
/* ---- 더보기 (모바일) : 기본 숨김 ---- */
.pt-more-wrap{display:none;margin-top:16px;}
.pt-more{width:100%;height:46px;font-size:.92rem;font-weight:600;color:var(--color-text-default);background:#fff;border:1px solid var(--color-line);border-radius:4px;cursor:pointer;transition:border-color .15s,color .15s;}
 
/* ---- 페이지네이션 ---- */
.pt-pagination{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-top:34px;}
.pt-pagination__page,
.pt-pagination__nav{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 7px;font-size:.9rem;color:var(--color-text-default);background:transparent;border:1px solid var(--pt-line);border-radius:5px;font-family:'Roboto',sans-serif;transition:background .15s,border-color .15s,color .15s;}
.pt-pagination__nav{color:var(--color-text-sub);}
.pt-pagination__page:hover,
.pt-pagination__nav:hover{border-color:var(--pt-point);color:var(--pt-point);}
.pt-pagination__page.is-current{background:var(--pt-point);border-color:var(--pt-point);color:#fff;font-weight:700;}
.pt-pagination__arrow{width:8px;height:8px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;}
.pt-pagination__nav--prev .pt-pagination__arrow{transform:rotate(135deg);position:relative;left:1px;}
.pt-pagination__nav--next .pt-pagination__arrow{transform:rotate(-45deg);position:relative;right:1px;}
 
 /* ---- 반응형 ---- */
/* 태블릿 : 테이블 유지, 살짝 축소 */
@media (max-width:1024px){
  .pt-summary{padding:16px 18px;}
  .pt-table{min-width:640px;}
}
 
/* 모바일 : 테이블 → 카드 */
@media (max-width:767px){
  .pt-summary{flex-direction:column;align-items:flex-start;gap:6px;padding:12px 12px;}
  /* 무상(왼쪽) / 유상+환불버튼(오른쪽) 양끝 정렬 */
  .pt-summary__detail{width:100%;justify-content:space-between;gap:10px;}
  .pt-summary__item--free{padding-right:0;}
  .pt-summary__item--free::after{display:none;}   /* 모바일은 세로 구분선 제거 */
 
  /* 컨트롤 : 날짜검색(위) → 탭(아래) 순서로 배치 */
  .pt-controls{display:flex;flex-direction:column;}
  .pt-search{order:1;margin-bottom:14px;}          /* 날짜검색 위 */
  .pt-filter{order:2;}                              /* 탭 아래 */
 
  /* 탭 표시 / 셀렉트 숨김 */
  .pt-filter{display:flex;}
  .pt-filter__item{flex:1;padding:12px 0;text-align:center;}
  .pt-search__filter-wrap{display:none;}
 
  /* 검색바 한 줄 유지 (날짜 2개 + 검색) */
  .pt-search{gap:6px;flex-wrap:nowrap;}
  .pt-search__dates{flex:1;gap:6px;}
  .pt-search__field{flex:1;}
  .pt-search__date{height:44px;font-size:.82rem;padding:0 34px 0 10px;}
  .pt-search__btn{height:44px;padding:0 14px;}
 
  .pt-table-wrap{display:none;}   /* 테이블 숨김 */
  .pt-cards{display:block;}        /* 카드 표시 */
  .pt-card{padding:10px 4px;}
  .pt-more-wrap{display:block;}    /* 더보기 표시 */
  .pt-pagination{display:none;}    /* 모바일은 더보기로 대체 */
}
@media (max-width:360px){
  .pt-filter__item{font-size:.88rem;}
  .pt-search__date{font-size:.78rem;padding:0 30px 0 8px;background-size:14px 14px;}
  .pt-search__btn{padding:0 12px;font-size:.86rem;}
}
 
 /* ---- 적립금 환불신청 모달 ---- */
.pt-modal{
  --pt-modal-surface:#ffffff;
  --pt-modal-field-bg:#f6f7f8;
  position:fixed;inset:0;z-index:1000;display:none;
}
.pt-modal.is-open{display:block;}
.pt-modal__dim{position:absolute;inset:0;background:rgba(0,0,0,.5);}
.pt-modal__box{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(100% - 40px);max-width:540px;max-height:65vh;background:var(--pt-modal-surface);border-radius:14px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.25);animation:ptModalUp .22s ease;}
@keyframes ptModalUp{from{opacity:0;transform:translate(-50%,-46%);}to{opacity:1;transform:translate(-50%,-50%);}}
 
.pt-modal__head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--color-line);}
.pt-modal__title{font-size:1.12rem;font-weight:700;color:var(--color-text-default);}
.pt-modal__close{width:34px;height:34px;display:flex;align-items:center;justify-content:center;color:var(--color-text-sub);background:none;}
.pt-modal__close svg{width:22px;height:22px;}
 
.pt-modal__body{padding:24px 22px;overflow-y:auto;overscroll-behavior:contain;}
.pt-refund-field{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
.pt-refund-field__label{flex:0 0 76px;font-size:.9rem;font-weight:600;color:var(--color-text-default);}
.pt-refund-field__input{flex:1;min-width:0;height:44px;padding:0 14px;font-size:.92rem;color:var(--color-text-default);background:var(--pt-modal-field-bg);border:1px solid var(--color-line);border-radius:4px;outline:none;transition:border-color .15s;}
.pt-refund-field--amount{margin-bottom:0;padding-top:4px;}
.pt-refund-amount{font-size:1.05rem;font-weight:800;color:var(--color-text-default);}
 
.pt-modal__foot{padding:18px 22px 22px;border-top:1px solid var(--color-line);}
.pt-refund-submit{width:100%;height:50px;font-size:1rem;font-weight:700;color:#fff;background:var(--point, #cd0111);border:0;border-radius:4px;cursor:pointer;}
.pt-refund-note{margin-top:14px;text-align:center;font-size:.86rem;color:var(--color-text-sub);}
 
body.pt-modal-open{overflow:hidden;}
html.pt-modal-open{overflow:hidden;}
 
@media (max-width:480px){
  .pt-modal__box{max-height:72vh;}
  .pt-refund-field{gap:10px;}
  .pt-refund-field__label{flex:0 0 64px;font-size:.86rem;}
  .pt-refund-field__input{height:46px;font-size:16px;}
}

/* =========================================================
   구매후기 작성 모달
   ========================================================= */
.rv-modal{
  --rv-surface:#ffffff;
  --rv-field-bg:#ffffff;
  --rv-point:var(--point, #cd0111);
  --rv-dash:#c9ccd2;
  --rv-pick-bg:#f1f2f4;
  position:fixed;inset:0;z-index:1000;display:none;
}
.rv-modal.is-open{display:block;}
.rv-modal__dim{position:absolute;inset:0;background:rgba(0,0,0,.5);}
.rv-modal__box{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  display:flex;flex-direction:column;
  width:calc(100% - 40px);max-width:720px;max-height:88vh;
  background:var(--rv-surface);border-radius:14px;overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,.25);animation:rvUp .22s ease;
}
@keyframes rvUp{from{opacity:0;transform:translate(-50%,-46%);}to{opacity:1;transform:translate(-50%,-50%);}}

/* 헤더 */
.rv-modal__head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px 16px;border-bottom:1px solid var(--color-line);}
.rv-modal__title{font-size:1.2rem;font-weight:800;color:var(--color-text-default);}
.rv-modal__title span{font-weight:600;}
.rv-modal__close{width:34px;height:34px;display:flex;align-items:center;justify-content:center;color:var(--color-text-default);background:none;border:0;cursor:pointer;}
.rv-modal__close svg{width:22px;height:22px;}

/* 본문 (스크롤) */
.rv-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:22px 24px;}

/* 공통 입력요소 */
.rv-input{width:100%;height:46px;padding:0 14px;font-size:.92rem;color:var(--color-text-default);background:var(--rv-field-bg);border:1px solid var(--color-line);border-radius:4px;outline:none;transition:border-color .15s;}
.rv-input::placeholder{color:var(--color-text-placeholder);}
.rv-textarea{width:100%;min-height:150px;padding:14px;font-size:.92rem;line-height:1.5;color:var(--color-text-default);background:var(--rv-field-bg);border:1px solid var(--color-line);border-radius:4px;outline:none;resize:vertical;transition:border-color .15s;}
.rv-textarea::placeholder{color:var(--color-text-placeholder);}
.rv-help{margin-top:10px;font-size:.8rem;line-height:1.6;color:var(--color-text-sub);}

 /* ---- 데스크탑 폼 ---- */
.rv-form--mo{display:none;}     /* 기본(데스크탑)에서는 모바일 폼 숨김 */
.rv-row{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:start;margin-bottom:20px;}
.rv-row:last-child{margin-bottom:0;}
.rv-row__label{padding-top:12px;font-size:.95rem;font-weight:600;color:var(--color-text-default);line-height:1.4;}
.rv-row__label em{display:block;font-style:normal;font-size:.84rem;font-weight:500;color:var(--color-text-sub);margin-top:2px;}
.rv-row__field{min-width:0;}

/* 사진찾기 + 썸네일 */
.rv-pc-thumbs{display:flex;align-items:center;gap:8px;list-style:none;margin:0 0 10px;padding:0;}
.rv-pc-thumbs:empty{margin-bottom:0;}   /* 사진 없을 땐 여백 제거 */
.rv-pc-thumb{position:relative;width:100px;height:100px;border:1px solid var(--color-line);border-radius:4px;overflow:hidden;}
.rv-pc-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.rv-pc-thumb__del{position:absolute;top:0;right:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1;color:#fff;background:rgba(0,0,0,.55);border:0;cursor:pointer;}
.rv-pc-add{width:100%;height:44px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:.9rem;font-weight:600;color:var(--color-text-default);background:transparent;border:1px solid var(--color-line);border-radius:4px;cursor:pointer;transition:border-color .15s,color .15s;}
.rv-pc-add:hover{border-color:var(--rv-point);color:var(--rv-point);}
.rv-photo-add[disabled],
.rv-pc-add[disabled]{opacity:.45;cursor:not-allowed;}
.rv-pc-add .rv-photo-add__plus{position:relative;top:-2px;}

 /* ---- 태블릿/모바일 폼 ---- */
.rv-field{margin-bottom:22px;}
.rv-field:last-child{margin-bottom:0;}
.rv-field__label{display:block;margin-bottom:8px;font-size:.95rem;font-weight:600;color:var(--color-text-default);}
.rv-field__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;}
.rv-field__head .rv-field__label{margin-bottom:0;}
.rv-photo-count{font-size:.88rem;color:var(--color-text-sub);font-family:'Roboto',sans-serif;}
.rv-photo-count b{color:var(--color-text-default);font-weight:700;}

/* 점선 라운드 카드 그리드 */
.rv-photos{display:grid;grid-template-columns:1fr 1fr;gap:12px;list-style:none;margin:0 0 12px;padding:0;}
.rv-photos:empty{margin-bottom:0;}
.rv-photo{position:relative;}
.rv-photo__box{
  position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  width:100%;height:96px;
  background:var(--rv-field-bg);
  border:1.5px dashed var(--rv-dash);border-radius:10px;
  color:var(--color-text-sub);cursor:pointer;overflow:hidden;
  transition:border-color .15s,color .15s;
}
.rv-photo__box:hover{border-color:var(--rv-point);color:var(--rv-point);}
.rv-photo__ico{width:22px;height:22px;}
.rv-photo__ico svg{width:100%;height:100%;display:block;}
.rv-photo__txt{font-size:.86rem;font-weight:500;}
/* 사진이 들어간 상태 */
.rv-photo__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none;}
.rv-photo.has-img .rv-photo__img{display:block;}
.rv-photo.has-img .rv-photo__box{border-style:solid;border-color:var(--color-line);}
.rv-photo.has-img .rv-photo__ico,
.rv-photo.has-img .rv-photo__txt{display:none;}
/* 우상단 닫기(원형) */
.rv-photo__del{
  position:absolute;top:-8px;right:-8px;z-index:2;
  width:24px;height:24px;display:flex;align-items:center;justify-content:center;
  color:var(--color-text-default);background:var(--rv-surface);
  border:1px solid var(--color-line);border-radius:50%;
  box-shadow:0 2px 6px rgba(0,0,0,.12);cursor:pointer;
}
.rv-photo__del svg{width:13px;height:13px;}

/* 사진 추가 버튼 */
.rv-photo-add{width:100%;height:48px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:.92rem;font-weight:600;color:var(--color-text-default);background:transparent;border:1px solid var(--color-line);border-radius:6px;cursor:pointer;transition:border-color .15s,color .15s;}
.rv-photo-add:hover{border-color:var(--rv-point);color:var(--rv-point);}
.rv-photo-add__plus{font-size:1.05rem;font-weight:700;line-height:1;}
.rv-photo-add[disabled]{opacity:.45;cursor:not-allowed;}

/* 공통 안내문 */
.rv-notice{margin-top:20px;}
.rv-notice__text{font-size:.8rem;line-height:1.5;color:var(--color-text-sub);}
.rv-notice__strong{margin-top:8px;font-size:.8rem;line-height:1.7;font-weight:700;color:var(--color-text-default);}

/* 하단 확인 버튼 */
.rv-modal__foot{flex:0 0 auto;padding:16px 24px 20px;border-top:1px solid var(--color-line);}
.rv-modal__submit{width:100%;height:52px;font-size:1rem;font-weight:700;color:#fff;background:var(--rv-point);border:0;border-radius:4px;cursor:pointer;}

/* 사진 확대보기 라이트박스 */
.rv-lightbox{position:fixed;inset:0;z-index:1020;display:none;}
.rv-lightbox.is-open{display:flex;align-items:center;justify-content:center;}
.rv-lightbox__dim{position:absolute;inset:0;background:rgba(0,0,0,.85);}
.rv-lightbox__img{position:relative;max-width:90vw;max-height:90vh;object-fit:contain;}
.rv-lightbox__close{position:absolute;top:20px;right:20px;z-index:1;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:28px;color:#fff;background:none;border:0;cursor:pointer;}

html.rv-modal-open,
body.rv-modal-open{overflow:hidden;}

/* ---- 반응형 : 태블릿/모바일 폼으로 전환 ---- */
@media (max-width:1024px){
  .rv-form--pc{display:none;}
  .rv-form--mo{display:block;}
  .rv-modal__box{max-width:560px;}
  .rv-input{font-size:16px;}
  .rv-textarea{font-size:16px;}
  .rv-input::placeholder{font-size:15px;}
  .rv-textarea::placeholder{font-size:15px;}
}
@media (max-width:560px){
  .rv-modal__box{width:calc(100% - 28px);max-height:90vh;}
  .rv-modal__head{padding:18px 18px 14px;}
  .rv-modal__title{font-size:1.1rem;}
  .rv-modal__body{padding:18px;}
  .rv-modal__foot{padding:14px 18px 18px;}
  .rv-photo__box{height:88px;}
  .rv-textarea{min-height:130px;}
}

/* ---- 구매후기 작성완료 모달 ---- */
.rvd-modal{
  --rvd-surface:#ffffff;
  --rvd-point:var(--point, #cd0111);
  position:fixed;inset:0;z-index:1010;display:none;
}
.rvd-modal.is-open{display:block;}
.rvd-modal__dim{position:absolute;inset:0;background:rgba(0,0,0,.5);}
.rvd-modal__box{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:calc(100% - 40px);max-width:520px;
  padding:32px 30px 26px;
  background:var(--rvd-surface);border-radius:10px;
  box-shadow:0 20px 60px rgba(0,0,0,.25);animation:rvUp .22s ease;
}
.rvd-modal__close{position:absolute;top:14px;right:14px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--color-text-default);background:none;border:0;cursor:pointer;}
.rvd-modal__close svg{width:20px;height:20px;}
.rvd-modal__title{margin-bottom:18px;text-align:center;font-size:1.25rem;font-weight:800;letter-spacing:-0.02em;color:var(--color-text-default);}
.rvd-modal__body{margin-bottom:22px;}
.rvd-modal__text{font-size:.8rem;line-height:1.5;color:var(--color-text-sub);}
.rvd-modal__strong{margin-top:12px;font-size:.9rem;line-height:1.7;font-weight:700;color:var(--color-text-default);}
.rvd-modal__confirm{width:100%;height:54px;font-size:1.02rem;font-weight:700;color:#fff;background:var(--rvd-point);border:0;border-radius:4px;cursor:pointer;}

@media (max-width:560px){
  .rvd-modal__box{width:calc(100% - 28px);padding:28px 20px 22px;}
  .rvd-modal__title{font-size:1.12rem;margin-bottom:14px;}
  .rvd-modal__text{font-size:.86rem;}
  .rvd-modal__confirm{height:50px;}
}


/* =========================================================
   주문취소 / 환불완료 모달
   ========================================================= */
.oc-modal{
  --oc-surface:#ffffff;
  --oc-field-bg:#f2f3f5;
  --oc-point:var(--point, #cd0111);
  position:fixed;inset:0;z-index:1000;display:none;
}
.oc-modal.is-open{display:block;}
.oc-modal__dim{position:absolute;inset:0;background:rgba(0,0,0,.5);}
.oc-modal__box{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  display:flex;flex-direction:column;
  width:calc(100% - 40px);max-width:540px;max-height:65vh;
  background:var(--oc-surface);border-radius:14px;overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,.25);animation:ocModalUp .22s ease;
}
@keyframes ocModalUp{from{opacity:0;transform:translate(-50%,-46%);}to{opacity:1;transform:translate(-50%,-50%);}}
 
/* 헤더 */
.oc-modal__head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--color-line);}
.oc-modal__title{font-size:1.12rem;font-weight:700;color:var(--color-text-default);}
.oc-modal__close{width:34px;height:34px;display:flex;align-items:center;justify-content:center;color:var(--color-text-sub);background:none;border:0;cursor:pointer;}
.oc-modal__close:hover{color:var(--color-text-default);}
.oc-modal__close svg{width:22px;height:22px;}
 
/* 본문 (스크롤) */
.oc-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:24px 22px;}
 
/* ---- 카드결제 안내 ---- */
.oc-card__text{font-size:.86rem;line-height:1.8;color:var(--color-text-default);text-align:center;}
.oc-card__text b {font-size:1rem;}
.oc-card__text span {color:var(--point);}
.oc-card__text--gap{margin-top:16px;}
 
/* ---- 무통장입금 : 환불금액 + 라디오 ---- */
.oc-bank__amount{text-align:center;font-size:1rem;color:var(--color-text-default);margin-bottom:20px;}
.oc-bank__amount strong{font-weight:700;font-family:'Roboto',sans-serif;}
 
.oc-refund{display:block;cursor:pointer;margin-bottom:16px;}
.oc-refund:last-child{margin-bottom:0;}
.oc-refund__radio{position:absolute;opacity:0;width:0;height:0;}
.oc-refund__main{display:block;}
.oc-refund__name{position:relative;display:block;padding-left:28px;font-size:.95rem;font-weight:600;color:var(--color-text-default);line-height:1.4;}
/* 커스텀 라디오 */
.oc-refund__name::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:18px;height:18px;border:1.5px solid var(--color-line);border-radius:50%;background:var(--oc-surface);box-sizing:border-box;}
.oc-refund__name::after{content:"";position:absolute;left:5px;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:50%;background:var(--oc-point);opacity:0;transition:opacity .15s;}
.oc-refund__radio:checked + .oc-refund__main .oc-refund__name::before{border-color:var(--oc-point);}
.oc-refund__radio:checked + .oc-refund__main .oc-refund__name::after{opacity:1;}
.oc-refund__radio:focus-visible + .oc-refund__main .oc-refund__name::before{outline:2px solid var(--oc-point);outline-offset:2px;}
/* 설명 박스 */
.oc-refund__desc{display:block;margin:8px 0 0 28px;padding:12px 14px;font-size:.86rem;line-height:1.6;color:var(--color-text-sub);background:var(--oc-field-bg);border-radius:4px;}
.oc-refund__desc--point{color:var(--oc-point);}
 
/* ---- 환불완료 ---- */
.oc-done__text{font-size:.86rem;line-height:1.8;color:var(--color-text-default);text-align:center;}
.oc-done__text--gap{margin-top:16px;}
 
/* 하단 확인 버튼 */
.oc-modal__foot{flex:0 0 auto;padding:16px 22px 20px;border-top:1px solid var(--color-line);}
.oc-modal__confirm{width:100%;height:52px;font-size:1rem;font-weight:700;color:#fff;background:var(--oc-point);border:0;border-radius:4px;cursor:pointer;}
 
html.oc-modal-open,
body.oc-modal-open{overflow:hidden;}
 
@media (max-width:480px){
  .oc-modal__box{max-height:72vh;}
  .oc-modal__body{padding:22px 18px;}
  .oc-refund__desc{font-size:.82rem;}
  .oc-done__text{font-size:.9rem;}
}