/* ============================================================
 * plan_gift_v2.css v2.7.9 — 26년 추석 선물 기획전(planGiftView ?pgb=1) 프리미엄 재디자인
 *  + v2.7.9(2026-08-26): 51 중복 담기 안내판(.pgz-addsheet .done.dup — 완료판 골격 재사용,
 *    체크 아이콘만 금빛으로 구분) + 52 허브 주문 관문(.pgz-hub .hb-order — 그린 솔리드,
 *    라벨 "장바구니에서 주문하기" + 캡션 N개. 담긴 게 있을 때만 JS 가 렌더).
 *  + v2.7.8(2026-08-26): ㊼ 받는분존 기본 접기(.pgz-hzbar 컴팩트 안내 바 + hz-folded/hz-anim,
 *        reduced-motion 정지) + ㊽ 선택 카드 액션 허브(.pgz-hub — 주 여쭤보기·설명·문자 미리보기,
 *        보조 2버튼+작년 구성 미리보기, 진행 카드 .hb-prog) + ㊾ 중복 정리(v2.7.6 .hask·.pgz-zoneask
 *        폐지 — 아래 구 스타일은 잔존 무해). 파일 끝. 짝 JS = plan_gift_v2.js v2.7.8.
 *  + v2.7.7(2026-08-26): ㊻ 여쭤보기 자기설명 — 존 주 버튼 아래 설명 한 줄(.pgz-zoneask .zd)
 *        + 여쭤보기 레이어 3걸음 미니 흐름(.pgz-asklayer .steps, 숫자 원형 글리프). 파일 끝.
 *        짝 JS = plan_gift_v2.js v2.7.7.
 *  + v2.7.6(2026-08-26): ㊺ 첫 걸음 존 여쭤보기 — 받는분 카드 [여쭤보기]/[주소 여쭤보기]
 *        (.pgz-hact .hask 전폭 행) + 존 하단 주 버튼(.pgz-zoneask, 금빛 채움). 파일 끝.
 *        짝 JS = plan_gift_v2.js v2.7.6.
 *  + v2.7.5(2026-08-26): ㊸ 담김 카드 표시(.pgz-inbag — "OO님께 담김" + 카드 [여쭤보기], 파일 끝).
 *        짝 JS = plan_gift_v2.js v2.7.5(여쭤보기 단일 관문·완료판 재구성·쉬운 말 문구).
 *  + v2.7.0(2026-08-25): ㉙ 담기 일원화(.pgz-addbtn.towho 진초록 채움) ㉚ 별 게이트 OFF(.pgz-nostar)
 *        ㉛ 물어보기 레이어 전화번호 문자 발송 행(.pgz-asklayer .phrow) ㉜ 통합 선물 찾기 바(.pgz-fbar)
 *        + 받는분 바 고르게 하기 버튼(.pgz-whobar .p2) + 골랐어요 배너(.pgz-pickedbar)
 *        + 카드 높이 통일(카드 flex column·가격 하단 정렬·상품명 2줄 고정). 짝 JS = plan_gift_v2.js v2.7.0.
 *  + v2.6.4(2026-08-25): 보관온도 배지 전사 표준화(원형배지+글리프 — 냉동 #1d6fe0/냉장 #4aa3e8/상온 #8a8577, 14px).
 *  + v2.6.2(2026-08-25 사용성 P2): "딱 3개" 추천 카드 모바일 세로 스택(390px 3장 한눈에, 파일 끝)
 *        + 품목 칩 내비 모바일 2줄(2행 가로 스크롤 그리드 — 탄소중립 토글 노출 개선).
 *  + v2.6.1(2026-08-25 사용성 P1): "모두보기" 코너 접기(.pgz-fold/.pgz-foldbtn, 파일 끝)
 *        + pgz 화면 한정 플로팅 위젯 숨김(body.pgz-page — 미션 도장 위젯·하단 뒤로가기).
 *  + v2.6.0(2026-08-25): 91 전용 히어로 리컴포즈(파일 끝 .pgz-hero.cat91) — 배경 사진의 서양배 정물을
 *        신고배 SVG 정물(.pgz-pears)로 교체 + 달을 별도 레이어(chuseok_moon91.jpg)로 분리해
 *        떠오름·글로우 펄스 애니메이션(reduced-motion 정지). 타 플랜 히어로=기존 사진 유지.
 *  + v2.5.2(2026-08-25): 에디토리얼 컷 카탈로그화(91 전용, JSP pgzCat91 분기) — 인터루드 1~3 이미지를
 *        카탈로그 간지 크롭 사본(p08/p18/p48_md.jpg)으로, 인터루드 4(수산 p26_md) 신설(기존 .pgz-itl 재사용),
 *        피날레 배경 = 건강식품 편 p34_bg(.pgz-final.cat91, 파일 끝).
 *  + v2.5.1(2026-08-25): 종이 카탈로그(g/chuseok26) 연결 — 배너(.pgz-catbn)+코너 링크 행(.pgz-catrow), 파일 끝.
 *  + v2.5.0(2026-08-25): 매거진 큐레이션 패스 — 작년 유사 추천 레일(.pgz-simrail/.pgz-simcard)
 *        + "고민되면 3개만" 시트(.pgz-p3sheet) + 팁카드 진입 버튼(.t-pick3)
 *        + "요즘 많이 담아요" 실시간 배지(.bb.hotb) + 탄소중립 필터 칩(.pgz-carbchip/.pgz-carbnote).
 *        짝 JS = plan_gift_v2.js v2.5.0.
 *  + v2.4.2(2026-08-25): 쉬운 설명 패스 — 히어로 아래 세 걸음 팁 카드(.pgz-tip, 50~60대 15px+)
 *        + 첫 별(골라두기) 안내 토스트(.pgz-startoast, 1회). 짝 JS = plan_gift_v2.js v2.4.2.
 *  + v2.4.1(2026-08-25): 받는 분 카드 물어보기 상태 배지(.pgz-heart .askst 3상태)
 *        + 물어보기 레이어 현재 상태 줄(.pgz-asklayer .ast). 짝 JS = plan_gift_v2.js v2.4.1.
 *  v2.4: 딥플로우 2단계 "받는 분께 물어보기" — 담기 완료판 .ask 버튼 + 링크 공유 레이어
 *        (.pgz-askdim/.pgz-asklayer, 파일 끝). 짝 JS = plan_gift_v2.js v2.4.
 *  컨셉 "달빛 아래 정성": 먹남색(#171f2e) 히어로·피날레 + 한지 크림(#f6f1e6) 본문
 *  + 딥그린(#3d6041) 신뢰·버튼 + 금빛(#c9a24b)은 헤어라인·숫자·라벨에만 절제 사용.
 *  + 사전예약(reservation.do draft) 추석 명절택배 진입 카드(.rvzgift — 하단, v1 유지)
 * v2.1 "세로 매거진 길": 스토리 인터루드(.pgz-itl, chuseok_story_*) + 지난 추석 베스트(.best)
 *  + 개인화 "올해도 마음을 전할 분들"(.pgz-hearts) + 받는 분 타임라인 모달(.pgz-hxmodal)
 *  + 카드 규격 변경(조합원 라벨·비조합원가 삭제 → 생산자·규격·단일 가격).
 * 스코프: .pgz (plan_gift_v2_pc/_mo.jsp 루트) / .rvzgift (main_home4_draft 카드)
 * 배경이미지: images/comm/chuseok_bg_*.jpg — background-attachment:fixed 금지(모바일 성능).
 * 가독성: 50~60대 기준 본문 14px 하한, 터치 44px, 대비 4.5:1 이상.
 * 짝 JS = js/comm/plan_gift_v2.js v2.1 (골라두기·예산/받는분·검색·개인화·베스트)
 * 반응형: 기본=모바일 / @media(min-width:768px)=태블릿 / (min-width:1025px)=PC
 * 로드: 해당 JSP에서만 직접 link. 수정 시 ?v= 버전 갱신. (2026-08-21 v2.1.0)
 * ============================================================ */

.pgz{
  --gz-night:#171f2e; --gz-night-2:#1f2a3d;
  --gz-cream:#f6f1e6; --gz-cream-deep:#efe7d5; --gz-card:#fffdf8;
  --gz-green:#3d6041; --gz-green-d:#2e4a33; --gz-ink:#232a23;
  --gz-muted:#5c6258; --gz-weak:#7c8078;
  --gz-gold:#c9a24b; --gz-gold-deep:#a8842f; --gz-gold-line:rgba(201,162,75,.35);
  --gz-gold-pale:#e9d9ae; --gz-sale:#D8352A;
  --gz-serif:'Pretendard','Noto Sans KR',sans-serif;
  --gz-num:'Roboto','Pretendard','Noto Sans KR',sans-serif;
  word-break:keep-all; color:var(--gz-ink); letter-spacing:-.01em;
  background:var(--gz-cream);
}
.pgz .roboto{ font-family:var(--gz-num); font-variant-numeric:tabular-nums; }
/* 모바일 전용 루트(pgz-m): 상단 고정바(.sub_head_def, 59px) 보정 */
.pgz.pgz-m{ padding-top:59px; }
.pgz-inner{ max-width:1200px; margin:0 auto; padding:0 16px; }

/* ============ ① 히어로 — 보름달 세로 풀블리드 ============ */
.pgz-hero{
  position:relative; overflow:hidden;
  background:var(--gz-night);   /* v3.0.0: 배경 사진(chuseok_bg_hero_mo.jpg) 참조 제거 */
  text-align:center; padding:min(108vw, 450px) 0 96px;
}
/* 이미지 하단 경계(원목 테이블)를 먹남색으로 흡수 + 텍스트 하부 스크림
 * — 이미지 높이 = 100vw x 1200/828 ≈ 145vw 이므로 vw 기준으로 142vw 지점에서 완전 먹남색 */
.pgz-hero::before{
  content:""; position:absolute; inset:0; z-index:0;
  background:linear-gradient(180deg, rgba(23,31,46,.22) 0%, rgba(23,31,46,0) 40vw, rgba(23,31,46,.30) 96vw, rgba(23,31,46,.88) 126vw, #171f2e 142vw, #171f2e 100%);
}
/* 크림 본문으로의 부드러운 전환 */
.pgz-hero::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:84px; z-index:1;
  background:linear-gradient(180deg, rgba(246,241,230,0), #f6f1e6);
}
.pgz-hero .pgz-inner{ position:relative; z-index:2; }
.pgz-hero .pgz-eb{ font-size:13px; font-weight:700; letter-spacing:.34em; text-indent:.34em; color:var(--gz-gold-pale); margin:0 0 14px; }
.pgz-hero .pgz-tt{ font-family:var(--gz-serif); font-size:30px; line-height:1.32; font-weight:700; color:#fdfaf2; margin:0 0 10px; text-shadow:0 2px 24px rgba(10,15,26,.5); }
.pgz-hero .pgz-sub{ font-family:var(--gz-serif); font-size:15px; line-height:1.6; color:rgba(253,250,242,.78); margin:0 0 22px; }
.pgz-hero .pgz-hr{ width:44px; height:1px; background:var(--gz-gold); opacity:.8; border:0; margin:0 auto 22px; }
.pgz-meta{ display:flex; flex-direction:column; gap:6px; align-items:center; margin-bottom:16px; }
.pgz-meta .mrow{ font-size:14px; color:rgba(253,250,242,.82); line-height:1.55; }
.pgz-meta .mrow b{ display:inline-block; margin-right:6px; color:var(--gz-gold-pale); font-weight:700; letter-spacing:.06em; }
.pgz-chiprow{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-bottom:20px; }
.pgz-shipchip, .pgz-ddaychip{ display:inline-flex; align-items:center; gap:6px; font-size:14px; font-weight:700; border-radius:999px; padding:9px 16px; line-height:1.3; }
.pgz-shipchip{ background:var(--gz-green); color:#fff; }
.pgz-ddaychip{ background:transparent; color:var(--gz-gold-pale); border:1px solid rgba(201,162,75,.7); }
.pgz-ddaychip.hot{ background:var(--gz-gold); border-color:var(--gz-gold); color:#171f2e; }
/* 검색: v2.1 부터 고르기 존 안(이름으로) — 크림 인풋 필 */
.pgz-search{ display:flex; align-items:center; gap:9px; background:#fffdf8; border:1px solid rgba(201,162,75,.5); border-radius:999px; padding:11px 18px; flex:1 1 auto; min-width:0; max-width:480px; }
.pgz-search .si{ color:var(--gz-gold-deep); font-size:15px; }
.pgz-search input{ border:0; outline:0; flex:1; min-width:0; font-family:inherit; font-size:16px; background:transparent; color:var(--gz-ink); }
.pgz-search input::placeholder{ color:var(--gz-weak); }

/* ============ 재방문 환영 줄(골라두기, JS 노출) ============ */
.pgz-wb{ display:none; background:var(--gz-cream-deep); border-bottom:1px solid var(--gz-gold-line); }
.pgz-wb.show{ display:block; }
.pgz-wb .in{ max-width:1200px; margin:0 auto; padding:11px 16px; display:flex; align-items:center; gap:10px; flex-wrap:wrap; font-size:14px; color:var(--gz-ink); line-height:1.5; }
.pgz-wb .in::before{ content:""; width:3px; height:18px; background:var(--gz-gold); flex:0 0 auto; }
.pgz-wb b{ color:var(--gz-green-d); }
.pgz-wb .go{ margin-left:auto; flex:0 0 auto; min-height:32px; display:inline-flex; align-items:center; font-size:14px; font-weight:800; color:var(--gz-green-d); text-decoration:underline; text-underline-offset:3px; cursor:pointer; background:none; border:0; padding:4px 2px; font-family:inherit; }

/* ============ ② 브랜드 층 — 한지 크림 + 보자기 저채도 배경 ============ */
.pgz-why{ position:relative; overflow:hidden; background:var(--gz-cream); padding:52px 0 46px; text-align:center; }
.pgz-why::before{ content:none; display:none; }   /* v3.0.0: 배경 사진(chuseok_bg_brand.jpg) 참조 제거 */
.pgz-why .pgz-inner{ position:relative; z-index:1; }
.pgz-why .w-eb{ font-size:12.5px; font-weight:700; letter-spacing:.3em; text-indent:.3em; color:var(--gz-gold-deep); margin:0 0 12px; }
.pgz-why .w-head{ font-family:var(--gz-serif); font-size:24px; font-weight:700; line-height:1.38; color:var(--gz-green-d); margin:0 0 14px; word-break:keep-all; text-wrap:balance; }
.pgz-why .w-sub{ font-size:15px; line-height:1.72; color:var(--gz-muted); margin:0 auto 30px; max-width:620px; }
.pgz-why .w-sub .pcbr{ display:none; }
.pgz-why .w-cols{ display:grid; grid-template-columns:1fr; text-align:left; }
.pgz-why .w-col{ padding:18px 4px 16px; border-top:1px solid var(--gz-gold-line); }
.pgz-why .w-col:first-child{ border-top:0; padding-top:4px; }
.pgz-why .w-col b{ display:block; font-family:var(--gz-serif); font-size:16.5px; font-weight:700; color:var(--gz-green-d); margin:0 0 6px; }
.pgz-why .w-col p{ font-size:14.5px; line-height:1.64; color:var(--gz-muted); margin:0; word-break:keep-all; }

/* "이렇게 준비했어요" — 먹남색 정갈 밴드 + 금빛 숫자 */
.pgz-ready{ background:var(--gz-night); padding:40px 0 44px; text-align:center; }
.pgz-ready .r-head{ font-family:var(--gz-serif); font-size:20px; font-weight:700; line-height:1.35; color:#fdfaf2; margin:0 0 28px; word-break:keep-all; }
.pgz-ready .r-grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:28px 14px; align-items:start; }
.pgz-ready .r-grid li{ display:flex; flex-direction:column; align-items:center; }
.pgz-ready .r-grid .num{ font-weight:700; font-size:34px; line-height:1.1; color:var(--gz-gold); }
.pgz-ready .r-grid .unit{ font-size:14.5px; font-weight:700; color:rgba(253,250,242,.9); margin-top:5px; }
.pgz-ready .r-grid .word{ font-family:var(--gz-serif); font-size:19px; font-weight:700; line-height:1.35; color:var(--gz-gold-pale); }
.pgz-ready .r-grid p{ font-size:14px; line-height:1.55; color:rgba(253,250,242,.62); margin:8px 0 0; max-width:200px; word-break:keep-all; }

/* ============ ②.5 고르기 존 — 예산·받는 분·이름 한 곳 (JS 짝) ============ */
.pgz-pickzone{ background:var(--gz-card); border:1px solid var(--gz-gold-line); border-radius:14px; padding:20px 16px 8px; margin-top:26px; }
.pgz-pickh{ font-family:var(--gz-serif); font-size:19px; font-weight:700; color:var(--gz-ink); margin:0 0 16px; padding-bottom:12px; border-bottom:1px solid var(--gz-gold-line); }
.pgz-selrow{ margin-bottom:16px; }
.pgz-selrow .lbl{ display:block; font-family:var(--gz-serif); font-size:16px; font-weight:700; color:var(--gz-green-d); margin-bottom:9px; }
.pgz-selrow .chips{ display:flex; flex-wrap:wrap; gap:8px; }
.pgz-bchip, .pgz-rchip{
  display:inline-flex; align-items:center; min-height:44px; font-size:14.5px; font-weight:700; line-height:1.3;
  color:var(--gz-ink); background:var(--gz-card); border:1px solid var(--gz-gold-line); border-radius:999px;
  padding:9px 17px; cursor:pointer; text-decoration:none; font-family:inherit;
}
.pgz-bchip.on{ background:var(--gz-gold); border-color:var(--gz-gold); color:#171f2e; }
.pgz-rchip.on{ background:var(--gz-green); border-color:var(--gz-green); color:#fff; }
.pgz-rchip.reset{ border-color:transparent; background:transparent; color:var(--gz-muted); text-decoration:underline; text-underline-offset:3px; }
.pgz-selnote{ display:none; font-size:14px; color:var(--gz-muted); background:var(--gz-cream-deep); border-left:3px solid var(--gz-gold); padding:10px 13px; margin:2px 0 0; line-height:1.55; }
.pgz-selnote.show{ display:block; }

/* ============ ③ 쿠폰 — 크림 카드 + 딥그린 티켓 ============ */
.pgz-coupon{ background:var(--gz-card); border:1px solid var(--gz-gold-line); border-radius:14px; padding:15px; margin:16px 0 4px; }
.pgz-coupon .msg{ display:flex; align-items:center; gap:8px; font-size:14px; font-weight:700; color:var(--gz-green-d); margin-bottom:11px; line-height:1.4; }
.pgz-coupon .msg .ck{ flex:0 0 auto; width:20px; height:20px; border-radius:50%; background:var(--gz-green); color:#fff; display:grid; place-items:center; font-size:12.5px; }
.pgz-ticket{ display:flex; background:#fff; border:1px solid var(--gz-green); border-radius:12px; overflow:hidden; color:inherit; text-decoration:none; cursor:pointer; }
.pgz-ticket .tl{ flex:0 0 108px; background:var(--gz-green); color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:12px 6px; position:relative; }
.pgz-ticket .tl .v{ font-size:23px; font-weight:800; line-height:1; }
.pgz-ticket .tl .v small{ font-size:13px; }
.pgz-ticket .tl .l{ font-size:12.5px; font-weight:700; margin-top:5px; color:var(--gz-gold-pale); }
.pgz-ticket .tl::after{ content:""; position:absolute; right:-7px; top:0; bottom:0; width:14px; background:radial-gradient(circle at 7px 7px,transparent 6px,#fff 6px) repeat-y; background-size:14px 14px; }
.pgz-ticket .tr{ flex:1 1 auto; padding:12px 15px; min-width:0; }
.pgz-ticket .tr .nm{ font-size:15px; font-weight:800; color:var(--gz-ink); margin-bottom:3px; }
.pgz-ticket .tr .pd{ font-size:13px; color:var(--gz-muted); margin-bottom:7px; }
.pgz-ticket .tr .use{ font-size:13px; color:var(--gz-muted); }
.pgz-ticket .tr .use b{ color:var(--gz-green); font-weight:800; }

/* ============ ④ 섹션(코너) 칩 내비 — sticky ============ */
.pgz-nav{ position:sticky; top:0; z-index:40; background:rgba(246,241,230,.97); border-bottom:1px solid var(--gz-gold-line); margin-top:16px; }
.pgz-nav .in{ max-width:1200px; margin:0 auto; padding:10px 16px; display:flex; align-items:center; gap:8px; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.pgz-nav .in::-webkit-scrollbar{ display:none; }
.pgz-nav .nlbl{ flex:0 0 auto; font-size:13px; font-weight:700; letter-spacing:.08em; color:var(--gz-gold-deep); padding-right:2px; }
/* 시니어 친화: 라벨 15px + 현재 위치는 진초록 채움 + 체크 표시 */
.pgz-chip{ flex:0 0 auto; display:inline-flex; align-items:center; min-height:44px; font-size:15px; font-weight:700; line-height:1.3; color:var(--gz-muted); background:var(--gz-card); border:1px solid var(--gz-gold-line); border-radius:999px; padding:9px 18px; white-space:nowrap; cursor:pointer; text-decoration:none; }
.pgz-chip.on{ background:var(--gz-green); color:#fff; border-color:var(--gz-green); }
.pgz-chip.on::before{ content:"\2713\00a0"; font-weight:800; }

/* ============ ⑤ 섹션 + 카드 그리드 ============ */
.pgz-sec{ padding-top:34px; }
.pgz-sech{ display:flex; align-items:baseline; gap:10px; margin:0 0 6px; font-family:var(--gz-serif); font-size:21px; font-weight:700; color:var(--gz-ink); }
.pgz-sech .cnt{ font-size:13px; font-weight:700; color:var(--gz-gold-deep); letter-spacing:.04em; }
.pgz-secline{ height:1px; background:linear-gradient(90deg, var(--gz-gold) 0, var(--gz-gold-line) 120px, rgba(201,162,75,.12) 100%); border:0; margin:0 0 18px; }
.pgz-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px 10px; }
.pgz-card{ position:relative; background:var(--gz-card); border:1px solid var(--gz-gold-line); border-radius:12px; overflow:hidden; }
.pgz-card > a{ display:block; color:inherit; text-decoration:none; cursor:pointer; }
.pgz-card .pimg{ position:relative; aspect-ratio:1/1; margin:8px 8px 0; border-radius:8px; overflow:hidden; background:#f3efe3; }
.pgz-card .pimg img{ width:100%; height:100%; object-fit:cover; display:block; }
.pgz-card .pimg .dc{ position:absolute; top:8px; left:8px; z-index:2; font-size:12.5px; font-weight:800; color:#fff; background:var(--gz-sale); border-radius:6px; padding:3px 7px; }
.pgz-card .pimg .halt{ position:absolute; inset:0; z-index:3; background:rgba(23,31,46,.55); color:#fff; display:grid; place-items:center; font-size:14px; font-weight:700; text-align:center; padding:10px; line-height:1.45; }
/* 카드 정보 v2.1 (2026-08-21 사용자 지시): "조합원" 라벨·비조합원가 삭제.
 * 생산자명(.maker) → 상품명(.tit) → 규격·인증·온도(.metarow, v2.8.1 순서) → 가격 하나 크게(.price) */
.pgz-card .pinfo{ padding:11px 13px 14px; }
.pgz-card .pinfo .maker{ font-size:12.5px; font-weight:700; letter-spacing:.02em; color:var(--gz-gold-deep); margin:0 0 3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pgz-card .pinfo .tit{ font-size:14px; line-height:1.45; color:var(--gz-ink); margin:0 0 6px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.9em; }
.pgz-card .pinfo .metarow{ display:flex; flex-wrap:wrap; align-items:center; gap:5px 7px; margin:0 0 8px; min-height:20px; }
.pgz-card .pinfo .cert{ display:inline-block; font-size:12.5px; font-weight:700; color:var(--gz-green); background:transparent; border:1px solid rgba(61,96,65,.35); border-radius:5px; padding:2px 7px; }
.pgz-card .pinfo .qty{ font-size:13px; color:var(--gz-muted); }
.pgz-card .pinfo .price{ display:flex; align-items:baseline; gap:6px; margin:0; }
.pgz-card .pinfo .price b{ font-size:18px; font-weight:800; color:var(--gz-ink); }
.pgz-card .pinfo .price .won{ font-size:14px; font-weight:700; color:var(--gz-ink); margin-left:-4px; }
.pgz-card .pinfo .price .sale{ font-size:13px; font-weight:400; color:var(--gz-weak); text-decoration:line-through; }
.pgz-card.soldout .pimg img{ filter:grayscale(60%); opacity:.75; }
/* 지난 추석 인기 배지(JS: gift_best.jsp) — 썸네일 좌하단 금빛 칩 */
.pgz-card .pimg .bb{ position:absolute; left:8px; bottom:8px; z-index:2; font-size:12.5px; font-weight:800; color:#171f2e; background:var(--gz-gold-pale); border-radius:6px; padding:3px 8px; }
/* 골라두기 별 토글 — 금색 테두리, 선택 시 채움 (터치 44px) */
.pgz-star{
  position:absolute; top:12px; right:12px; z-index:4; width:44px; height:44px; border-radius:50%;
  background:rgba(255,253,248,.94); border:1.5px solid var(--gz-gold); color:var(--gz-gold-deep);
  font-size:19px; line-height:1; display:grid; place-items:center; cursor:pointer; padding:0;
}
.pgz-star.on{ background:var(--gz-gold); border-color:var(--gz-gold); color:#fff; }

/* ============ ⑥ 스토리 인터루드(매거진 길) — 코너 사이 사진+에디터의 말 ============
 * 이미지 = chuseok_story_producer/hanwoo/hangwa (1200x900). 기본 = 사진 위·글 아래(모바일),
 * PC = 사진·글 나란히(.rev = 좌우 반전). 첫 인터루드엔 지난 추석 베스트(.best, JS 노출). */
.pgz-itl{ margin-top:44px; padding:36px 0 40px; background:var(--gz-cream-deep); border-top:1px solid var(--gz-gold-line); border-bottom:1px solid var(--gz-gold-line); }
.pgz-itl .in{ max-width:1200px; margin:0 auto; padding:0 16px; display:flex; flex-direction:column; gap:20px; }
.pgz-itl .ph{ margin:0; flex:1 1 52%; min-width:0; }
.pgz-itl .ph img{ display:block; width:100%; height:auto; border-radius:12px; border:1px solid var(--gz-gold-line); }
.pgz-itl .ph figcaption{ font-size:12.5px; color:var(--gz-weak); margin-top:7px; text-align:right; }
.pgz-itl .tx{ flex:1 1 48%; min-width:0; }
.pgz-itl .i-eb{ font-size:12.5px; font-weight:700; letter-spacing:.28em; text-indent:.28em; color:var(--gz-gold-deep); margin:0 0 10px; }
.pgz-itl .i-q{ font-family:var(--gz-serif); font-size:21px; font-weight:700; line-height:1.42; color:var(--gz-green-d); margin:0 0 10px; word-break:keep-all; }
.pgz-itl .i-b{ font-size:14.5px; line-height:1.74; color:var(--gz-muted); margin:0; word-break:keep-all; max-width:560px; }
/* 지난 추석 베스트 하이라이트(JS: gift_best.jsp 채움) */
.pgz-itl .best{ max-width:1200px; margin:26px auto 0; padding:0 16px; }
.pgz-itl .best[hidden]{ display:none; }
.pgz-itl .best .b-h{ font-family:var(--gz-serif); font-size:16px; font-weight:700; color:var(--gz-ink); margin:0 0 12px; }
.pgz-itl .best .b-list{ display:flex; gap:10px; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; padding-bottom:4px; }
.pgz-itl .best .b-list::-webkit-scrollbar{ display:none; }
.pgz-bestcard{ flex:0 0 auto; width:168px; background:var(--gz-card); border:1px solid var(--gz-gold-line); border-radius:12px; overflow:hidden; text-decoration:none; color:inherit; cursor:pointer; }
.pgz-bestcard img{ display:block; width:100%; aspect-ratio:1/1; object-fit:cover; background:#f3efe3; }
.pgz-bestcard .bi{ padding:9px 11px 12px; }
.pgz-bestcard .rk{ display:inline-block; font-size:12.5px; font-weight:800; color:var(--gz-gold-deep); margin-bottom:3px; }
.pgz-bestcard .nm{ font-size:13.5px; line-height:1.4; color:var(--gz-ink); margin:0 0 5px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.8em; }
.pgz-bestcard .pr{ font-size:14.5px; font-weight:800; color:var(--gz-ink); }

/* ============ ⑥.5 개인화 층 "올해도 마음을 전할 분들" (JS: gift_history.jsp) ============ */
.pgz-hearts{ background:var(--gz-night-2); padding:44px 0 46px; margin-top:0; }
.pgz-hearts[hidden]{ display:none; }
.pgz-hearts .h-eb{ font-size:12.5px; font-weight:700; letter-spacing:.3em; text-indent:.3em; color:var(--gz-gold-pale); margin:0 0 10px; text-align:center; }
.pgz-hearts .h-head{ font-family:var(--gz-serif); font-size:22px; font-weight:700; line-height:1.4; color:#fdfaf2; margin:0 0 8px; text-align:center; word-break:keep-all; }
.pgz-hearts .h-sub{ font-size:14px; line-height:1.6; color:rgba(253,250,242,.66); margin:0 0 22px; text-align:center; }
.pgz-hearts .h-cards{ display:grid; grid-template-columns:1fr; gap:10px; }
.pgz-heart{ display:flex; align-items:center; gap:12px; text-align:left; width:100%; background:rgba(253,250,242,.06); border:1px solid rgba(201,162,75,.35); border-radius:14px; padding:14px 16px; cursor:pointer; font-family:inherit; color:#fdfaf2; min-height:64px; }
.pgz-heart:hover{ background:rgba(253,250,242,.10); }
.pgz-heart .ini{ flex:0 0 44px; width:44px; height:44px; border-radius:50%; background:var(--gz-gold); color:#171f2e; display:grid; place-items:center; font-family:var(--gz-serif); font-size:18px; font-weight:700; }
.pgz-heart.new .ini{ background:rgba(233,217,174,.28); color:var(--gz-gold-pale); }
.pgz-heart .bd{ flex:1 1 auto; min-width:0; }
.pgz-heart .nm{ font-size:16px; font-weight:800; color:#fdfaf2; margin:0 0 2px; }
.pgz-heart .nm .rg{ font-size:13px; font-weight:400; color:rgba(253,250,242,.55); margin-left:7px; }
.pgz-heart .ls{ font-size:13.5px; line-height:1.5; color:rgba(253,250,242,.72); margin:0; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.pgz-heart .ls b{ color:var(--gz-gold-pale); font-weight:700; }
.pgz-heart .ar{ flex:0 0 auto; color:rgba(253,250,242,.4); font-size:16px; }
.pgz-heart.on{ border-color:var(--gz-gold); background:rgba(201,162,75,.16); }
.pgz-heart .del{ flex:0 0 auto; width:34px; height:34px; border:0; background:none; color:rgba(253,250,242,.45); font-size:15px; cursor:pointer; }
/* 이름 적어두기 줄 */
.pgz-hearts .h-addrow{ display:flex; gap:8px; margin-top:14px; }
.pgz-hearts .h-addrow input{ flex:1 1 auto; min-width:0; min-height:48px; border:1px solid rgba(201,162,75,.4); border-radius:12px; background:rgba(253,250,242,.06); color:#fdfaf2; font-family:inherit; font-size:15px; padding:11px 15px; outline:0; }
.pgz-hearts .h-addrow input::placeholder{ color:rgba(253,250,242,.42); }
.pgz-hearts .h-addrow button{ flex:0 0 auto; min-height:48px; border:0; border-radius:12px; background:var(--gz-green); color:#fff; font-family:inherit; font-size:15px; font-weight:800; padding:11px 20px; cursor:pointer; }
.pgz-hearts .h-note{ font-size:12.5px; line-height:1.55; color:rgba(253,250,242,.45); margin:14px 0 0; text-align:center; }
/* 비로그인 안내 한 줄 카드 (그리드 전체 폭) */
.pgz-heart-login{ grid-column:1 / -1; display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap; background:rgba(253,250,242,.06); border:1px dashed rgba(201,162,75,.45); border-radius:14px; padding:18px 16px; font-size:14.5px; line-height:1.6; color:rgba(253,250,242,.78); text-align:center; }
.pgz-heart-login a{ color:var(--gz-gold-pale); font-weight:800; text-decoration:underline; text-underline-offset:3px; }

/* 받는 분 타임라인 모달 */
.pgz-hxdim{ position:fixed; inset:0; z-index:99998; display:none; background:rgba(23,31,46,.6); }
.pgz-hxdim.show{ display:block; }
.pgz-hxmodal{ position:fixed; left:50%; top:50%; transform:translate(-50%,-50%); z-index:99999; display:none; width:min(92vw, 470px); max-height:80vh; overflow-y:auto; background:var(--gz-cream); border-radius:18px; padding:26px 22px 22px; }
.pgz-hxmodal.show{ display:block; }
.pgz-hxmodal .x{ position:absolute; top:10px; right:10px; width:44px; height:44px; border:0; background:none; font-size:19px; color:var(--gz-muted); cursor:pointer; }
.pgz-hxmodal .hd{ text-align:center; padding-bottom:16px; border-bottom:1px solid var(--gz-gold-line); margin-bottom:6px; }
.pgz-hxmodal .nm{ font-family:var(--gz-serif); font-size:21px; font-weight:700; color:var(--gz-ink); margin:0 0 4px; }
.pgz-hxmodal .rg{ font-size:13.5px; color:var(--gz-muted); margin:0; }
.pgz-hxmodal .tl{ list-style:none; margin:0 0 18px; padding:0; }
.pgz-hxmodal .tl li{ position:relative; padding:14px 0 14px 24px; border-bottom:1px solid rgba(201,162,75,.2); }
.pgz-hxmodal .tl li::before{ content:""; position:absolute; left:4px; top:22px; width:8px; height:8px; border-radius:50%; background:var(--gz-gold); }
.pgz-hxmodal .tl .yr{ font-size:13px; font-weight:800; letter-spacing:.06em; color:var(--gz-gold-deep); margin:0 0 4px; }
.pgz-hxmodal .tl .tx{ font-family:var(--gz-serif); font-size:15.5px; line-height:1.6; color:var(--gz-ink); margin:0 0 3px; word-break:keep-all; }
.pgz-hxmodal .tl .pl{ font-size:12.5px; color:var(--gz-weak); margin:0; }
.pgz-hxmodal .pick{ display:block; width:100%; min-height:52px; border:0; border-radius:13px; background:var(--gz-green); color:#fff; font-family:inherit; font-size:16px; font-weight:800; cursor:pointer; }
.pgz-hxmodal .pick:active{ background:var(--gz-green-d); }

/* ============ ⑦ 피날레 — 먹남색 + 달 모티프 + 금색 D-day ============ */
.pgz-final{ position:relative; overflow:hidden; background:var(--gz-night); margin-top:44px; padding:64px 0 58px; text-align:center; }
.pgz-final::before{
  content:""; position:absolute; left:50%; top:-90px; width:340px; height:340px; margin-left:-170px; border-radius:50%;
  background:radial-gradient(circle at 50% 50%, rgba(233,201,122,.32) 0%, rgba(233,201,122,.10) 52%, rgba(233,201,122,0) 72%);
}
.pgz-final .pgz-inner{ position:relative; z-index:1; }
.pgz-final .f-line{ font-family:var(--gz-serif); font-size:20px; font-weight:700; line-height:1.5; color:#fdfaf2; margin:0 0 18px; }
.pgz-final .f-info{ font-size:14.5px; line-height:1.75; color:rgba(253,250,242,.78); margin:0 0 20px; }
.pgz-final .f-info b{ color:var(--gz-gold-pale); font-weight:700; }
.pgz-final .f-dday{ display:inline-flex; align-items:center; min-height:40px; font-size:15px; font-weight:800; color:#171f2e; background:var(--gz-gold); border-radius:999px; padding:8px 22px; }

/* 검색 결과 없음 */
.pgz-nores{ display:none; text-align:center; color:var(--gz-weak); font-size:14px; padding:44px 0; }

/* ============ ⑧ 골라두기 하단 바 + 시트 (JS) ============ */
.pgz-pickbar{
  position:fixed; left:0; right:0; bottom:0; z-index:9000; display:none;
  padding:10px 14px calc(10px + constant(safe-area-inset-bottom)); padding-bottom:calc(10px + env(safe-area-inset-bottom));
  background:rgba(23,31,46,.96); border-top:1px solid rgba(201,162,75,.45);
}
/* 모바일: 사이트 하단 탭바(카테고리·검색·홈…) 위로 띄우는 플로팅 필 */
.pgz-m .pgz-pickbar{
  left:10px; right:10px; bottom:calc(66px + env(safe-area-inset-bottom));
  border:1px solid rgba(201,162,75,.45); border-radius:16px; padding:10px 14px;
  box-shadow:0 8px 26px rgba(23,31,46,.35);
}
.pgz-pickbar.show{ display:block; }
.pgz-pickbar .in{ max-width:560px; margin:0 auto; display:flex; align-items:center; gap:12px; }
.pgz-pickbar .txt{ flex:1 1 auto; font-size:15px; font-weight:700; color:#fdfaf2; line-height:1.4; }
.pgz-pickbar .txt .n{ color:var(--gz-gold); font-weight:800; }
/* 받는 분 태그(개인화): "OO님께 ·" + 해제 x */
.pgz-pickbar .who{ display:none; }
.pgz-pickbar .who.show{ display:inline-flex; align-items:center; gap:6px; margin-right:8px; font-size:14px; font-weight:800; color:#171f2e; background:var(--gz-gold-pale); border-radius:999px; padding:4px 6px 4px 12px; vertical-align:middle; }
.pgz-pickbar .who .wx{ width:22px; height:22px; border:0; border-radius:50%; background:rgba(23,31,46,.14); color:#171f2e; font-size:12.5px; line-height:1; cursor:pointer; padding:0; }
/* 고르는 중 안내 줄(받는 분 태그 선택 시 pickzone 위 노출) */
.pgz-whobar{ display:none; align-items:center; gap:10px; flex-wrap:wrap; background:var(--gz-cream-deep); border:1px solid var(--gz-gold-line); border-radius:12px; padding:11px 15px; margin-top:16px; font-size:14.5px; line-height:1.5; color:var(--gz-ink); }
.pgz-whobar.show{ display:flex; }
.pgz-whobar b{ color:var(--gz-green-d); }
.pgz-whobar .off{ margin-left:auto; min-height:34px; border:0; background:none; font-family:inherit; font-size:13.5px; font-weight:700; color:var(--gz-muted); text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.pgz-whobar .wnote{ flex:1 1 100%; margin-top:4px; font-size:13.5px; font-weight:600; color:var(--gz-muted); }
.pgz-pickbar .open{ flex:0 0 auto; min-height:46px; display:inline-flex; align-items:center; font-size:15px; font-weight:800; color:#fff; background:var(--gz-green); border:0; border-radius:999px; padding:11px 22px; cursor:pointer; font-family:inherit; }
.pgz-sheetdim{ position:fixed; inset:0; z-index:99998; display:none; background:rgba(23,31,46,.55); }
.pgz-sheetdim.show{ display:block; }
.pgz-picksheet{
  position:fixed; left:0; right:0; bottom:0; z-index:99999; display:none;
  background:var(--gz-cream); border-radius:18px 18px 0 0; max-height:76vh; overflow:hidden; flex-direction:column;
}
.pgz-picksheet.show{ display:flex; }
.pgz-picksheet .sh{ display:flex; align-items:center; gap:8px; padding:16px 18px 12px; border-bottom:1px solid var(--gz-gold-line); }
.pgz-picksheet .sh .t{ font-family:var(--gz-serif); font-size:18px; font-weight:700; color:var(--gz-green-d); }
.pgz-picksheet .sh .n{ font-size:14px; font-weight:800; color:var(--gz-gold-deep); }
.pgz-picksheet .sh .x{ margin-left:auto; width:44px; height:44px; border:0; background:none; font-size:20px; color:var(--gz-muted); cursor:pointer; }
.pgz-picksheet .sl{ overflow-y:auto; padding:6px 18px 14px; flex:1 1 auto; list-style:none; margin:0; }
.pgz-pickitem{ display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid rgba(201,162,75,.2); }
.pgz-pickitem:last-child{ border-bottom:0; }
.pgz-pickitem img{ width:64px; height:64px; border-radius:8px; object-fit:cover; flex:0 0 auto; border:1px solid var(--gz-gold-line); }
.pgz-pickitem .pi{ flex:1 1 auto; min-width:0; }
.pgz-pickitem .pi .nm{ font-size:14px; line-height:1.4; color:var(--gz-ink); margin:0 0 3px; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.pgz-pickitem .pi .pr{ font-size:14.5px; font-weight:800; color:var(--gz-ink); }
.pgz-pickitem .pi .to{ display:inline-block; font-size:12.5px; font-weight:800; color:#171f2e; background:var(--gz-gold-pale); border-radius:6px; padding:2px 8px; margin-left:7px; vertical-align:1px; }
.pgz-pickitem .go, .pgz-pickitem .rm{ flex:0 0 auto; min-height:44px; border-radius:10px; font-size:13.5px; font-weight:700; cursor:pointer; font-family:inherit; padding:9px 13px; }
.pgz-pickitem .go{ background:var(--gz-green); color:#fff; border:0; }
.pgz-pickitem .rm{ background:none; color:var(--gz-muted); border:1px solid #d5cfbf; }
.pgz-picksheet .sn{ padding:10px 18px 16px; font-size:12.5px; color:var(--gz-weak); border-top:1px solid rgba(201,162,75,.2); }
/* 하단 바가 카드·피날레 가리지 않게 여백 */
.pgz.haspick .pgz-final{ padding-bottom:120px; }
.pgz.pgz-m.haspick .pgz-final{ padding-bottom:180px; }

/* ============ 태블릿/PC ============ */
@media (min-width:768px){
  .pgz-grid{ grid-template-columns:repeat(3,1fr); gap:24px 14px; }
  .pgz-hero{
    background:var(--gz-night);   /* v3.0.0: 배경 사진(chuseok_bg_hero_pc.jpg) 참조 제거 */
    padding:88px 0 110px;
  }
  /* PC: 중앙 카피 뒤 라디얼 스크림(달·홍시가지와 겹칠 때 가독 확보) */
  .pgz-hero::before{ background:radial-gradient(ellipse 62% 66% at 50% 46%, rgba(23,31,46,.62) 0%, rgba(23,31,46,.30) 58%, rgba(23,31,46,0) 82%); }
  .pgz-hero::after{ height:110px; }
  .pgz-hero .pgz-tt{ font-size:40px; }
  .pgz-hero .pgz-sub{ font-size:16px; }
  .pgz-meta{ flex-direction:row; gap:26px; justify-content:center; }
  .pgz-why{ padding:64px 0 56px; }
  .pgz-why .w-head{ font-size:29px; }
  .pgz-why .w-sub .pcbr{ display:inline; }
  .pgz-why .w-cols{ grid-template-columns:repeat(3,1fr); margin-top:6px; }
  .pgz-why .w-col{ border-top:0; border-left:1px solid var(--gz-gold-line); padding:6px 26px 4px; }
  .pgz-why .w-col:first-child{ border-left:0; padding-left:4px; padding-top:6px; }
  .pgz-ready{ padding:46px 0 50px; }
  .pgz-ready .r-head{ font-size:23px; }
  .pgz-ready .r-grid{ grid-template-columns:repeat(4,1fr); gap:18px 20px; }
  .pgz-pickzone{ padding:28px 30px 12px; }
  .pgz-pickh{ font-size:21px; }
  .pgz-selrow{ display:flex; align-items:center; gap:14px; }
  .pgz-selrow .lbl{ flex:0 0 150px; margin-bottom:0; }
  /* 인터루드: 사진·글 나란히(잡지 펼침면) */
  .pgz-itl{ padding:52px 0 56px; }
  .pgz-itl .in{ flex-direction:row; align-items:center; gap:44px; }
  .pgz-itl.rev .in{ flex-direction:row-reverse; }
  .pgz-itl .i-q{ font-size:26px; }
  .pgz-itl .i-b{ font-size:15px; }
  .pgz-itl .best{ margin-top:36px; }
  .pgz-itl .best .b-h{ font-size:18px; }
  .pgz-bestcard{ width:200px; }
  /* 개인화 층: 카드 2열 */
  .pgz-hearts{ padding:56px 0 58px; }
  .pgz-hearts .h-head{ font-size:26px; }
  .pgz-hearts .h-cards{ grid-template-columns:repeat(2,1fr); gap:12px; }
  .pgz-hearts .h-addrow{ max-width:560px; margin-left:auto; margin-right:auto; }
}
@media (min-width:1025px){
  .pgz-hero{ padding:112px 0 132px; }
  .pgz-hero .pgz-tt{ font-size:46px; }
  .pgz-grid{ grid-template-columns:repeat(4,1fr); gap:28px 16px; }
  .pgz-sec{ padding-top:44px; }
  .pgz-sech{ font-size:24px; }
  .pgz-coupon{ padding:16px 18px; }
  .pgz-card .pinfo .tit{ font-size:15px; }
  .pgz-card .pinfo .price b{ font-size:19px; }
  .pgz-hearts .h-cards{ grid-template-columns:repeat(3,1fr); }
  .pgz-ready .r-grid .num{ font-size:42px; }
  .pgz-final{ padding:76px 0 68px; }
  .pgz-final .f-line{ font-size:24px; }
  .pgz-picksheet{ left:50%; right:auto; bottom:auto; top:50%; transform:translate(-50%,-50%); width:560px; max-height:70vh; border-radius:18px; }
}

/* ============================================================
 * 사전예약(reservation.do) 추석 명절택배 진입 카드 — .rvzgift
 * main_home4_draft.jsp(PC/모바일) 히어로 아래 1장. JS(gift_active.jsp JSON)로
 * 채워지기 전까지 [hidden]. 플랜 없으면 계속 미노출(추석 지나면 자동 소멸).
 * ============================================================ */
.rvzgift{ max-width:1200px; margin:18px auto 0; padding:0 14px; }
.rvzgift[hidden]{ display:none; }
.rvzgift .gcard{ display:flex; flex-direction:column; gap:13px; background:linear-gradient(135deg,#faf6ec 0%,#f4eddb 100%); border:1.5px solid #d9c89a; border-radius:16px; padding:19px 18px; }
.rvzgift .gbadge{ align-self:flex-start; font-size:12.5px; font-weight:800; letter-spacing:.02em; color:#fff; background:#c9972c; border-radius:999px; padding:5px 12px; }
.rvzgift .gtit{ font-family:'Pretendard','Noto Sans KR',sans-serif; font-size:20px; font-weight:700; line-height:1.35; color:#2e4a32; margin:0; word-break:keep-all; }
.rvzgift .gperiod{ font-size:14px; line-height:1.6; color:#565a57; }
.rvzgift .gperiod b{ color:#3d6041; }
.rvzgift .gbtn{ display:inline-flex; align-items:center; justify-content:center; min-height:48px; font-size:15px; font-weight:800; color:#fff; background:#3d6041; border-radius:12px; padding:12px 22px; text-decoration:none; cursor:pointer; }
.rvzgift .gbtn:active{ background:#2e4a32; }
@media (min-width:1025px){
  .rvzgift .gcard{ flex-direction:row; align-items:center; gap:26px; padding:24px 28px; }
  .rvzgift .gmain{ flex:1 1 auto; }
  .rvzgift .gtit{ font-size:24px; margin:8px 0 6px; }
  .rvzgift .gbtn{ flex:0 0 auto; }
}


/* ============================================================
 * v2.3.0 (2026-08-25) 선물 개인화 딥플로우 1단계
 *  ① 카드 [담기] 버튼(.pgz-addbtn) — 상세 이동과 별개의 즉석 담기 입구
 *  ② 즉석 배송일 담기 시트(.pgz-addsheet + .pgz-adddim) — 받는 날짜 칩 + 수량 + 담기/완료판
 *  ③ 받는 분 카드 래퍼(.pgz-heartwrap)와 액션 2버튼(.pgz-hact)
 *  가독성: 본문 14px 하한 · 터치 44px · 진초록/한지 크림 기존 토큰 재사용
 * ============================================================ */
.pgz-addbtn{
  display:block; width:calc(100% - 20px); margin:0 10px 12px; min-height:44px;
  font-size:15px; font-weight:800; color:#3d6041; background:#fffdf8;
  border:1.5px solid #3d6041; border-radius:10px; cursor:pointer;
}
.pgz-addbtn:active{ color:#fff; background:#3d6041; }
.pgz-card.soldout .pgz-addbtn{ display:none; }

.pgz-adddim{ position:fixed; inset:0; background:rgba(23,31,46,.55); z-index:99998; display:none; } /* 기존 pgzSheetDim과 동일 계층(사이트 위젯 msnWidget z=9500 위) */
.pgz-adddim.show{ display:block; }
.pgz-addsheet{
  position:fixed; left:0; right:0; bottom:0; z-index:99999; display:none;
  background:#fffdf8; border-radius:18px 18px 0 0; padding:20px 16px calc(18px + env(safe-area-inset-bottom, 0px));
  box-shadow:0 -8px 30px rgba(23,31,46,.25); max-height:86vh; overflow-y:auto;
}
.pgz-addsheet.show{ display:block; }
.pgz-addsheet .x{
  position:absolute; top:10px; right:10px; width:40px; height:40px; font-size:17px;
  color:#5c6258; background:none; border:0; cursor:pointer;
}
.pgz-addsheet .gd{ display:flex; align-items:center; gap:12px; padding-right:40px; }
.pgz-addsheet .gd img{ width:64px; height:64px; border-radius:10px; object-fit:cover; background:#efe7d5; flex:0 0 auto; }
.pgz-addsheet .gd .nm{ font-size:15px; font-weight:700; line-height:1.4; color:#232a23; word-break:keep-all; }
.pgz-addsheet .gd .pr{ margin-top:3px; font-size:17px; font-weight:800; color:#2e4a33; }
.pgz-addsheet .who{
  margin:12px 0 0; font-size:14px; font-weight:700; color:#a8842f;
  background:#f6f1e6; border:1px solid rgba(201,162,75,.35); border-radius:9px; padding:9px 12px;
}
.pgz-addsheet .who[hidden]{ display:none; }
.pgz-addsheet .lb{ margin:16px 0 8px; font-size:14px; font-weight:800; color:#5c6258; }
.pgz-addsheet .dts{ display:flex; flex-wrap:wrap; gap:8px; }
.pgz-addsheet .dts .dt{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px;
  min-width:60px; min-height:56px; padding:6px 10px; cursor:pointer;
  background:#fff; border:1.5px solid #d8d2c2; border-radius:10px;
}
.pgz-addsheet .dts .dt .w{ font-size:16px; font-weight:800; color:#232a23; }
.pgz-addsheet .dts .dt .d{ font-size:13px; color:#7c8078; }
.pgz-addsheet .dts .dt.on{ border-color:#3d6041; background:#3d6041; }
.pgz-addsheet .dts .dt.on .w, .pgz-addsheet .dts .dt.on .d{ color:#fff; }
.pgz-addsheet .dts .dt.off{ opacity:.35; cursor:default; }
.pgz-addsheet .qrow{ display:flex; align-items:center; justify-content:space-between; margin-top:16px; }
.pgz-addsheet .qrow .lb{ margin:0; }
.pgz-addsheet .qty{ display:flex; align-items:center; gap:0; border:1.5px solid #d8d2c2; border-radius:10px; overflow:hidden; }
.pgz-addsheet .qty button{ width:46px; height:44px; font-size:20px; color:#232a23; background:#fff; border:0; cursor:pointer; }
.pgz-addsheet .qty button:active{ background:#efe7d5; }
.pgz-addsheet .qty .n{ min-width:44px; text-align:center; font-size:17px; font-weight:800; }
.pgz-addsheet .go{
  display:block; width:100%; margin-top:18px; min-height:52px; font-size:17px; font-weight:800;
  color:#fff; background:#3d6041; border:0; border-radius:12px; cursor:pointer;
}
.pgz-addsheet .go:active{ background:#2e4a33; }
.pgz-addsheet .go[disabled]{ opacity:.6; }
.pgz-addsheet .note{ margin-top:10px; font-size:13.5px; line-height:1.55; color:#7c8078; word-break:keep-all; }
.pgz-addsheet .done{ padding:6px 0 2px; }
.pgz-addsheet .done .dt{ font-size:19px; font-weight:800; color:#2e4a33; }
.pgz-addsheet .done .dt .ck{
  display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; margin-right:8px;
  color:#fff; background:#3d6041; border-radius:50%; font-size:14px;
}
.pgz-addsheet .done .ds{ margin:10px 0 14px; font-size:14px; line-height:1.6; color:#5c6258; word-break:keep-all; }
.pgz-addsheet .done .tocart{
  display:block; width:100%; min-height:52px; font-size:17px; font-weight:800;
  color:#fff; background:#3d6041; border:0; border-radius:12px; cursor:pointer;
}
.pgz-addsheet .done .more{
  display:block; width:100%; margin-top:8px; min-height:46px; font-size:15px; font-weight:700;
  color:#3d6041; background:none; border:1.5px solid #3d6041; border-radius:12px; cursor:pointer;
}
/* 51 v2.7.9 중복 담기 안내판 — 완료판(.done)과 같은 골격을 쓰되 "완료 체크"가 아님을 표시로 구분.
   경고색은 좁은 포인트(원형 아이콘)로만(디자인 정책: 강조색 넓은 면적·텍스트 금지). */
.pgz-addsheet .done.dup .dt .ck{ background:#c9a24b; font-weight:800; }
.pgz-addsheet .done.dup .ds{ margin-bottom:16px; }

/* 받는 분 카드 래퍼 + 액션 2버튼 — 기존 .pgz-heart 카드 아래 붙는다 */
.pgz-heartwrap{ display:flex; flex-direction:column; }
.pgz-heartwrap .pgz-heart{ width:100%; }
.pgz-hact{ display:flex; gap:8px; margin-top:8px; }
.pgz-hact button{
  flex:1 1 0; min-height:44px; padding:8px 6px; font-size:14px; font-weight:800;
  border-radius:10px; cursor:pointer; word-break:keep-all;
}
.pgz-hact .again{ color:#fff; background:#3d6041; border:1.5px solid #3d6041; }
.pgz-hact .again:active{ background:#2e4a33; }
.pgz-hact .choose{ color:#3d6041; background:#fffdf8; border:1.5px solid #3d6041; }
.pgz-hact .choose:active{ background:#efe7d5; }

@media (min-width:1025px){
  .pgz-addsheet{ left:50%; right:auto; bottom:auto; top:50%; transform:translate(-50%,-50%); width:520px; max-height:78vh; border-radius:18px; padding:24px 22px 22px; }
  .pgz-addbtn{ width:calc(100% - 24px); margin:0 12px 14px; }
}

/* ============================================================
 * v2.4 ⑪ 받는 분께 물어보기 — 완료판 .ask 버튼 + 링크 공유 레이어
 * ============================================================ */
.pgz-addsheet .done .ask{
  display:block; width:100%; margin-top:8px; min-height:46px; font-size:15px; font-weight:800;
  color:#8a5a19; background:#fbf3df; border:1.5px solid #c9a24b; border-radius:12px; cursor:pointer;
  word-break:keep-all;
}
.pgz-addsheet .done .ask:active{ background:#f3e6c6; }
.pgz-addsheet .done .ask[hidden]{ display:none; }
.pgz-addsheet .done .ask[disabled]{ opacity:.6; }

.pgz-askdim{ position:fixed; inset:0; background:rgba(23,31,46,.55); z-index:99998; display:none; }
.pgz-askdim.show{ display:block; }
.pgz-asklayer{
  position:fixed; left:0; right:0; bottom:0; z-index:99999; display:none;
  background:#fffdf8; border-radius:18px 18px 0 0; padding:22px 18px calc(20px + env(safe-area-inset-bottom,0px));
  box-shadow:0 -8px 30px rgba(23,31,46,.25);
}
.pgz-asklayer.show{ display:block; }
.pgz-asklayer .x{
  position:absolute; top:10px; right:10px; width:40px; height:40px; font-size:16px;
  color:#7c8078; background:none; border:0; cursor:pointer;
}
.pgz-asklayer .at{ font-size:18px; font-weight:800; color:#2e4a33; padding-right:36px; word-break:keep-all; }
.pgz-asklayer .as{ margin-top:8px; font-size:14px; line-height:1.6; color:#5c6258; word-break:keep-all; }
.pgz-asklayer .as b{ color:#2e4a33; }
.pgz-asklayer .lk{
  display:block; width:100%; margin-top:14px; min-height:46px; padding:10px 12px;
  font-size:14px; color:#232a23; background:#f6f1e6; border:1.5px solid #d8d2c2; border-radius:10px;
  overflow:hidden; text-overflow:ellipsis;
}
.pgz-asklayer .cp{
  display:block; width:100%; margin-top:10px; min-height:52px; font-size:16px; font-weight:800;
  color:#fff; background:#3d6041; border:0; border-radius:12px; cursor:pointer; word-break:keep-all;
}
.pgz-asklayer .cp:active{ background:#2e4a33; }
.pgz-asklayer .kk{
  display:block; width:100%; margin-top:8px; min-height:48px; font-size:15px; font-weight:800;
  color:#3a2929; background:#fee500; border:0; border-radius:12px; cursor:pointer;
}
.pgz-asklayer .kk:active{ background:#f2da00; }
.pgz-asklayer .kk[hidden]{ display:none; }
.pgz-asklayer .an{ margin-top:10px; font-size:13px; line-height:1.55; color:#7c8078; word-break:keep-all; text-align:center; }

/* v2.4.1: 물어보기 레이어 현재 상태 줄 */
.pgz-asklayer .ast{
  margin-top:10px; padding:10px 12px; font-size:13.5px; line-height:1.55;
  color:#2e4a33; background:#eef4ea; border-radius:10px; word-break:keep-all;
}
.pgz-asklayer .ast b{ color:#1d4d34; font-weight:800; }
.pgz-asklayer .ast[hidden]{ display:none; }

/* v2.4.1: 받는 분 카드 물어보기 상태 배지 — 밤하늘(night) 층 위 3상태 */
.pgz-heart .askst{
  display:inline-block; margin-top:6px; padding:3px 10px 4px;
  font-size:12.5px; font-weight:800; line-height:1.35; border-radius:999px; white-space:nowrap;
}
.pgz-heart .askst.st-sent{
  color:var(--gz-gold-pale); background:rgba(201,162,75,.14); border:1px solid rgba(201,162,75,.5);
}
.pgz-heart .askst.st-viewed{
  color:#f6ecca; background:rgba(233,196,106,.24); border:1px solid rgba(233,196,106,.6);
}
.pgz-heart .askst.st-confirmed{
  color:#fff; background:var(--gz-green); border:1px solid var(--gz-green); cursor:pointer;
}

@media (min-width:1025px){
  .pgz-asklayer{
    left:50%; right:auto; bottom:auto; top:50%; transform:translate(-50%,-50%);
    width:460px; border-radius:18px; padding:24px 22px 22px;
  }
}

/* ============================================================
 * v2.4.2 (2026-08-25) 쉬운 설명 패스
 *  ① 히어로 아래 세 걸음 팁 카드(.pgz-tip) — 한지 크림 톤, 50~60대 본문 15px+
 *  ② 첫 별(골라두기) 안내 토스트(.pgz-startoast) — 1회, JS가 노출·자동숨김
 * ============================================================ */
.pgz-tip{ padding-top:22px; }
.pgz-tip .tipcard{
  background:var(--gz-card); border:1px solid var(--gz-gold-line); border-left:4px solid var(--gz-gold);
  border-radius:14px; padding:20px 18px 18px;
}
.pgz-tip .t-h{
  font-family:var(--gz-serif); font-size:19px; font-weight:700; line-height:1.4; color:var(--gz-green-d);
  margin:0 0 14px; padding-bottom:12px; border-bottom:1px solid var(--gz-gold-line); word-break:keep-all;
}
.pgz-tip .t-steps{ list-style:none; margin:0; padding:0; counter-reset:pgztip; }
.pgz-tip .t-steps li{
  counter-increment:pgztip; position:relative; padding:9px 0 9px 44px; word-break:keep-all;
}
.pgz-tip .t-steps li::before{
  content:counter(pgztip); position:absolute; left:0; top:9px; width:30px; height:30px; border-radius:50%;
  background:var(--gz-green); color:#fff; font-family:var(--gz-num); font-size:15px; font-weight:800;
  display:grid; place-items:center;
}
.pgz-tip .t-steps li b{ display:block; font-size:16px; font-weight:800; line-height:1.45; color:var(--gz-ink); }
.pgz-tip .t-steps li span{ display:block; font-size:15px; line-height:1.6; color:var(--gz-muted); margin-top:2px; }
.pgz-tip .t-when{
  margin:12px 0 0; padding:11px 14px; font-size:15px; line-height:1.6; color:var(--gz-ink);
  background:var(--gz-cream-deep); border-radius:10px; word-break:keep-all;
}
.pgz-tip .t-when b{ font-weight:800; color:var(--gz-green-d); }
@media (min-width:768px){
  .pgz-tip{ padding-top:28px; }
  .pgz-tip .tipcard{ padding:24px 28px 22px; }
  .pgz-tip .t-h{ font-size:21px; }
  .pgz-tip .t-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:0 26px; }
  .pgz-tip .t-steps li{ padding-top:4px; padding-bottom:4px; }
  .pgz-tip .t-steps li::before{ top:4px; }
  .pgz-tip .t-when{ margin-top:16px; text-align:center; }
}

/* ============================================================
 * v2.5.0 (2026-08-25) 매거진 큐레이션 패스
 *  ⑭ 작년 유사 추천 레일 ⑮ "고민되면 3개만" 시트 ⑯ 실시간 배지 ⑰ 탄소중립 필터
 *  가독성: 본문 14px 하한 · 터치 44px · 기존 pgz 토큰(딥그린·한지크림·금빛 라인) 재사용
 * ============================================================ */
/* 팁카드 진입 버튼 — 세 걸음 아래 딥그린 아웃라인 */
.pgz-tip .t-pick3{
  display:block; width:100%; margin-top:14px; min-height:48px; padding:11px 16px;
  font-family:inherit; font-size:16px; font-weight:800; color:#fff; word-break:keep-all;
  background:var(--gz-green); border:0; border-radius:12px; cursor:pointer;
}
.pgz-tip .t-pick3:active{ background:var(--gz-green-d); }
@media (min-width:768px){
  .pgz-tip .t-pick3{ width:auto; margin:16px auto 0; min-width:320px; }
}

/* ⑭ 작년 유사 추천 레일 — 받는 분 태그 시 pickzone 위에 뜨는 가로 스트립 */
.pgz-simrail{ margin-top:16px; background:var(--gz-cream-deep); border:1px solid var(--gz-gold-line); border-radius:14px; padding:16px 14px 14px; }
.pgz-simrail[hidden]{ display:none; }
.pgz-simrail .s-h{ font-family:var(--gz-serif); font-size:16.5px; font-weight:700; line-height:1.5; color:var(--gz-ink); margin:0 0 12px; word-break:keep-all; }
.pgz-simrail .s-h b{ color:var(--gz-green-d); }
.pgz-simrail .s-list{ display:flex; gap:10px; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; padding-bottom:4px; }
.pgz-simrail .s-list::-webkit-scrollbar{ display:none; }
.pgz-simcard{ flex:0 0 auto; width:150px; background:var(--gz-card); border:1px solid var(--gz-gold-line); border-radius:12px; overflow:hidden; cursor:pointer; display:flex; flex-direction:column; }
.pgz-simcard img{ display:block; width:100%; aspect-ratio:1/1; object-fit:cover; background:#f3efe3; }
.pgz-simcard .sb{ padding:8px 10px 4px; flex:1 1 auto; }
.pgz-simcard .sb .nm{ font-size:13.5px; line-height:1.4; color:var(--gz-ink); margin:0 0 4px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.8em; }
.pgz-simcard .sb .pr{ font-size:14.5px; font-weight:800; color:var(--gz-ink); }
.pgz-simcard .s-add{
  display:block; margin:8px 10px 10px; min-height:40px; font-family:inherit; font-size:14px; font-weight:800;
  color:#3d6041; background:#fffdf8; border:1.5px solid #3d6041; border-radius:9px; cursor:pointer;
}
.pgz-simcard .s-add:active{ color:#fff; background:#3d6041; }
@media (min-width:1025px){ .pgz-simcard{ width:172px; } }

/* ⑮ "고민되면 3개만" 미니 시트 */
.pgz-p3dim{ position:fixed; inset:0; background:rgba(23,31,46,.55); z-index:99998; display:none; }
.pgz-p3dim.show{ display:block; }
.pgz-p3sheet{
  position:fixed; left:0; right:0; bottom:0; z-index:99999; display:none;
  background:#fffdf8; border-radius:18px 18px 0 0; padding:22px 16px calc(18px + env(safe-area-inset-bottom, 0px));
  box-shadow:0 -8px 30px rgba(23,31,46,.25); max-height:86vh; overflow-y:auto;
}
.pgz-p3sheet.show{ display:block; }
.pgz-p3sheet .x{ position:absolute; top:10px; right:10px; width:44px; height:44px; font-size:17px; color:#5c6258; background:none; border:0; cursor:pointer; }
.pgz-p3sheet .t{ font-family:var(--gz-serif); font-size:19px; font-weight:700; line-height:1.4; color:var(--gz-green-d); margin:0; padding-right:40px; word-break:keep-all; }
.pgz-p3sheet .q{ margin:16px 0 8px; font-size:15px; font-weight:800; color:var(--gz-ink); }
.pgz-p3sheet .chips{ display:flex; flex-wrap:wrap; gap:8px; }
.pgz-p3sheet .chips .pc{
  display:inline-flex; align-items:center; min-height:44px; padding:9px 16px; font-family:inherit;
  font-size:14.5px; font-weight:700; line-height:1.3; color:var(--gz-ink); word-break:keep-all;
  background:#fff; border:1.5px solid #d8d2c2; border-radius:999px; cursor:pointer;
}
.pgz-p3sheet .chips .pc.on{ color:#fff; background:var(--gz-green); border-color:var(--gz-green); }
.pgz-p3sheet .res{ margin-top:18px; padding-top:14px; border-top:1px solid var(--gz-gold-line); }
.pgz-p3sheet .res[hidden]{ display:none; }
.pgz-p3sheet .res .rh{ font-size:15px; font-weight:800; line-height:1.5; color:var(--gz-green-d); margin:0 0 10px; word-break:keep-all; }
.pgz-p3sheet .res .cards{ display:flex; gap:10px; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; padding-bottom:4px; }
.pgz-p3sheet .res .cards::-webkit-scrollbar{ display:none; }
.pgz-p3sheet .res .re{
  display:block; width:100%; margin-top:12px; min-height:46px; font-family:inherit; font-size:15px; font-weight:700;
  color:#3d6041; background:none; border:1.5px solid #3d6041; border-radius:12px; cursor:pointer;
}
.pgz-p3sheet .res .re:active{ background:#efe7d5; }
@media (min-width:1025px){
  .pgz-p3sheet{ left:50%; right:auto; bottom:auto; top:50%; transform:translate(-50%,-50%); width:560px; max-height:80vh; border-radius:18px; padding:24px 22px 22px; }
}

/* ⑯ "요즘 많이 담아요" 실시간 배지 — 지난 추석 인기(.bb 금빛)와 구분되는 딥그린 */
.pgz-card .pimg .bb.hotb{ color:#fff; background:var(--gz-green); }

/* ⑰ 탄소중립 필터 칩(내비 줄 끝) + 활성 소자 */
.pgz-carbchip{
  flex:0 0 auto; display:inline-flex; align-items:center; gap:6px; min-height:44px; padding:9px 16px;
  font-family:inherit; font-size:14.5px; font-weight:700; line-height:1.3; white-space:nowrap;
  color:var(--gz-green-d); background:var(--gz-card); border:1.5px solid rgba(61,96,65,.45); border-radius:999px; cursor:pointer;
}
.pgz-carbchip::before{ content:""; width:8px; height:8px; border-radius:50%; background:var(--gz-green); }
.pgz-carbchip.on{ color:#fff; background:var(--gz-green); border-color:var(--gz-green); }
.pgz-carbchip.on::before{ background:var(--gz-gold-pale); }
.pgz-carbchip[hidden]{ display:none; }
.pgz-carbnote{ background:var(--gz-cream-deep); border-bottom:1px solid var(--gz-gold-line); }
.pgz-carbnote[hidden]{ display:none; }
.pgz-carbnote .in{ max-width:1200px; margin:0 auto; padding:10px 16px; font-size:14px; line-height:1.55; color:var(--gz-muted); word-break:keep-all; }
.pgz-carbnote .in b{ color:var(--gz-green-d); font-weight:800; }

/* 첫 별 안내 토스트 — 골라두기 바 위로, 팝업 아님(자동 사라짐) */
.pgz-startoast{
  position:fixed; left:16px; right:16px; bottom:calc(84px + env(safe-area-inset-bottom, 0px)); z-index:9600;
  max-width:560px; margin:0 auto; padding:14px 18px;
  font-size:15px; font-weight:600; line-height:1.6; color:#fdfaf2; word-break:keep-all;
  background:rgba(23,31,46,.96); border:1px solid rgba(201,162,75,.55); border-radius:14px;
  box-shadow:0 8px 26px rgba(23,31,46,.35);
  opacity:0; transform:translateY(8px); transition:opacity .3s ease, transform .3s ease; pointer-events:none;
}
.pgz-startoast.show{ opacity:1; transform:none; }
.pgz-startoast b{ color:var(--gz-gold-pale); font-weight:800; }
/* 모바일 루트: 플로팅 골라두기 바(bottom 66px대) 위로 */
.pgz-m .pgz-startoast{ bottom:calc(150px + env(safe-area-inset-bottom, 0px)); }

/* ============================================================
 * v2.5.1(2026-08-25): 종이 카탈로그(g/chuseok26) 연결 — 91(26추석) 전용 렌더
 *  · .pgz-catbn = 고르기 존 아래 카탈로그 배너(표지 축소본 p01_md.jpg + 진입 버튼 2개)
 *  · .pgz-catrow = 품목 코너(농산/축산·꿀/수산/건강·생활/한과) 그리드 끝
 *    카탈로그 해당 편 링크 행(소형 썸네일 t*.jpg 3장 겹침, 장당 5~8KB)
 * ============================================================ */
.pgz-catbn{
  display:flex; align-items:center; gap:18px; margin:22px 0 4px; padding:18px;
  background:var(--gz-night); border:1px solid rgba(201,162,75,.4); border-radius:16px; overflow:hidden;
}
.pgz-catbn .cover{ flex:0 0 auto; display:block; }
.pgz-catbn .cover img{
  display:block; width:96px; height:132px; object-fit:cover; border-radius:8px;
  border:1px solid rgba(201,162,75,.5); box-shadow:0 6px 18px rgba(0,0,0,.35); background:#fff;
}
.pgz-catbn .tx{ flex:1 1 auto; min-width:0; }
.pgz-catbn .c-eb{ font-size:12.5px; font-weight:700; letter-spacing:.24em; text-indent:.24em; color:var(--gz-gold); margin:0 0 7px; }
.pgz-catbn .c-h{ font-family:var(--gz-serif); font-size:18px; font-weight:700; line-height:1.45; color:#fdfaf2; margin:0 0 6px; word-break:keep-all; }
.pgz-catbn .c-b{ font-size:14px; line-height:1.6; color:rgba(253,250,242,.72); margin:0 0 13px; word-break:keep-all; }
.pgz-catbn .c-btns{ display:flex; flex-wrap:wrap; gap:8px; }
.pgz-catbn .c-btn{
  display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 18px;
  font-size:14.5px; font-weight:700; line-height:1.3; border-radius:999px; text-decoration:none; white-space:nowrap;
}
.pgz-catbn .c-btn.main{ color:var(--gz-night); background:var(--gz-gold-pale); }
.pgz-catbn .c-btn.main:hover{ background:#f2e5c2; }
.pgz-catbn .c-btn.line{ color:var(--gz-gold-pale); border:1.5px solid rgba(201,162,75,.55); }
.pgz-catbn .c-btn.line:hover{ border-color:var(--gz-gold); }
@media (max-width:520px){
  .pgz-catbn{ gap:14px; padding:16px 14px; align-items:flex-start; }
  .pgz-catbn .cover img{ width:74px; height:102px; }
  .pgz-catbn .c-h{ font-size:16.5px; }
}

/* 품목 코너 → 카탈로그 해당 편 링크 행 (그리드 아래 한 줄) */
.pgz-catrow{
  display:flex; align-items:center; gap:14px; margin:18px 0 0; padding:10px 14px; min-height:56px;
  background:var(--gz-card); border:1px solid var(--gz-gold-line); border-radius:12px; text-decoration:none;
}
.pgz-catrow:hover{ border-color:rgba(201,162,75,.6); }
.pgz-catrow .th{ flex:0 0 auto; display:flex; }
.pgz-catrow .th img{
  display:block; width:34px; height:48px; object-fit:cover; border-radius:4px;
  border:1px solid var(--gz-gold-line); background:#fff; box-shadow:-3px 0 6px rgba(35,42,35,.14);
}
.pgz-catrow .th img+img{ margin-left:-12px; }
.pgz-catrow .t{ flex:1 1 auto; min-width:0; font-size:14px; line-height:1.5; color:var(--gz-muted); word-break:keep-all; }
.pgz-catrow .t b{ color:var(--gz-green-d); font-weight:800; }
.pgz-catrow .go{ flex:0 0 auto; font-size:13.5px; font-weight:700; color:var(--gz-gold-deep); white-space:nowrap; }
.pgz-catrow .go::after{ content:" \203A"; }

/* v2.5.2 피날레 배경(91 전용): 카탈로그 건강식품 편(p34) 홍삼·꿀 컷 + 먹남색 오버레이.
 * 클래스는 JSP(pgzCat91)가 91일 때만 부여 — 타 플랜 피날레는 기존 단색 유지. */
.pgz-final.cat91{ background:var(--gz-night); }   /* v3.0.0: 배경 사진(p34_bg.jpg) 참조 제거 */
.pgz-final.cat91::after{
  content:""; position:absolute; inset:0; z-index:0;
  background:linear-gradient(180deg, rgba(23,31,46,.9) 0%, rgba(23,31,46,.72) 46%, rgba(23,31,46,.92) 100%);
}

/* ============================================================
 * v2.6.0(2026-08-25) 91 전용 히어로 리컴포즈 — "살아있는 달 + 신고배 정물"
 *  · 배경 사진(chuseok_bg_hero_pc/mo.jpg)에 구워져 있던 서양배(호리병형) 정물을 걷어내고,
 *    둥근 황갈색 신고배 SVG 정물(.pgz-pears, JSP 인라인)로 교체 — 화면 톤(먹남색·딥그린·금색) 준수.
 *  · 달 = 기존 모바일 히어로 원본에서 파생한 크롭(images/comm/chuseok_moon91.jpg, 640² 48KB)을
 *    별도 레이어(.pgz-moonw)로 승격: 최초 1회 떠오름(pgzMoonRise 2.4s) + 은은한 글로우 펄스
 *    (pgzMoonGlow 6.5s alternate 무한). transform/opacity만 사용(합성 레이어, 리플로 없음).
 *  · prefers-reduced-motion: reduce = 애니메이션 전부 정지(정적 노출).
 *  · 클래스 .cat91 은 JSP(pgzCat91)가 91일 때만 부여 — 타 플랜 히어로는 기존 사진 그대로.
 * ============================================================ */
.pgz-hero.cat91{
  background:
    radial-gradient(1.3px 1.3px at 8% 22%, rgba(255,246,220,.55), transparent),
    radial-gradient(1px 1px at 22% 9%, rgba(255,246,220,.4), transparent),
    radial-gradient(1.6px 1.6px at 34% 28%, rgba(255,246,220,.35), transparent),
    radial-gradient(1px 1px at 47% 12%, rgba(255,246,220,.45), transparent),
    radial-gradient(1.4px 1.4px at 58% 24%, rgba(255,246,220,.38), transparent),
    radial-gradient(1px 1px at 66% 7%, rgba(255,246,220,.5), transparent),
    radial-gradient(1.5px 1.5px at 76% 18%, rgba(255,246,220,.42), transparent),
    radial-gradient(1px 1px at 84% 33%, rgba(255,246,220,.5), transparent),
    radial-gradient(1.2px 1.2px at 92% 10%, rgba(255,246,220,.45), transparent),
    radial-gradient(1px 1px at 15% 45%, rgba(255,246,220,.3), transparent),
    linear-gradient(180deg, #101827 0%, #182337 42%, #1d2a42 68%, #171f2e 100%);
  background-color:#171f2e;
}
/* 스크림: 달·정물 레이어(z0) 위(z1)에서 하부를 먹남색으로 눌러 본문 전환·가독 확보 */
.pgz-hero.cat91::before{
  z-index:1;
  background:linear-gradient(180deg, rgba(23,31,46,0) 0%, rgba(23,31,46,0) 56%, rgba(23,31,46,.5) 100%);
}
.pgz-hsky{ position:absolute; inset:0; z-index:0; pointer-events:none; }
.pgz-moonw{
  position:absolute; top:8vw; left:calc(50% - min(39vw, 180px)); width:min(78vw, 360px);
  animation:pgzMoonRise 2.4s cubic-bezier(.22,.7,.35,1) both;
}
.pgz-moonw::after{
  content:""; position:absolute; inset:-16%; border-radius:50%; mix-blend-mode:screen;
  background:radial-gradient(circle, rgba(255,229,168,.3) 0%, rgba(255,229,168,.1) 46%, rgba(255,229,168,0) 70%);
  animation:pgzMoonGlow 6.5s ease-in-out infinite alternate;
}
.pgz-moon{
  display:block; width:100%; height:auto; border-radius:50%; mix-blend-mode:screen;
  -webkit-mask-image:radial-gradient(circle, #000 56%, rgba(0,0,0,.45) 72%, transparent 92%);
  mask-image:radial-gradient(circle, #000 56%, rgba(0,0,0,.45) 72%, transparent 92%);
}
.pgz-pears{ position:absolute; right:10px; bottom:66px; width:150px; height:auto; opacity:.92; }
@keyframes pgzMoonRise{ from{ opacity:0; transform:translateY(30px); } to{ opacity:1; transform:translateY(0); } }
@keyframes pgzMoonGlow{ from{ opacity:.5; transform:scale(.96); } to{ opacity:1; transform:scale(1.06); } }
@media (min-width:768px){
  .pgz-hero.cat91::before{
    background:
      radial-gradient(ellipse 60% 64% at 50% 46%, rgba(16,24,39,.5) 0%, rgba(16,24,39,.2) 58%, rgba(16,24,39,0) 80%),
      linear-gradient(180deg, rgba(23,31,46,0) 58%, rgba(23,31,46,.45) 100%);
  }
  .pgz-moonw{ top:48px; left:clamp(14px, 9vw, 240px); width:clamp(230px, 25vw, 330px); }
  .pgz-pears{ right:4vw; bottom:100px; width:260px; }
}
@media (min-width:1025px){
  .pgz-moonw{ top:56px; }
  .pgz-pears{ right:6vw; bottom:116px; width:300px; }
}
@media (prefers-reduced-motion: reduce){
  .pgz-moonw{ animation:none; }
  .pgz-moonw::after{ animation:none; opacity:.75; transform:none; }
}

/* ============================================================
 * v2.6.1(2026-08-25) 사용성 P1
 *  ⑲ "모두보기" 코너 접기 — JSP 가 .pgz-fold.folded 를 부여, 그리드·카탈로그 행 숨김.
 *     [전체 N종 펼쳐보기](.pgz-foldbtn)로 온디맨드 해제(이미지 = data-src 지연, JS gzFoldOpen).
 *  ⑳ pgz 화면 한정 플로팅 위젯 숨김 — JS 부팅이 body.pgz-page 부여.
 *     미션 도장 위젯(#msnWidget)·하단 플로팅 뒤로가기(.bottom_menu_wrap .btn_back)가
 *     카드 [담기] 버튼을 덮던 문제. 타 화면(클래스 없음) 무영향.
 * ============================================================ */
.pgz-sec.folded .pgz-grid,
.pgz-sec.folded .pgz-catrow{ display:none; }
.pgz-foldbtn{
  display:none; width:100%; min-height:52px; margin:2px 0 8px; padding:12px 16px;
  font-family:inherit; font-size:16px; font-weight:800; line-height:1.3; color:var(--gz-green-d);
  background:var(--gz-card); border:1.5px solid var(--gz-green); border-radius:12px; cursor:pointer;
  word-break:keep-all;
}
.pgz-foldbtn::after{ content:" \25BE"; font-weight:800; }
.pgz-foldbtn:active{ color:#fff; background:var(--gz-green); }
.pgz-sec.folded .pgz-foldbtn{ display:block; }
@media (min-width:768px){
  .pgz-foldbtn{ width:auto; min-width:340px; margin:2px auto 8px; display:none; }
  .pgz-sec.folded .pgz-foldbtn{ display:block; }
}
body.pgz-page #msnWidget{ display:none !important; }
body.pgz-page .bottom_menu_wrap .btn_back{ display:none !important; }

/* ============================================================
 * v2.6.2(2026-08-25) 사용성 P2
 *  ㉔ P2-4 "딱 3개" 추천 결과 — 모바일(520px 이하)은 가로 레일 대신 세로 스택:
 *     390px에서도 3장이 한 화면(시트 86vh)에 다 보인다. PC(521px~)는 기존 가로 배열 유지.
 *  ㉕ P2-6 품목 칩 내비(모바일) — 1줄 가로 스크롤 → 2행 가로 스크롤 그리드:
 *     같은 스크롤 UX에 노출 밀도 2배, 끝에 있던 탄소중립 토글이 절반 거리에서 보인다.
 * ============================================================ */
@media (max-width:520px){
  .pgz-p3sheet .res .cards{ flex-direction:column; overflow-x:visible; gap:8px; }
  .pgz-p3sheet .res .cards .pgz-simcard{ width:100%; flex-direction:row; align-items:center; }
  .pgz-p3sheet .res .cards .pgz-simcard img{ width:84px; height:84px; flex:0 0 auto; border-radius:10px; margin:8px 0 8px 8px; }
  .pgz-p3sheet .res .cards .pgz-simcard .sb{ padding:8px 10px; min-width:0; }
  .pgz-p3sheet .res .cards .pgz-simcard .sb .nm{ min-height:0; }
  .pgz-p3sheet .res .cards .pgz-simcard .s-add{ flex:0 0 auto; width:72px; margin:8px 10px 8px 0; }
}
.pgz-m .pgz-nav .in{
  display:grid; grid-auto-flow:column; grid-template-rows:auto auto; grid-auto-columns:max-content;
  align-items:center; justify-content:start; column-gap:8px; row-gap:8px;
}
.pgz-m .pgz-nav .nlbl{ grid-row:1 / span 2; }

/* ============================================================
 * v2.6.4(2026-08-25) 보관온도 배지 — 전사이트 표준(사용자 확정) 시각 규격
 *  냉동=파란 원형배지(#1d6fe0)+흰 눈꽃 / 냉장=하늘 원(#4aa3e8)+물방울 / 상온=웜그레이 원(#8a8577).
 *  라벨 14px·배지 18px 원 — 카드 metarow + 담기 시트(#pgzAddTemp), JS(tempLoad)가 주입.
 *  클래스 = pgz 스코프(.pgz .temp) — 전사 temp_mark 규격과 이름 미충돌.
 * ============================================================ */
.pgz .temp{
  display:inline-flex; align-items:center; gap:4px; font-size:14px; font-weight:800;
  line-height:1; white-space:nowrap; padding:0; border:0; background:none;
}
.pgz .temp .ti{ display:inline-grid; place-items:center; width:18px; height:18px; border-radius:50%; color:#fff; flex:0 0 auto; }
.pgz .temp .ti svg{ display:block; }
.pgz .temp.t-frz{ color:#1d6fe0; }
.pgz .temp.t-frz .ti{ background:#1d6fe0; }
.pgz .temp.t-cld{ color:#4aa3e8; }
.pgz .temp.t-cld .ti{ background:#4aa3e8; }
.pgz .temp.t-rm{ color:#8a8577; }
.pgz .temp.t-rm .ti{ background:#8a8577; }
.pgz-addsheet .gi .tp{ margin:6px 0 0; }
.pgz-addsheet .gi .tp[hidden]{ display:none; }

/* ============================================================
 * v2.7.0 (2026-08-25) 담기 일원화 + 별 게이트 OFF + 문자 발송 + 카드 높이 통일 + 선물 찾기 바
 * ============================================================ */
/* ── ㉚ 별(골라두기) 노출 게이트 OFF — 복원 = JS STAR_OFF=false (마크업·데이터·모아보기 코드 유지) ── */
.pgz-nostar .pgz-star{ display:none; }
.pgz-nostar .pgz-pickbar, .pgz-nostar #pgzPickBar, .pgz-nostar #pgzWb{ display:none !important; }

/* ── ㉙ 카드 높이 통일: 카드 = 세로 flex, 상품명 2줄 고정(기존), 가격 하단 정렬, 담기 버튼 바닥 ── */
.pgz-card{ display:flex; flex-direction:column; }
.pgz-card > a{ display:flex; flex-direction:column; flex:1 1 auto; }
.pgz-card .pinfo{ display:flex; flex-direction:column; flex:1 1 auto; }
.pgz-card .pinfo .price{ margin-top:auto; padding-top:4px; }
.pgz-addbtn{ flex:0 0 auto; }

/* ── ㉙ 담기 일원화: 받는 분 선택 시 "OO님께 담기" = 진초록 채움(상태가 눈에 보이게) ── */
.pgz-addbtn.towho{ color:#fff; background:#3d6041; border-color:#3d6041; }
.pgz-addbtn.towho:active{ background:#2e4a33; }

/* ── ㉛ 물어보기 레이어: 전화번호 문자 발송 행 ── */
.pgz-asklayer .phrow{ margin-top:14px; padding-top:14px; border-top:1px dashed #d8d2c2; }
.pgz-asklayer .phrow .pl{ font-size:14.5px; font-weight:800; color:#2e4a33; word-break:keep-all; }
.pgz-asklayer .phrow .pr2{ display:flex; gap:8px; margin-top:9px; }
.pgz-asklayer .phrow input{
  flex:1 1 auto; min-width:0; min-height:48px; padding:10px 12px; font-size:16px;
  color:#232a23; background:#fff; border:1.5px solid #d8d2c2; border-radius:10px;
}
.pgz-asklayer .phrow .sd{
  flex:0 0 auto; min-height:48px; padding:0 16px; font-size:15px; font-weight:800;
  color:#fff; background:#3d6041; border:0; border-radius:10px; cursor:pointer; word-break:keep-all;
}
.pgz-asklayer .phrow .sd:active{ background:#2e4a33; }
.pgz-asklayer .phrow .sd[disabled]{ opacity:.75; cursor:default; }
.pgz-asklayer .phrow .pn{ margin-top:8px; font-size:12.5px; line-height:1.55; color:#7c8078; word-break:keep-all; }

/* ── ㉜ 받는분 바 [받는 분께 고르게 하기] ── */
.pgz-whobar .p2{
  flex:0 0 auto; min-height:40px; padding:6px 14px; font-size:14px; font-weight:800;
  color:#8a5a19; background:#fbf3df; border:1.5px solid #c9a24b; border-radius:999px; cursor:pointer; word-break:keep-all;
}
.pgz-whobar .p2:active{ background:#f3e6c6; }

/* ── ㉜ "OO님이 골랐어요" 결과 배너 ── */
.pgz-pickedbar{
  display:flex; align-items:center; gap:12px; margin:16px 0 0; padding:13px 15px;
  background:#eef4ea; border:1px solid rgba(61,96,65,.35); border-radius:12px;
  font-size:14.5px; line-height:1.5; color:#2e4a33; word-break:keep-all;
}
.pgz-pickedbar .tx{ flex:1 1 auto; min-width:0; }
.pgz-pickedbar .tx b{ color:#1d4d34; }
.pgz-pickedbar .add{
  flex:0 0 auto; min-height:44px; padding:0 16px; font-size:14.5px; font-weight:800;
  color:#fff; background:#3d6041; border:0; border-radius:10px; cursor:pointer; white-space:nowrap;
}
.pgz-pickedbar .add:active{ background:#2e4a33; }

/* ── ㉜ 통합 "선물 찾기" 바 (LAB_ON) — 기존 예산·받는분·이름 줄과 내비 탄소칩은 흡수·숨김 ── */
.pgz-lab .pgz-pickzone .pgz-selrow{ display:none; }
.pgz-lab .pgz-carbchip{ display:none !important; }
.pgz-fbar{ margin:4px 0 6px; }
.pgz-fbar .fb-top{ padding:8px 0 6px; }
/* 스티키 진입점 = 품목 내비의 [검색·조건] 바로가기(내비 자체가 페이지 전체 스티키) */
.pgz-navfind{
  flex:0 0 auto; min-height:40px; padding:7px 13px; margin-right:2px; font-size:14px; font-weight:800;
  color:#fff; background:#3d6041; border:1.5px solid #3d6041; border-radius:999px; cursor:pointer; white-space:nowrap;
}
.pgz-navfind:active{ background:#2e4a33; }
.pgz-fbar .fb-srch{ display:flex; gap:8px; align-items:center; }
.pgz-fbar .fb-srch input{
  flex:1 1 auto; min-width:0; min-height:50px; padding:12px 16px; font-size:16px;
  color:#232a23; background:#fffdf8; border:1.5px solid #c9a24b; border-radius:12px;
}
.pgz-fbar .fb-srch input::placeholder{ color:#a09a8a; }
.pgz-fbar .fb-x{
  flex:0 0 auto; min-height:44px; padding:0 14px; font-size:14px; font-weight:800;
  color:#8a5a19; background:#fbf3df; border:1.5px solid #c9a24b; border-radius:10px; cursor:pointer; white-space:nowrap;
}
.pgz-fbar .fb-x[hidden]{ display:none; }
.pgz-fbar .fb-cnt{ margin:7px 2px 0; font-size:14px; font-weight:600; color:#5c6258; word-break:keep-all; }
.pgz-fbar .fb-cnt b{ color:#1d4d34; font-weight:800; }
.pgz-fbar .fb-cnt[hidden]{ display:none; }
.pgz-fbar .fb-row{ display:flex; align-items:flex-start; gap:10px; margin-top:12px; }
.pgz-fbar .fb-row .lb{ flex:0 0 auto; min-width:86px; padding-top:11px; font-size:14px; font-weight:800; color:#5c6258; }
.pgz-fbar .chips{ display:flex; flex-wrap:wrap; gap:8px; min-width:0; }
.pgz-fbar .fc{
  min-height:44px; padding:9px 15px; font-size:14.5px; font-weight:700; word-break:keep-all;
  color:#3d4a3e; background:#fffdf8; border:1.5px solid #d8d2c2; border-radius:999px; cursor:pointer;
}
.pgz-fbar .fc.on{ color:#fff; background:#3d6041; border-color:#3d6041; }
.pgz-fbar .fb-cats{ max-height:none; } /* [2026-08-26 CEO검수 P1] 모바일에서 품목 칩 2개(꿀·기름/한과) 잘림(내용 148px>110px) — 상한 해제, 칩 전부 노출 */
.pgz-fbar .fb-more{
  display:block; margin-top:14px; min-height:44px; padding:0 4px; font-size:14px; font-weight:800;
  color:#7c8078; background:none; border:0; cursor:pointer; text-decoration:underline; text-underline-offset:3px;
}
.pgz-fbar .fb-more.open{ color:#2e4a33; }
.pgz-fbar .fb-ext{ padding:2px 0 6px; }
.pgz-fbar .fb-ext[hidden]{ display:none; }
@media (max-width:640px){
  .pgz-fbar .fb-row{ flex-direction:column; gap:7px; }
  .pgz-fbar .fb-row .lb{ padding-top:0; min-width:0; }
}

/* ============================================================
 * v2.7.1 (2026-08-25) 91 전면 재구성 — 품목 사진 타일 + 전면 무드 배경 + 받는분존 차별화
 *  · 한살림 레퍼런스 실측(전면 질감 배경 + 밝은 콘텐츠 카드) 채택: 상단 존(팁~받는분)을
 *    먹남색 밤하늘 연속으로 잇고, 고르기 존부터 한지 크림으로 자연스럽게 전환.
 *  · CSS 그라데이션만 사용(대형 이미지 0), reduced-motion 무관(정적), 본문 텍스트는 밝은 카드 위(AA).
 * ============================================================ */
/* ── 전면 배경 존(91): 히어로(먹남색) → 팁·타일·브랜드·받는분(밤하늘 연속) → 이후 한지 ── */
.pgz-91 .pgz-tip{ background:linear-gradient(180deg,#171f2e 0,#1a2334 100%); padding-top:26px; padding-bottom:26px; }
.pgz-91 .pgz-cattiles{ background:#1a2334; }
.pgz-91 .pgz-why{ background:linear-gradient(180deg,#1a2334 0,#1d2738 100%); }
.pgz-91 .pgz-why .pgz-inner{
  background:var(--gz-card); border:1px solid var(--gz-gold-line); border-radius:20px;
  padding:44px 24px 40px; box-shadow:0 16px 44px rgba(8,13,24,.35);
}
.pgz-91 .pgz-ready{ background:linear-gradient(180deg,#1d2738 0,#171f2e 100%); }
.pgz-91 .pgz-hearts{
  background:linear-gradient(180deg,#171f2e 0,#1f2a3d 62%,#8a8066 88%,var(--gz-cream) 100%);
  padding-bottom:64px;
}
/* ── 받는분존 차별화: 배경 위에 떠 있는 금빛 라인 전용 카드 ── */
.pgz-91 .pgz-hearts .pgz-inner{
  background:linear-gradient(180deg,#212c40 0,#1c2536 100%);
  border:1.5px solid rgba(201,162,75,.55); border-radius:22px;
  padding:34px 20px 30px; box-shadow:0 18px 50px rgba(8,13,24,.45);
}
.pgz-91 .pgz-hearts .h-eb{ color:var(--gz-gold); letter-spacing:.22em; text-indent:.22em; }

/* ── 품목 사진 타일 내비(.pgz-cattiles) — 차례상 연상순 7타일, 시니어 라벨 15px+ ── */
.pgz-cattiles{ padding:34px 0 38px; }
.pgz-cattiles .ct-eb{ font-size:13px; font-weight:700; letter-spacing:.26em; text-indent:.26em; color:var(--gz-gold-pale); text-align:center; margin:0 0 10px; }
.pgz-cattiles .ct-h{ font-family:var(--gz-serif); font-size:22px; font-weight:700; color:#fdfaf2; text-align:center; margin:0 0 22px; word-break:keep-all; }
.pgz-cattiles .ct-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px 10px; }
.pgz-cattiles .ct-tile{
  display:flex; flex-direction:column; align-items:center; gap:9px; padding:14px 8px 13px;
  background:var(--gz-card); border:1px solid var(--gz-gold-line); border-radius:14px; cursor:pointer;
}
.pgz-cattiles .ct-tile:active{ background:#f3ecdc; }
.pgz-cattiles .ct-tile .im{
  display:block; width:84px; height:84px; border-radius:50%; overflow:hidden;
  background:#efe7d5; border:2px solid rgba(201,162,75,.45);
}
.pgz-cattiles .ct-tile .im img{ width:100%; height:100%; object-fit:cover; display:block; }
.pgz-cattiles .ct-tile .lb{ font-size:15px; font-weight:800; line-height:1.3; color:var(--gz-ink); text-align:center; word-break:keep-all; }
.pgz-cattiles .ct-tile .ct-cnt{ font-size:12.5px; font-weight:700; color:var(--gz-muted); }
@media (min-width:641px){
  .pgz-cattiles .ct-grid{ grid-template-columns:repeat(4,1fr); }
}
@media (min-width:1025px){
  .pgz-cattiles .ct-grid{ grid-template-columns:repeat(7,1fr); gap:14px 12px; }
  .pgz-cattiles .ct-tile .im{ width:92px; height:92px; }
  .pgz-cattiles .ct-h{ font-size:24px; }
}

/* ── 받는분 스티키 미니 표시(#pgzWhoPill) — 선택 상태가 화면 어디서든 보이게 ── */
.pgz-whopill{
  position:fixed; left:50%; transform:translateX(-50%); bottom:calc(16px + env(safe-area-inset-bottom, 0px));
  z-index:9600; display:none; min-height:44px; padding:10px 18px; border-radius:999px;
  font-size:14px; font-weight:700; color:#fdfaf2; background:rgba(23,31,46,.94);
  border:1.5px solid rgba(201,162,75,.6); box-shadow:0 8px 24px rgba(8,13,24,.4); cursor:pointer;
  word-break:keep-all;
}
.pgz-whopill.show{ display:block; }
.pgz-whopill b{ color:var(--gz-gold-pale); font-weight:800; }
.pgz-m .pgz-whopill{ bottom:calc(74px + env(safe-area-inset-bottom, 0px)); } /* 모바일 하단바 위 */

/* ============================================================
 * v2.7.3 (2026-08-25) — 받는 날짜 추천 · 해제 직관화 · 받는분 썸네일 · 주소록 · 넛지
 *  짝 JS = js/comm/plan_gift_v2.js v2.7.3 / 투어는 별도 파일(css/comm/gift_tour.css)
 * ============================================================ */

/* -- 34 받는 날짜 칩: 여유(추천) / 몰려요(혼잡) + 안내 문구 3종 -- */
.pgz-addsheet .dtnote{
  margin:0 0 9px; font-size:14px; line-height:1.5; font-weight:700; color:#2c4a31;
  background:#eef3ec; border-radius:8px; padding:8px 11px; word-break:keep-all;
}
.pgz-addsheet .dtsame,
.pgz-addsheet .dtwarn{ margin:9px 0 0; font-size:14px; line-height:1.5; font-weight:700; word-break:keep-all; }
.pgz-addsheet .dtsame{ color:#2c4a31; }
.pgz-addsheet .dtwarn{ color:#9a5b1f; }
.pgz-addsheet .dtsame[hidden], .pgz-addsheet .dtwarn[hidden]{ display:none; }
.pgz-addsheet .dts{ padding-top:10px; }
.pgz-addsheet .dts .dt{ position:relative; }
.pgz-addsheet .dts .dt .tg{
  position:absolute; top:-9px; left:50%; transform:translateX(-50%);
  display:inline-flex; align-items:center; gap:3px; white-space:nowrap;
  padding:1px 7px; border-radius:999px; font-size:12.5px; font-weight:800; line-height:1.6;
}
.pgz-addsheet .dts .dt .tg-r{ background:#3d6041; color:#fff; }
.pgz-addsheet .dts .dt .tg-r::before{ content:""; width:6px; height:6px; border-radius:50%; background:#9ede9f; }
.pgz-addsheet .dts .dt .tg-b{ background:#e6ded0; color:#7a5a2a; }
.pgz-addsheet .dts .dt.reco{ border-color:#3d6041; }
.pgz-addsheet .dts .dt.busy{ border-color:#ded4c1; }
.pgz-addsheet .dts .dt.busy .w{ color:#6b6f66; }

/* -- 36 담기 시트 이름줄 [다른 분께(해제)] -- */
.pgz-addsheet .who .woff{
  margin-left:8px; min-height:34px; padding:0 10px; border:1px solid #d7d2c4; border-radius:8px;
  background:#fff; font-family:inherit; font-size:13.5px; font-weight:700; color:#6b6f66; cursor:pointer;
  vertical-align:middle;
}
.pgz-addsheet .who .woff:active{ background:#f2efe6; }

/* -- 36 받는분 바 [받는 분 바꾸기] / [해제] / [받는 분께 물어보기] -- */
.pgz-whobar .chg,
.pgz-whobar .ak{
  min-height:44px; padding:0 14px; border:1.5px solid var(--gz-green-d); border-radius:10px;
  background:#fff; font-family:inherit; font-size:14.5px; font-weight:800; color:var(--gz-green-d); cursor:pointer;
}
/* 안내 문장은 한 줄 통째로 — 버튼 4개(고르게하기·물어보기·바꾸기·해제)가 아랫줄에 나란히 모이게 */
.pgz-whobar #pgzWhoBarTxt{ flex:1 1 100%; }
.pgz-whobar .chg:active, .pgz-whobar .ak:active{ background:#eef3ec; }
.pgz-whobar .off{
  margin-left:0; min-height:44px; padding:0 12px; border:1px solid #d7d2c4; border-radius:10px;
  background:#fff; text-decoration:none; font-size:14px; color:#6b6f66;
}
.pgz-whobar .off:active{ background:#f2efe6; }

/* -- 37 받는분 카드 담아둔 선물 썸네일 스택(어두운 배경 층) -- */
.pgz-heart .hthumb{ display:flex; align-items:center; gap:9px; margin-top:8px; cursor:pointer; }
.pgz-heart .hthumb .st{ display:inline-flex; flex:0 0 auto; }
.pgz-heart .hthumb .st img,
.pgz-heart .hthumb .st .ini2{
  width:34px; height:34px; border-radius:8px; object-fit:cover;
  border:1.5px solid rgba(253,250,242,.72); background:#2a3240;
  margin-left:-9px; box-shadow:0 2px 6px rgba(8,13,24,.35);
}
.pgz-heart .hthumb .st img:first-child,
.pgz-heart .hthumb .st .ini2:first-child{ margin-left:0; }
.pgz-heart .hthumb .st .ini2{
  display:inline-grid; place-items:center; font-family:var(--gz-serif);
  font-size:14px; font-weight:700; color:var(--gz-gold-pale);
}
.pgz-heart .hthumb .tx{ font-size:13px; font-weight:700; color:var(--gz-gold-pale); word-break:keep-all; }
.pgz-heart .hthumb.empty{ cursor:default; }
.pgz-heart .hthumb.empty .ph{
  width:34px; height:34px; border-radius:8px; margin-left:-9px;
  border:1.5px dashed rgba(253,250,242,.32); background:transparent;
}
.pgz-heart .hthumb.empty .ph:first-child{ margin-left:0; }
.pgz-heart .hthumb.empty .tx{ color:rgba(253,250,242,.5); font-weight:600; }

/* -- 37 스티키 미니 표시 재구성: 썸네일 1장 + 해제 버튼 -- */
.pgz-whopill{ display:none; padding:0; cursor:default; }
.pgz-whopill.show{ display:flex; align-items:center; gap:2px; }
.pgz-whopill .wp-go{
  display:flex; align-items:center; gap:9px; min-height:44px; padding:6px 6px 6px 14px;
  border:0; background:none; font-family:inherit; font-size:14px; font-weight:700;
  color:#fdfaf2; cursor:pointer; text-align:left; word-break:keep-all;
}
.pgz-whopill .wp-im{ flex:0 0 auto; width:30px; height:30px; border-radius:7px; object-fit:cover; border:1px solid rgba(201,162,75,.6); }
/* 미니 표시는 한 줄 유지 — 여러 줄로 부풀면 하단 버튼 행(따라해보기·설명서)을 덮는다(08-25 신데브 실측) */
.pgz-whopill .wp-tx{ display:block; max-width:56vw; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
@media (min-width:1025px){ .pgz-whopill .wp-tx{ max-width:none; } }
.pgz-whopill .wp-x{
  flex:0 0 auto; width:44px; height:44px; border:0; background:none;
  color:rgba(253,250,242,.72); font-size:16px; cursor:pointer; border-radius:999px;
}
.pgz-whopill .wp-x:active{ background:rgba(253,250,242,.14); }

/* -- 39 능동 넛지 배너 -- */
.pgz-nudge{
  position:relative; display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  background:#fdf6e6; border:1px solid var(--gz-gold-line); border-radius:12px;
  padding:12px 46px 12px 14px; margin:16px 0 0; font-size:15px; line-height:1.55; color:var(--gz-ink);
}
.pgz-nudge .tx{ flex:1 1 210px; word-break:keep-all; }
.pgz-nudge .tx b{ color:var(--gz-green-d); font-weight:800; }
.pgz-nudge .go{
  flex:0 0 auto; min-height:44px; padding:0 16px; border:0; border-radius:10px;
  background:var(--gz-green-d); color:#fff; font-family:inherit; font-size:15px; font-weight:800; cursor:pointer;
}
.pgz-nudge .go:active{ background:#2e4a33; }
.pgz-nudge .x{ /* 닫기는 오른쪽 위 고정 — 모바일에서 혼자 아랫줄로 떨어지던 것 교정 */
  position:absolute; top:2px; right:2px; width:44px; height:44px; border:0; background:none;
  color:var(--gz-muted); font-size:15px; cursor:pointer;
}

/* -- 38 주소록에서 고르기 레이어 -- */
.pgz-hearts .h-addrow{ flex-wrap:wrap; } /* 주소록 버튼 추가로 3칸 — 모바일은 아래 줄로 */
.pgz-hearts .h-addrow .ab{
  flex:1 1 100%; min-height:48px; padding:0 16px; border:1.5px solid rgba(201,162,75,.55); border-radius:12px;
  background:transparent; font-family:inherit; font-size:15px; font-weight:800; color:var(--gz-gold-pale); cursor:pointer;
}
.pgz-hearts .h-addrow .ab:active{ background:rgba(201,162,75,.16); }
.pgz-abdim{
  position:fixed; inset:0; z-index:99998; background:rgba(14,18,26,.55);
  opacity:0; visibility:hidden; transition:opacity .2s ease, visibility .2s ease;
}
.pgz-abdim.show{ opacity:1; visibility:visible; }
.pgz-ablayer{
  position:fixed; z-index:99999; left:50%; top:50%; transform:translate(-50%, -46%);
  width:min(440px, calc(100vw - 28px)); max-height:82vh; overflow-y:auto;
  background:#fff; border:1px solid #e3dcc9; border-radius:16px;
  box-shadow:0 16px 44px rgba(14,18,26,.34); padding:22px 18px 18px;
  opacity:0; visibility:hidden; transition:opacity .2s ease, visibility .2s ease, transform .2s ease;
}
.pgz-ablayer.show{ opacity:1; visibility:visible; transform:translate(-50%, -50%); }
.pgz-ablayer .x{
  position:absolute; top:8px; right:8px; width:44px; height:44px;
  border:0; background:none; color:#7c8078; font-size:18px; cursor:pointer;
}
.pgz-ablayer .at{ margin:0 0 6px; font-size:18px; font-weight:800; color:var(--gz-ink); }
.pgz-ablayer .as{ margin:0 0 14px; font-size:14px; line-height:1.6; color:var(--gz-muted); word-break:keep-all; }
.pgz-ablayer .as b{ color:var(--gz-green-d); font-weight:800; }
.pgz-ablayer .lst{ display:flex; flex-direction:column; gap:8px; }
.pgz-ablayer .ld{ margin:0; padding:14px 2px; font-size:15px; line-height:1.6; color:var(--gz-muted); }
.pgz-ablayer .ab-it{
  display:flex; align-items:center; gap:11px; width:100%; min-height:56px; text-align:left;
  border:1px solid #e3dcc9; border-radius:12px; background:#fbf8f1; padding:9px 12px;
  font-family:inherit; cursor:pointer;
}
.pgz-ablayer .ab-it:active{ background:#f2ecdf; }
.pgz-ablayer .ab-it .ini{
  flex:0 0 40px; width:40px; height:40px; border-radius:50%; background:var(--gz-gold);
  color:#171f2e; display:grid; place-items:center; font-family:var(--gz-serif); font-size:17px; font-weight:700;
}
.pgz-ablayer .ab-it .bd{ flex:1 1 auto; min-width:0; }
.pgz-ablayer .ab-it .nm{ display:block; font-size:16px; font-weight:800; color:var(--gz-ink); }
.pgz-ablayer .ab-it .rg{ display:block; font-size:13.5px; color:var(--gz-muted); margin-top:2px; }

/* -- 35 지난 추석 인기 레일 카드의 [담기] -- */
.pgz-bestcard{ position:relative; display:flex; flex-direction:column; }
.pgz-bestcard .bi{ flex:1 1 auto; }
.pgz-bestcard .pgz-addbtn{ width:calc(100% - 22px); margin:0 11px 11px; }

/* -- 안내 블록 [자세한 이용 방법 보기] / [따라해보기] 행 -- */
.pgz-tip .t-more{ display:flex; flex-wrap:wrap; gap:9px; margin-top:12px; }
.pgz-hearts .h-tourrow{ display:flex; flex-wrap:wrap; justify-content:center; gap:9px; margin-top:16px; }
.pgz-hearts .h-tourrow .gtz-entry{ background:transparent; border-color:rgba(201,162,75,.6); color:var(--gz-gold-pale); }
.pgz-hearts .h-tourrow .gtz-entry:active{ background:rgba(201,162,75,.16); }

@media (min-width:768px){
  .pgz-heart .hthumb .st img,
  .pgz-heart .hthumb .st .ini2,
  .pgz-heart .hthumb.empty .ph{ width:38px; height:38px; }
}
@media (prefers-reduced-motion: reduce){
  .pgz-abdim, .pgz-ablayer{ transition:none; }
}

/* ============================================================
 * v2.7.5 ㊸ 담김 카드 표시 — 받는 분 선택 상태에서 그분께 담긴 카드 한정
 *  · "✓ OO님께 담김" 한 줄 + [여쭤보기](단일 관문 진입) — 14px+·터치 44px
 * ============================================================ */
.pgz-inbag{
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  margin:0 10px 12px; padding:6px 10px;
  background:#eef3ea; border:1px solid rgba(61,96,65,.28); border-radius:10px;
}
.pgz-inbag .tk{ flex:1 1 auto; min-width:0; font-size:14px; font-weight:800; color:#2e4a33; word-break:keep-all; }
.pgz-inbag .cask{
  flex:0 0 auto; min-height:40px; padding:6px 13px; font-size:14px; font-weight:800;
  color:#8a5a19; background:#fbf3df; border:1.5px solid #c9a24b; border-radius:9px; cursor:pointer;
  word-break:keep-all;
}
.pgz-inbag .cask:active{ background:#f3e6c6; }
.pgz-inbag .cask[disabled]{ opacity:.6; }
.pgz-card.inbag .pgz-addbtn{ margin-bottom:8px; } /* 담김 줄과 이중 여백 방지 */
@media (min-width:1025px){
  .pgz-inbag{ margin:0 12px 14px; }
  .pgz-card.inbag .pgz-addbtn{ margin-bottom:8px; }
}

/* ============================================================
 * v2.7.6 ㊺ 첫 걸음 존(받는분존) 여쭤보기 진입 — 14px+·터치 44px·이모지 0
 *  · 받는분 카드 행(.pgz-hact)에 전폭 [여쭤보기 (N개)]/[주소 여쭤보기](.hask)
 *  · 수기·주소록 카드는 래퍼 승격(.pgz-hact-solo)으로 동일 노출
 *  · 존 하단 주 버튼(.pgz-zoneask .za) — 먹남색 존 위 금빛 채움(선택된 분 있을 때)
 * ============================================================ */
.pgz-hact{ flex-wrap:wrap; }
.pgz-hact .hask{
  flex:1 1 100%; min-height:44px; padding:8px 6px; font-size:14px; font-weight:800;
  color:#8a5a19; background:#fbf3df; border:1.5px solid #c9a24b; border-radius:10px;
  cursor:pointer; word-break:keep-all;
}
.pgz-hact .hask:active{ background:#f3e6c6; }
.pgz-hact .hask[disabled]{ opacity:.6; }
.pgz-hact.pgz-hact-solo{ margin-top:8px; }
.pgz-zoneask{ margin-top:14px; }
.pgz-zoneask .za{
  display:block; width:100%; min-height:48px; padding:10px 14px;
  font-size:16px; font-weight:800; color:#171f2e;
  background:var(--gz-gold, #c9a24b); border:0; border-radius:12px;
  cursor:pointer; word-break:keep-all;
}
.pgz-zoneask .za:active{ filter:brightness(.94); }
.pgz-zoneask .za[disabled]{ opacity:.6; }
@media (min-width:768px){
  .pgz-zoneask{ max-width:560px; margin-left:auto; margin-right:auto; }
}

/* ============================================================
 * v2.7.7 ㊻ 여쭤보기 자기설명 — 존 설명 한 줄 + 레이어 3걸음 흐름 (이모지 0)
 * ============================================================ */
.pgz-zoneask .zd{
  margin:8px 0 0; font-size:14px; line-height:1.55; text-align:center;
  color:var(--gz-gold-pale, #e9d9ae); word-break:keep-all;
}
.pgz-asklayer .steps{
  display:flex; align-items:center; flex-wrap:wrap; gap:6px; margin-top:10px;
}
.pgz-asklayer .steps .st{
  display:inline-flex; align-items:center; gap:6px; padding:6px 11px 6px 7px;
  font-size:14px; font-weight:700; color:#5c6258; background:#f4efe2;
  border:1px solid rgba(201,162,75,.28); border-radius:999px; word-break:keep-all;
}
.pgz-asklayer .steps .st i{
  font-style:normal; display:inline-grid; place-items:center; width:20px; height:20px;
  border-radius:50%; background:#3d6041; color:#fff; font-size:13px; font-weight:800;
}
.pgz-asklayer .steps .ar{ color:#c9c2ae; font-size:14px; }

/* ============================================================
 * v2.7.8 ㊼ 받는분존 기본 접기 — 컴팩트 안내 바 1개 + [펼치기]
 *  · 접힘 = 표시일 뿐(기능 게이트 아님). 전개 연출은 reduced-motion 에서 정지.
 *  · [접어두기](.hz-fold)는 받는 분 미선택 + 펼침 상태에서만(JS 토글).
 * ============================================================ */
.pgz-hzbar{
  display:none; width:100%; align-items:center; gap:12px; text-align:left;
  min-height:56px; padding:14px 16px; cursor:pointer; font-family:inherit;
  color:#fdfaf2; background:rgba(201,162,75,.10); border:0;
  border-top:1px solid rgba(201,162,75,.35); border-bottom:1px solid rgba(201,162,75,.35);
}
.pgz-hearts.hz-folded{ padding:0; }
.pgz-hearts.hz-folded .pgz-hzbar{ display:flex; }
.pgz-hearts.hz-folded > .pgz-inner{ display:none; }
.pgz-hzbar .tx{ flex:1 1 auto; min-width:0; font-size:15px; line-height:1.6; color:rgba(253,250,242,.9); word-break:keep-all; }
.pgz-hzbar .op{
  flex:0 0 auto; display:inline-grid; place-items:center; min-height:44px; padding:9px 18px;
  font-size:15px; font-weight:800; color:#171f2e; background:var(--gz-gold, #c9a24b); border-radius:12px;
  white-space:nowrap;
}
.pgz-hzbar:active .op{ filter:brightness(.94); }
.hz-fold{
  display:block; margin:16px auto 0; min-height:44px; padding:9px 18px;
  font-size:14px; font-weight:700; color:rgba(253,250,242,.62); font-family:inherit;
  background:none; border:1px solid rgba(253,250,242,.3); border-radius:999px; cursor:pointer;
  word-break:keep-all;
}
.hz-fold:active{ background:rgba(253,250,242,.08); }
@media (prefers-reduced-motion: no-preference){
  .pgz-hearts.hz-anim > .pgz-inner{ animation:hzReveal .5s ease; }
  @keyframes hzReveal{ from{ opacity:0; transform:translateY(-8px); } to{ opacity:1; transform:none; } }
}
@media (min-width:768px){
  .pgz-hzbar{ justify-content:center; }
  .pgz-hzbar .tx{ flex:0 1 auto; }
}

/* ============================================================
 * v2.7.8 ㊽ 선택 카드 액션 허브(.pgz-hub) — 선택한 받는 분 카드 바로 아래 액션 블록 하나
 *  · 진행 카드(.hb-prog: 상태 칩+보낸 시각+후보 썸네일+[보낸 문자 다시 보기] / .res 결과)
 *  · 주 행동(.hb-main: 금빛 [여쭤보기]+설명+[보낼 문자 미리보기] 접이식 .hb-pvbox)
 *  · 보조 2버튼(.hb-sub: 그대로 보내기 — 작년 구성 미리보기 .agpv / 다른 선물 고르기)
 *  · 시니어 규격: 버튼 44px+ · 설명 14px · 대비 4.5:1 · 이모지 0
 * ============================================================ */
/* ⚠ 그리드 셀(.h-cards > .pgz-heartwrap)의 기본 min-width:auto 때문에 허브 내용이 셀을 밀어
 * 모바일에서 가로 820px 로 터졌다(390 뷰포트). 래퍼·허브·내부 3행 모두 min-width:0 으로 고정. */
.pgz-heartwrap{ min-width:0; }
/* 선택된 분(허브 열린 셀)만 그리드 행 전체 — PC 2~3열에서 허브가 한 칸에 눌리지 않게 */
.pgz-hearts .h-cards > .pgz-heartwrap.hashub{ grid-column:1 / -1; }
.pgz-hub{
  display:flex; flex-direction:column; gap:10px; margin-top:8px; padding:14px 13px;
  min-width:0; max-width:100%;
  background:rgba(253,250,242,.06); border:1px solid rgba(201,162,75,.45); border-radius:14px;
}
.pgz-hub .hb-prog, .pgz-hub .hb-main, .pgz-hub .hb-sub{ min-width:0; }
.pgz-hub .hb-prog{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:11px 12px;
  background:rgba(201,162,75,.12); border:1px solid rgba(201,162,75,.4); border-radius:12px;
}
.pgz-hub .hb-prog.res{ background:rgba(61,96,65,.3); border-color:rgba(122,168,128,.55); }
.pgz-hub .hb-prog .chip{
  flex:0 0 auto; padding:4px 11px 5px; font-size:13.5px; font-weight:800; line-height:1.35;
  border-radius:999px; white-space:nowrap;
  color:var(--gz-gold-pale, #e9d9ae); background:rgba(201,162,75,.16); border:1px solid rgba(201,162,75,.55);
}
.pgz-hub .hb-prog .chip.ok{ color:#fff; background:var(--gz-green, #3d6041); border-color:var(--gz-green, #3d6041); }
.pgz-hub .hb-prog .when{ font-size:13.5px; color:rgba(253,250,242,.65); }
.pgz-hub .hb-prog .ths{ display:inline-flex; margin-left:auto; }
.pgz-hub .hb-prog .ths img{
  width:32px; height:32px; border-radius:8px; object-fit:cover;
  border:1.5px solid #1f2a3d; margin-left:-9px; background:#f3efe3;
}
.pgz-hub .hb-prog .ths img:first-child{ margin-left:0; }
.pgz-hub .hb-prog .tx{ flex:1 1 100%; margin:2px 0 0; font-size:14px; line-height:1.55; color:rgba(253,250,242,.88); word-break:keep-all; }
.pgz-hub .hb-prog .tx b{ color:var(--gz-gold-pale, #e9d9ae); }
.pgz-hub .hb-resadd{
  flex:1 1 100%; min-height:46px; padding:9px 12px; border:0; border-radius:11px;
  background:var(--gz-green, #3d6041); color:#fff; font-family:inherit; font-size:15px; font-weight:800;
  cursor:pointer; word-break:keep-all;
}
.pgz-hub .hb-resadd:active{ background:var(--gz-green-d, #2e4a33); }
.pgz-hub .hb-re{
  flex:1 1 100%; min-height:44px; padding:8px 12px; border:1px solid rgba(201,162,75,.55); border-radius:11px;
  background:none; color:var(--gz-gold-pale, #e9d9ae); font-family:inherit; font-size:14px; font-weight:700;
  cursor:pointer; word-break:keep-all;
}
.pgz-hub .hb-re:active{ background:rgba(201,162,75,.14); }
/* 52 v2.7.9 [장바구니에서 주문하기] — 담긴 게 실제로 있을 때만 렌더(JS 판정).
   여쭤보기(금빛)와 역할이 달라 브랜드 그린 솔리드로 구분. 라벨=행동, 캡션=몇 개인지. */
.pgz-hub .hb-order{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px;
  width:100%; min-height:52px; padding:11px 12px; cursor:pointer; font-family:inherit;
  color:#fff; background:var(--gz-green, #3d6041); border:1.5px solid rgba(253,250,242,.35);
  border-radius:12px; word-break:keep-all;
}
.pgz-hub .hb-order:active{ background:var(--gz-green-d, #2e4a33); }
.pgz-hub .hb-order .lb{ font-size:17px; font-weight:800; line-height:1.35; }
.pgz-hub .hb-order .cap{ font-size:14px; font-weight:600; line-height:1.35; color:rgba(255,255,255,.9); }
.pgz-hub .hb-main{ display:flex; flex-direction:column; gap:8px; }
.pgz-hub .hb-ask{
  min-height:50px; padding:11px 14px; border:0; border-radius:12px;
  background:var(--gz-gold, #c9a24b); color:#171f2e; font-family:inherit; font-size:16px; font-weight:800;
  cursor:pointer; word-break:keep-all;
}
.pgz-hub .hb-ask:active{ filter:brightness(.94); }
.pgz-hub .hb-ask[disabled]{ opacity:.6; }
.pgz-hub .hb-askd{ margin:0; font-size:14px; line-height:1.55; text-align:center; color:var(--gz-gold-pale, #e9d9ae); word-break:keep-all; }
.pgz-hub .hb-pv{
  align-self:center; min-height:44px; padding:8px 12px; background:none; border:0; cursor:pointer;
  font-family:inherit; font-size:14px; font-weight:700; color:rgba(253,250,242,.72);
  text-decoration:underline; text-underline-offset:3px; word-break:keep-all;
}
.pgz-hub .hb-pv.open, .pgz-hub .hb-pv:active{ color:#fdfaf2; }
.pgz-hub .hb-pvbox{ background:#fffdf8; border-radius:12px; padding:13px 13px 11px; }
.pgz-hub .hb-pvbox[hidden]{ display:none; }
.pgz-hub .hb-pvbox .pt{ margin:0 0 8px; font-size:14px; font-weight:800; color:var(--gz-green-d, #2e4a33); }
.pgz-hub .hb-pvbox .sms{
  padding:11px 12px; font-size:14px; line-height:1.6; color:#232a23;
  background:#eef3ea; border-radius:12px 12px 12px 4px; word-break:keep-all;
}
.pgz-hub .hb-pvbox .sms .me,
.pgz-hub .hb-pvbox .sms .lk{ font-weight:800; color:var(--gz-green-d, #2e4a33); }
.pgz-hub .hb-pvbox .gt{ margin:10px 0 6px; font-size:14px; line-height:1.5; color:var(--gz-muted, #5c6258); word-break:keep-all; }
.pgz-hub .hb-pvbox .gl{ display:flex; flex-direction:column; gap:6px; }
.pgz-hub .hb-pvbox .gi2{ display:flex; align-items:center; gap:9px; background:#f6f1e6; border-radius:10px; padding:6px 9px; }
.pgz-hub .hb-pvbox .gi2 img{ flex:0 0 auto; width:36px; height:36px; border-radius:8px; object-fit:cover; background:#f3efe3; }
.pgz-hub .hb-pvbox .gi2 .nm2{ min-width:0; font-size:14px; line-height:1.4; color:#232a23; word-break:keep-all; }
.pgz-hub .hb-pvbox .pn{ margin:9px 0 0; font-size:13px; line-height:1.55; color:#7c8078; word-break:keep-all; }
.pgz-hub .hb-sub{ display:flex; gap:8px; align-items:stretch; }
.pgz-hub .hb-sub button{
  flex:1 1 0; min-width:0; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:4px;
  min-height:44px; padding:11px 8px; border-radius:12px; cursor:pointer; font-family:inherit; word-break:keep-all;
}
.pgz-hub .hb-again{ color:#fff; background:var(--gz-green, #3d6041); border:1.5px solid var(--gz-green, #3d6041); }
.pgz-hub .hb-again:active{ background:var(--gz-green-d, #2e4a33); }
.pgz-hub .hb-choose{ color:#2e4a33; background:#fffdf8; border:1.5px solid rgba(61,96,65,.75); }
.pgz-hub .hb-choose:active{ background:#efe7d5; }
.pgz-hub .hb-sub .lb{ font-size:15px; font-weight:800; line-height:1.35; }
.pgz-hub .hb-sub .cap{ font-size:14px; font-weight:600; line-height:1.35; opacity:.88; }
.pgz-hub .hb-again .agpv{ display:flex; align-items:center; gap:6px; margin-top:2px; min-width:0; max-width:100%; }
.pgz-hub .hb-again .agpv img{
  flex:0 0 auto; width:26px; height:26px; border-radius:7px; object-fit:cover;
  border:1.5px solid rgba(255,255,255,.6); margin-left:-7px; background:#f3efe3;
}
.pgz-hub .hb-again .agpv img:first-child{ margin-left:0; }
.pgz-hub .hb-again .agpv .t{
  flex:0 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  font-size:13px; font-weight:700; color:rgba(255,255,255,.92);
}
/* 금액은 줄지 않는다 — 좁은 2열에서 이름만 말줄임되고 금액은 항상 끝까지 보이게 */
.pgz-hub .hb-again .agpv .amt{
  flex:0 0 auto; font-size:13px; font-weight:800; white-space:nowrap; color:#fff;
}
.pgz-hub .hb-again .agpv .amt::before{ content:"·"; margin:0 4px 0 2px; opacity:.7; }
.pgz-hub .hb-hist{
  align-self:center; min-height:44px; padding:8px 12px; background:none; border:0; cursor:pointer;
  font-family:inherit; font-size:14px; font-weight:700; color:rgba(253,250,242,.62);
  text-decoration:underline; text-underline-offset:3px; word-break:keep-all;
}
.pgz-hub .hb-hist:active{ color:rgba(253,250,242,.92); }
/* 유사 추천 레일 — 선택 카드(허브) 아래로 정돈됐을 때 여백만 보정(레일 자체 스타일 그대로) */
.pgz-heartwrap #pgzSimRail{ margin-top:8px; }
@media (min-width:768px){
  /* 넓은 화면에서 허브가 행 전체로 늘어져 글줄이 길어지지 않게 — 가운데 정렬 + 읽기 폭 상한 */
  .pgz-hub{ max-width:760px; margin-left:auto; margin-right:auto; }
}

/* ============================================================
 * v2.9.3 (2026-09-01) 추석 명절택배 부스트 — 증정 배너 정리판
 *  · 실화면 피드백 교정: 티어 카드에서 상품명이 두세 번 읽히던 중복 제거 + 세로로 늘어진 밀도 정돈.
 *  · 구성(위계) = 헤드라인 → 티어 2카드 → 개인 현황 카드 → 각주 1줄.
 *  · 티어 카드의 화면 텍스트는 2줄만: 조건(.b-amt) + 증정품(.b-gift).
 *    썸네일은 그림만 — 이미지가 깨져도 alt 가 글자로 새지 않게 font-size:0
 *    (보조기기에는 alt 가 그대로 전달된다. 화면에서만 안 보이는 것).
 *  · 개인 현황(.b-me) = 배너 안의 연한 크림 카드("내 것" 구분) + 진행바.
 *    이름은 볼드(.b-menm) + 이어지는 한 문장(#pgzBonusTx) 으로 한 줄에 붙인다.
 *  · 09-01 이전 원본(1532행까지)은 무접촉 — 운영 surgical append 대상이 이 블록 하나다.
 * ============================================================ */
.pgz-coupon .cpnote{
  margin:8px 0 0; font-size:12.5px; line-height:1.6; color:var(--gz-muted); word-break:keep-all;
}

.pgz-bonus{
  background:linear-gradient(180deg,#fffdf8 0%,#fbf5e7 100%);
  border:1px solid var(--gz-gold-line); border-radius:14px;
  padding:15px 14px 13px; margin:14px 0 4px;
}
.pgz-bonus .b-eb{
  margin:0 0 5px; font-size:12.5px; font-weight:700;
  letter-spacing:.18em; text-indent:.18em; color:var(--gz-gold-deep);
}
.pgz-bonus .b-h{
  margin:0 0 11px; font-family:var(--gz-serif); font-size:18px; font-weight:800;
  line-height:1.4; color:var(--gz-green-d); word-break:keep-all;
}

/* ---- 티어 2카드: [조건] [썸네일] [증정품] 한 줄 ---- */
.pgz-bonus .b-tiers{
  list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:7px;
}
.pgz-bonus .b-tier{
  display:flex; align-items:center; gap:10px;
  background:#fff; border:1px solid rgba(201,162,75,.28); border-radius:11px; padding:9px 12px;
}
/* 상위 티어는 금빛 테두리로 한 단계 올려 준다 */
.pgz-bonus .b-tier.b-top{ border-color:var(--gz-gold); box-shadow:0 2px 9px rgba(168,132,47,.11); }
.pgz-bonus .b-amt{
  flex:0 0 auto; min-width:74px; font-size:15.5px; font-weight:800;
  line-height:1.15; color:var(--gz-green-d);
}
.pgz-bonus .b-amt small{
  display:block; margin-top:1px; font-size:12.5px; font-weight:700;
  letter-spacing:0; color:var(--gz-weak);
}
.pgz-bonus .b-thumbs{ flex:0 0 auto; display:flex; align-items:center; }
/* 두 장일 때 살짝 겹쳐 "둘 다 드립니다"가 한눈에 읽히게 */
.pgz-bonus .b-th{
  display:block; width:44px; height:44px; border-radius:50%; overflow:hidden;
  background:var(--gz-cream); border:2px solid var(--gz-gold-pale); margin-left:-9px;
}
.pgz-bonus .b-th:first-child{ margin-left:0; }
/* font-size:0 = 이미지가 깨져도 alt 텍스트가 카드에 글자로 끼어들지 않는다(중복 읽힘 방지) */
.pgz-bonus .b-th img{
  display:block; width:100%; height:100%; object-fit:cover;
  font-size:0; color:transparent;
}
.pgz-bonus .b-gift{
  flex:1 1 120px; min-width:0; font-size:14px; font-weight:700;
  line-height:1.45; color:var(--gz-ink); word-break:keep-all;
}

/* ---- 개인 현황 카드(로그인 한정) ---- */
.pgz-bonus .b-me{
  margin:9px 0 0; padding:10px 12px;
  background:var(--gz-cream); border:1px solid rgba(201,162,75,.30); border-radius:11px;
}
/* 30만 이상 달성 = 금빛으로 한 단계 올린다 */
.pgz-bonus .b-me.on{ background:#fdf6e6; border-color:var(--gz-gold); }
.pgz-bonus .b-metx{
  margin:0 0 8px; font-size:13.5px; font-weight:700; line-height:1.55;
  color:var(--gz-green-d); word-break:keep-all;
}
.pgz-bonus .b-menm{ font-weight:800; }
.pgz-bonus .b-me.on .b-metx{ color:var(--gz-gold-deep); }
.pgz-bonus .b-mebar{
  position:relative; height:7px; border-radius:99px; background:#e6dfcd; overflow:hidden;
}
.pgz-bonus .b-mefill{
  display:block; width:0; height:100%; border-radius:99px;
  background:linear-gradient(90deg,var(--gz-green) 0%,var(--gz-gold-deep) 100%);
  transition:width .5s ease;
}
/* 티어 눈금 — 30만=60%, 50만=끝. 막대 위에 얹기만 하므로 채움 계산에 영향 없다 */
.pgz-bonus .b-memark{
  position:absolute; top:0; width:2px; height:100%; background:rgba(255,255,255,.85);
}
.pgz-bonus .b-memark.b-m30{ left:60%; }
.pgz-bonus .b-memark.b-m50{ left:calc(100% - 2px); }

/* ---- 각주 한 줄 ---- */
.pgz-bonus .b-note{
  margin:9px 0 0; font-size:12.5px; line-height:1.55; color:var(--gz-weak); word-break:keep-all;
}

@media (prefers-reduced-motion:reduce){
  .pgz-bonus .b-mefill{ transition:none; }
}
@media (min-width:768px){
  .pgz-bonus{ padding:18px 20px 16px; }
  .pgz-bonus .b-h{ font-size:21px; }
  .pgz-bonus .b-tier{ gap:13px; padding:11px 15px; }
  .pgz-bonus .b-amt{ min-width:92px; font-size:17px; }
  .pgz-bonus .b-th{ width:50px; height:50px; }
  .pgz-bonus .b-gift{ font-size:15px; }
  .pgz-bonus .b-me{ padding:12px 15px; }
  .pgz-bonus .b-metx{ font-size:14.5px; }
}

/* ============================================================
 * v3.0.0 (2026-09-05) 고급 재편 — "AI 사진 0장 · 여백·활자·실물"
 *  · 화면 안의 사진 = ERP 실물 상품 이미지뿐. 연출 사진(images/comm/chuseok_*, g/chuseok26/p/*) 참조 전면 제거.
 *  · 달 모티프 = 1px 금선 원 + 아주 옅은 radial 글로 한 겹(.pgz-moonline). 떠오름·글로우 애니메이션 폐지.
 *  · 색 규율: 금색 = 1px 선·아이브로우·작은 라벨에만(면 채움 금지) / 초록 = 액션(담기·CTA·선택) / 빨강 = 할인율.
 *  · 먹남색 = 히어로 + 마무리 띠 2곳만. 그 사이 본문은 한지 크림 단색(상단 밤하늘 연속 띠 폐지).
 *  · 그림자·큰 라운드(>12px)·장식 그라데이션 blob·반짝임 애니메이션 제거.
 *  · 이 블록은 파일 맨 끝 = 같은 특이도면 최후 승. 단 PC 정돈 스킨(plan_gift_oaz.css)은 이 파일보다
 *    뒤에 로드되므로, oaz 를 덮어야 하는 규칙만 특이도를 한 단계 올렸다(.pgz.pgz-91 …).
 *  · 짝 JSP = plan_gift_v2_pc/_mo.jsp v3.0.0 (?v=3.0.0). 기능·마크업 훅(.pgz-star/.pgz-addbtn/
 *    .ct-tile/moveProdDetail/이용방법 모달)은 전부 그대로 둔다.
 * ============================================================ */

/* ── A) 히어로: 먹남색 단색 + 선(線) 달 + 활자 ─────────────── */
.pgz-hero.cat91{ background:var(--gz-night); padding:30px 0 30px; }
.pgz-hero.cat91::before,
.pgz-hero.cat91::after{ content:none; display:none; background:none; }
.pgz-hero.cat91 .pgz-inner{ position:relative; z-index:2; max-width:620px; }
.pgz-hsky{ position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
.pgz-moonline{
  position:absolute; top:-92px; right:-92px; width:196px; height:196px; border-radius:50%;
  border:1px solid rgba(201,162,75,.4);
  background:radial-gradient(circle, rgba(233,217,174,.07) 0%, rgba(233,217,174,0) 66%);
}
.pgz-hero.cat91 .pgz-eb{
  font-size:12.5px; font-weight:700; letter-spacing:.12em; text-indent:.12em;
  color:var(--gz-gold); margin:0 0 12px;
}
.pgz-hero.cat91 .pgz-tt{
  font-family:var(--gz-serif); font-size:32px; line-height:1.2; letter-spacing:-.01em;
  font-weight:700; color:#fdfaf2; text-shadow:none; margin:0 0 10px;
}
.pgz-hero.cat91 .pgz-sub{ font-size:15px; line-height:1.65; color:rgba(253,250,242,.7); margin:0 0 18px; }
.pgz-hero.cat91 .pgz-hr{ display:none; }
/* 주문·배송기간 = 히어로 안 hairline 표(첫 화면에서 하단 탭바와 겹치지 않게) */
.pgz-hero.cat91 .pgz-meta{
  display:block; max-width:352px; margin:0 auto 16px; text-align:left;
  border-top:1px solid var(--gz-gold-line);
}
.pgz-hero.cat91 .pgz-meta .mrow{
  display:block; padding:10px 0 10px 76px; text-indent:-76px;
  border-bottom:1px solid var(--gz-gold-line);
  font-size:14px; line-height:1.55; color:rgba(253,250,242,.86);
}
.pgz-hero.cat91 .pgz-meta .mrow b{
  display:inline-block; width:64px; margin:0 12px 0 0; text-indent:0;
  font-size:12.5px; font-weight:700; letter-spacing:.08em; color:var(--gz-gold);
}
.pgz-hero.cat91 .pgz-chiprow{ margin-bottom:0; }
.pgz-hero.cat91 .pgz-shipchip{
  background:transparent; color:rgba(253,250,242,.86); border:1px solid rgba(253,250,242,.3);
  font-size:13px; font-weight:500; padding:8px 14px;
}
.pgz-hero.cat91 .pgz-ddaychip,
.pgz-hero.cat91 .pgz-ddaychip.hot{
  background:transparent; color:var(--gz-gold-pale); border:1px solid rgba(201,162,75,.6);
  font-size:13px; font-weight:700; padding:8px 14px;
}
/* 히어로 활자 페이드인 1회만(reduced-motion 정지) */
@media (prefers-reduced-motion: no-preference){
  .pgz-hero.cat91 .pgz-inner{ animation:pgzHeroIn .48s ease both; }
  @keyframes pgzHeroIn{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:none; } }
}
/* PC 전용 실물 정물(모바일 미노출 — 히어로 높이 보증) */
.pgz-hstill{ display:none; }

/* ── B) 상단 무드 띠 → 한지 크림 단색(먹남색은 히어로·마무리 2곳만) ── */
.pgz-91 .pgz-tip,
.pgz-91 .pgz-cattiles,
.pgz-91 .pgz-why,
.pgz-91 .pgz-ready,
.pgz-91 .pgz-hearts{ background:var(--gz-cream); }

/* 안내(세 걸음) 카드 = 위아래 1px 선만 */
.pgz-91 .pgz-tip{ padding:30px 0 8px; }
.pgz-91 .pgz-tip .tipcard{
  background:transparent; border:0; border-top:1px solid var(--gz-gold-line);
  border-bottom:1px solid var(--gz-gold-line); border-radius:0; padding:22px 0 20px;
}
.pgz-91 .pgz-tip .t-h{
  font-size:18px; color:var(--gz-ink); border-bottom:0; padding-bottom:0; margin:0 0 12px;
}
.pgz-91 .pgz-tip .t-steps li::before{
  background:transparent; color:var(--gz-green-d); border:1px solid var(--gz-gold-line);
}
.pgz-91 .pgz-tip .t-when{
  background:transparent; border-top:1px solid var(--gz-gold-line); border-radius:0;
  padding:14px 0 0; margin-top:16px;
}
.pgz-91 .pgz-tip .t-pick3{ border-radius:8px; }

/* 품목 타일 */
.pgz-91 .pgz-cattiles{ padding:30px 0 34px; }
.pgz-91 .pgz-cattiles .ct-eb{ font-size:12.5px; letter-spacing:.12em; text-indent:.12em; color:var(--gz-gold-deep); }
.pgz-91 .pgz-cattiles .ct-h{ color:var(--gz-ink); font-size:22px; letter-spacing:-.01em; }
.pgz-91 .pgz-cattiles .ct-tile{ background:var(--gz-card); border:1px solid #e6dfcf; border-radius:8px; }
.pgz-91 .pgz-cattiles .ct-tile .im{ border:1px solid var(--gz-gold-line); }
.pgz-91 .pgz-cattiles .ct-tile .ct-cnt{ color:var(--gz-weak); }

/* 브랜드 층 = 떠 있는 카드 폐지, 평면 */
.pgz-91 .pgz-why .pgz-inner{
  background:transparent; border:0; border-radius:0; box-shadow:none; padding:44px 16px 38px;
}
.pgz-91 .pgz-why .w-eb{ font-size:12.5px; letter-spacing:.12em; text-indent:.12em; }

/* 준비 숫자 층 */
.pgz-91 .pgz-ready .r-head{ color:var(--gz-ink); letter-spacing:-.01em; }
.pgz-91 .pgz-ready .r-grid .num{ color:var(--gz-green-d); font-variant-numeric:tabular-nums; }
.pgz-91 .pgz-ready .r-grid .unit{ color:var(--gz-muted); }
.pgz-91 .pgz-ready .r-grid .word{ color:var(--gz-green-d); }
.pgz-91 .pgz-ready .r-grid p{ color:var(--gz-muted); }

/* 받는분 존 = 크림 카드 + 1px 선 */
.pgz-91 .pgz-hearts{ padding-bottom:44px; }
.pgz-91 .pgz-hearts .pgz-inner{
  background:var(--gz-card); border:1px solid var(--gz-gold-line); border-radius:10px;
  box-shadow:none; padding:28px 18px 24px;
}
.pgz-91 .pgz-hearts .h-eb{ font-size:12.5px; letter-spacing:.12em; text-indent:.12em; color:var(--gz-gold-deep); }
.pgz-91 .pgz-hearts .h-head{ color:var(--gz-ink); letter-spacing:-.01em; }
.pgz-91 .pgz-hearts .h-sub{ color:var(--gz-muted); }
.pgz-91 .pgz-hearts .h-note{ color:var(--gz-weak); }
.pgz-91 .pgz-heart{ background:var(--gz-card); border:1px solid #e6dfcf; border-radius:10px; color:var(--gz-ink); }
.pgz-91 .pgz-heart:hover{ background:#faf6ec; }
.pgz-91 .pgz-heart .ini,
.pgz-91 .pgz-heart.new .ini{ background:transparent; border:1px solid var(--gz-gold-line); color:var(--gz-gold-deep); }
.pgz-91 .pgz-heart .nm{ color:var(--gz-ink); }
.pgz-91 .pgz-heart .nm .rg{ color:var(--gz-weak); }
.pgz-91 .pgz-heart .ls{ color:var(--gz-muted); }
.pgz-91 .pgz-heart .ls b{ color:var(--gz-green-d); }
.pgz-91 .pgz-heart .ar,
.pgz-91 .pgz-heart .del{ color:var(--gz-weak); }
.pgz-91 .pgz-heart.on{ border-color:var(--gz-green); background:#f2f5f0; }
.pgz-91 .pgz-hearts .h-addrow input{ background:#fff; border:1px solid #e6dfcf; border-radius:8px; color:var(--gz-ink); }
.pgz-91 .pgz-hearts .h-addrow input::placeholder{ color:var(--gz-weak); }
.pgz-91 .pgz-hearts .h-addrow button{ border-radius:8px; }
.pgz-91 .pgz-heart-login{ background:var(--gz-card); border:1px dashed var(--gz-gold-line); border-radius:10px; color:var(--gz-muted); }
.pgz-91 .pgz-heart-login a{ color:var(--gz-green-d); }
.pgz-91 .pgz-hearts .h-tourrow .gtz-entry{ border-color:#c7cfc4; color:var(--gz-green-d); }
.pgz-91 .pgz-hearts .h-tourrow .gtz-entry:active{ background:#eef3ec; }
.pgz-91 .pgz-hzbar{
  color:var(--gz-ink); background:transparent;
  border-top:1px solid var(--gz-gold-line); border-bottom:1px solid var(--gz-gold-line);
}
.pgz-91 .pgz-hzbar .tx{ color:var(--gz-ink); }
.pgz-91 .pgz-hzbar .op{ background:transparent; color:var(--gz-green-d); border:1px solid var(--gz-green); border-radius:8px; }
.pgz-91 .hz-fold{ color:var(--gz-muted); border-color:#d5cfbf; }

/* ── C) 고르기 존·쿠폰·증정 = 평면 + 라운드 정리 ────────────── */
.pgz-pickzone{ border-radius:10px; }
.pgz-pickh{ font-size:18px; letter-spacing:-.01em; }
.pgz-bchip.on{ background:var(--gz-green); border-color:var(--gz-green); color:#fff; }
.pgz-coupon{ border-radius:10px; }
.pgz-ticket{ border-radius:8px; }
.pgz-simrail{ border-radius:10px; }
.pgz-bonus{ border-radius:10px; }
.pgz-bonus .b-eb{ font-size:12.5px; letter-spacing:.12em; text-indent:.12em; }
.pgz-bonus .b-tier{ border-radius:8px; }
.pgz-bonus .b-tier.b-top{ box-shadow:none; }
.pgz-bonus .b-me{ border-radius:8px; }
.pgz-bonus .b-amt{ font-variant-numeric:tabular-nums; }

/* ── D) 섹션 머리 = 아이브로우 없는 제목 + 1px hairline ─────── */
.pgz-sec{ padding-top:38px; }
.pgz-sech{
  font-family:var(--gz-serif); font-size:22px; font-weight:700; line-height:1.3; letter-spacing:-.01em;
  color:var(--gz-ink); margin:0; padding:0 0 12px; border-bottom:1px solid var(--gz-gold-line);
}
.pgz-sech .cnt{ font-size:13px; font-weight:500; letter-spacing:0; color:var(--gz-weak); font-variant-numeric:tabular-nums; }
.pgz-secline{ display:none; }
.pgz-grid{ gap:22px 12px; margin-top:18px; }

/* ── E) 상품 카드 = 크림 바탕 · 1px hairline · radius 8 · 그림자 0 ── */
.pgz-card{ background:var(--gz-card); border:1px solid #e6dfcf; border-radius:8px; box-shadow:none; }
.pgz-card .pimg{ border-radius:6px; background:#f4f2ec; }
.pgz-card .pimg .dc{ display:none; }               /* 사진 위 알약 배지 폐지 — 가격 줄 앞 텍스트(.dcr)로 */
.pgz-card .pinfo .maker{ font-size:12.5px; font-weight:500; color:var(--gz-weak); letter-spacing:0; }
.pgz-card .pinfo .tit{ font-size:15px; font-weight:600; line-height:1.45; color:var(--gz-ink); min-height:2.9em; height:auto; }
.pgz-card .pinfo .qty{ font-size:13px; color:var(--gz-muted); }
.pgz-card .pinfo .cert{ font-size:12.5px; border-radius:4px; }
.pgz-card .pinfo .price b{ font-size:18px; font-weight:800; font-variant-numeric:tabular-nums; }
.pgz-card .pinfo .price .dcr{ font-size:16px; font-weight:800; color:var(--gz-sale); font-variant-numeric:tabular-nums; }
.pgz-card .pinfo .price .sale{ font-size:13px; color:var(--gz-weak); font-variant-numeric:tabular-nums; }
.pgz-card .pimg .bb{
  border-radius:4px; background:rgba(255,253,248,.94); color:var(--gz-ink);
  border:1px solid var(--gz-gold-line); font-weight:700;
}
.pgz-card .pimg .bb.hotb{ background:rgba(255,253,248,.94); color:var(--gz-green-d); border-color:rgba(61,96,65,.4); }
/* 골라두기 별 — 금색 면 채움 폐지(선택 = 초록 액션색) */
.pgz-star{ border-width:1px; border-color:var(--gz-gold-line); color:var(--gz-gold-deep); }
.pgz-star.on{ background:var(--gz-green); border-color:var(--gz-green); color:#fff; }
.pgz-foldbtn{ border-radius:8px; border-width:1px; }
.pgz-bestcard{ border-radius:8px; }

/* ── F) 큐레이션 인터루드 = 실물 썸네일 3장 겹침 + 활자 ─────── */
.pgz-itl{
  margin-top:40px; padding:34px 0 36px; background:var(--gz-cream);
  border-top:1px solid var(--gz-gold-line); border-bottom:1px solid var(--gz-gold-line);
}
.pgz-itl .in{ display:block; }
.pgz-itl .tx{ max-width:720px; margin:0 auto; }
.pgz-itlth{ display:flex; align-items:center; margin:0 0 16px; }
.pgz-itlth:empty{ display:none; }
.pgz-itlth img{
  display:block; width:56px; height:56px; border-radius:50%; object-fit:cover;
  background:#f4f2ec; border:1px solid var(--gz-gold-line);
}
.pgz-itlth img + img{ margin-left:-14px; }
.pgz-itl .i-eb{ font-size:12.5px; letter-spacing:.12em; text-indent:.12em; color:var(--gz-gold-deep); margin:0 0 8px; }
.pgz-itl .i-q{
  font-size:22px; line-height:1.35; letter-spacing:-.01em; color:var(--gz-ink);
  margin:0 0 14px; padding-bottom:14px; border-bottom:1px solid var(--gz-gold-line);
}
.pgz-itl .i-b{ font-size:15px; line-height:1.75; color:var(--gz-muted); max-width:640px; }
.pgz-itl .best .b-h{ font-size:16px; letter-spacing:-.01em; }

/* ── G) 종이 카탈로그 연결 = 사진 없이 활자 표지 + 1px 선 행 ── */
.pgz-catbn{
  background:var(--gz-cream); border:1px solid var(--gz-gold-line); border-radius:8px;
  padding:18px; align-items:center;
}
.pgz-catbn .cover{
  flex:0 0 auto; display:grid; align-content:center; justify-items:center; gap:6px;
  width:96px; height:130px; text-decoration:none; text-align:center;
  background:var(--gz-card); border:1px solid var(--gz-gold-line); border-radius:6px;
}
.pgz-catbn .cover .cv-yr{ font-size:12.5px; font-weight:700; letter-spacing:.14em; color:var(--gz-gold-deep); }
.pgz-catbn .cover .cv-lb{ font-size:15px; font-weight:700; line-height:1.45; color:var(--gz-ink); }
.pgz-catbn .c-eb{ font-size:12.5px; letter-spacing:.12em; text-indent:.12em; color:var(--gz-gold-deep); }
.pgz-catbn .c-h{ font-size:17px; line-height:1.45; letter-spacing:-.01em; color:var(--gz-ink); }
.pgz-catbn .c-b{ font-size:14px; color:var(--gz-muted); }
.pgz-catbn .c-btn{ border-radius:8px; }
.pgz-catbn .c-btn.main{ background:var(--gz-green); color:#fff; }
.pgz-catbn .c-btn.main:hover{ background:var(--gz-green-d); }
.pgz-catrow{
  background:transparent; border:0; border-top:1px solid var(--gz-gold-line); border-radius:0;
  min-height:48px; padding:12px 2px; margin-top:20px;
}
.pgz-catrow:hover{ border-color:var(--gz-gold); }
.pgz-catrow .t{ font-size:14px; color:var(--gz-muted); }
.pgz-catrow .go{ color:var(--gz-green-d); }

/* ── H) 마무리 띠 = 먹남색 활자 띠(사진·blob 없음) ──────────── */
.pgz-final,
.pgz-final.cat91{ background:var(--gz-night); margin-top:40px; padding:52px 0 48px; }
.pgz-final::before{ content:none; display:none; }   /* 장식 금빛 blob 폐지 — 활자만 */
/* 모바일 하단 탭바(55px)에 마감 칩이 가리지 않게 */
.pgz.pgz-m .pgz-final{ padding-bottom:calc(104px + env(safe-area-inset-bottom, 0px)); }
.pgz-final.cat91::after{ content:none; display:none; background:none; }
.pgz-final .f-line{ font-size:22px; line-height:1.45; letter-spacing:-.01em; color:#fdfaf2; margin:0 0 16px; }
.pgz-final .f-info{ font-size:14.5px; line-height:1.8; color:rgba(253,250,242,.74); }
.pgz-final .f-info b{ color:var(--gz-gold-pale); font-weight:700; }
.pgz-final .f-dday{
  background:transparent; color:var(--gz-gold-pale); border:1px solid rgba(201,162,75,.6);
  font-size:14px; font-weight:700; font-variant-numeric:tabular-nums; border-radius:999px;
}

/* ── I) 태블릿(≥768px) ─────────────────────────────────────── */
@media (min-width:768px){
  .pgz-hero.cat91{ padding:52px 0 48px; }
  .pgz-hero.cat91 .pgz-tt{ font-size:40px; line-height:1.15; }
  .pgz-hero.cat91 .pgz-meta{ max-width:420px; }
  .pgz-moonline{ top:-118px; right:-64px; width:260px; height:260px; }
  .pgz-itl .i-q{ font-size:26px; }
  .pgz-sech{ font-size:24px; }
}

/* ── J) PC(≥1024px) — 오아시스 정돈 스킨 위에 올리는 최소 보정 ── */
@media (min-width:1024px){
  /* 히어로 우측 AI 사진(plan_gift_oaz.css ::after 배경) 폐지 → 실물 정물 3장 열로 교체 */
  .pgz.pgz-91 .pgz-hero.cat91::after,
  .pgz.pgz-91 .pgz-hero.cat91::before{ content:none; display:none; background:none; }
  .pgz.pgz-91 .pgz-hero.cat91{ align-items:center; gap:56px; padding:44px 16px 26px; }
  .pgz.pgz-91 .pgz-hero.cat91 .pgz-inner{ flex:1 1 auto; max-width:none; margin:0; padding:0; text-align:left; }
  .pgz.pgz-91 .pgz-hero.cat91 .pgz-tt{ font-size:44px; line-height:1.15; letter-spacing:-.01em; }
  .pgz.pgz-91 .pgz-hero.cat91 .pgz-meta{ max-width:520px; margin:0 0 20px; border-top-color:#e9e4d8; }
  .pgz.pgz-91 .pgz-hero.cat91 .pgz-meta .mrow{ color:#3f4740; font-size:15px; border-bottom-color:#e9e4d8; }
  .pgz.pgz-91 .pgz-hero.cat91 .pgz-meta .mrow b{ color:#1f241e; }
  .pgz.pgz-91 .pgz-hero.cat91 .pgz-chiprow{ margin-top:0; }
  .pgz.pgz-91 .pgz-hero.cat91 .pgz-shipchip{ color:#3f4740; border-color:#d5cfbf; }
  .pgz.pgz-91 .pgz-hero.cat91 .pgz-ddaychip,
  .pgz.pgz-91 .pgz-hero.cat91 .pgz-ddaychip.hot{ color:var(--gz-green-d); border-color:var(--gz-green); background:transparent; }
  /* 실물 선물세트 3종 정물 — 1px hairline 카드 3열, 그림자 없음 */
  .pgz.pgz-91 .pgz-hstill{
    flex:0 0 42%; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; order:2; min-width:0;
  }
  .pgz.pgz-91 .pgz-hstill:empty{ display:none; }
  .pgz.pgz-91 .pgz-hstill .hs-card{
    display:block; min-width:0; text-decoration:none; color:inherit; cursor:pointer;
    border:1px solid #e6dfcf; border-radius:10px; overflow:hidden; background:#fff;
  }
  .pgz.pgz-91 .pgz-hstill .hs-card:hover{ border-color:#cfc7b4; }
  /* 2026-09-05 v3.0.1 실물 3카드 배경 통일 — 상품 사진마다 촬영 배경이 흰색(255)/회색(230)으로 갈려
     첫 카드만 회색 타일처럼 보이던 문제. 사진을 교체하지 않고 근백색 평면만 흰색으로 끌어올린다.
     brightness(1.11) = 230→255 정확 매핑·255는 클립되어 무변화(흰 배경 사진은 무손상),
     saturate(1.08) = 밝히며 빠진 채도 보정. 백분율은 상대값이라 다음 주 상품이 바뀌어도 안전.
     실측(2026-09-05): 3장 배경 (230,230,230)/(255,255,255)/(255,255,255) → 전부 (255,255,255). */
  .pgz.pgz-91 .pgz-hstill .hs-im{ display:block; aspect-ratio:1/1; background:#fff; }
  .pgz.pgz-91 .pgz-hstill .hs-im img{ display:block; width:100%; height:100%; object-fit:cover; filter:brightness(1.11) saturate(1.08); }
  .pgz.pgz-91 .pgz-hstill .hs-nm{
    display:block; padding:9px 10px 11px; font-size:13px; line-height:1.45; color:#3f4740;
    overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; min-height:2.9em;
  }
  /* 카드 간격 24px(오아시스 4열 유지) + 사진 위 배지 대신 가격 줄 할인율 */
  .pgz.pgz-91 .pgz-grid{ gap:34px 24px; }
  .pgz.pgz-91 .pgz-card .pinfo .tit{ font-size:15.5px; font-weight:600; }
  /* 인터루드 = 단일 열 활자(사진 열 폐지) */
  .pgz.pgz-91 .pgz-itl .in{ display:block; }
  .pgz.pgz-91 .pgz-itl .tx{ max-width:760px; margin:0; }
  .pgz.pgz-91 .pgz-itl .i-q{ font-size:28px; }
  /* 마무리 띠 = PC 는 정돈 스킨(plan_gift_oaz.css)의 순백 문법을 그대로 따른다.
     주의: oaz 는 .pgz 에서 --gz-night 토큰 자체를 #fff 로 재정의한다 → PC 에서 var(--gz-night) 사용 금지. */
  .pgz.pgz-91 .pgz-final{ padding:64px 0 58px; }
  .pgz.pgz-91 .pgz-final .f-line{ font-size:26px; }
  .pgz.pgz-91 .pgz-final .f-dday{ background:var(--gz-green); color:#fff; border:0; }
  /* 카탈로그 연결 행 */
  .pgz.pgz-91 .pgz-catbn{ background:#fff; }
  .pgz.pgz-91 .pgz-catbn .c-btn.main{ background:var(--gz-green); color:#fff; }
}

/* ============================================================
 * 2026-09-07 v1.1.4 큰글씨(시스템 폰트 확대) 가격줄 안전화 — 팀장 실기기(75,60|0 원 · 1|0%)
 *  원인: 전역 default.css p{word-break:break-all} + .price(flex, nowrap 없음) → 폰트 확대 시 숫자 토큰 내부 절단
 *  조치: 토큰(할인율·판매가+원·정가) 내부 절단 금지, 토큰 사이에서만 줄바꿈. 판매가와 '원'은 .pw 로 한 단위(마크업 v1.1.4)
 * ============================================================ */
.pgz-card .pinfo .price{ flex-wrap:wrap; row-gap:0; column-gap:6px; word-break:keep-all; overflow-wrap:normal; white-space:nowrap; }
.pgz-card .pinfo .price > *{ flex:0 0 auto; white-space:nowrap; word-break:keep-all; overflow-wrap:normal; }
.pgz-card .pinfo .price .pw{ display:inline-flex; align-items:baseline; white-space:nowrap; }
.pgz-card .pinfo .price .pw .won{ margin-left:2px; } /* v1.1.5(09-07): .pw 안에는 gap이 없어 기존 .won margin-left:-4px가 숫자 끝을 덮음(PC 확대 확인) → 종전과 같은 2px 간격으로 */
