/* 판다산다 — 산업용품 당근마켓. 모바일 우선, 토스+당근 스타일 */
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css");

:root{
  --primary:#FFB800;
  --primary-press:#F0A800;
  --primary-light:#FFF4D6;
  --text:#222222;
  --sub:#666666;
  --hint:#9A9A9A;
  --bg:#FAFAFA;
  --surface:#FFFFFF;
  --line:#EEEEEE;
  --success:#34C759;
  --danger:#FF3B30;
  --radius:16px;
  --tabbar-h:64px;
  --app-w:480px; /* PC 등 큰 화면에서는 가운데 480px */
  color-scheme:light;
}
/* 휴대폰·폴더블·태블릿: 화면 폭에 꽉 맞춤 (양옆 여백 없음) */
@media (max-width:1100px){ :root{ --app-w:100%; } }

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{margin:0;padding:0;}
body{
  font-family:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,system-ui,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;
  font-size:17px;line-height:1.5;color:var(--text);background:var(--bg);
  word-break:keep-all;overflow-wrap:anywhere;
}
a{color:inherit;text-decoration:none;}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;padding:0;}
input,textarea,select{font:inherit;color:var(--text);}
img{display:block;max-width:100%;height:auto;}
[hidden]{display:none !important;}
h1,h2,h3{margin:0;}
p{margin:0;}

/* 레이아웃: 휴대폰 폭 한 컬럼 */
.app{max-width:var(--app-w);margin:0 auto;min-height:100vh;background:var(--surface);position:relative;
  padding-bottom:calc(var(--tabbar-h) + 24px + env(safe-area-inset-bottom));} /* 탭바에 마지막 내용이 가리지 않게 여유 */
.page{padding:0 16px;}

/* 상단 바 */
.topbar{position:sticky;top:0;z-index:20;height:56px;display:flex;align-items:center;gap:8px;
  padding:0 8px 0 16px;background:var(--surface);border-bottom:1px solid var(--line);}
.topbar h1{font-size:19px;font-weight:700;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.topbar .back{width:44px;height:44px;margin-left:-12px;display:flex;align-items:center;justify-content:center;border-radius:50%;}
.topbar .back:active{background:var(--bg);}

/* 하단 탭바: 모든 페이지 공통. 페이지 전용 버튼줄은 탭바 바로 위에 */
.toast.lift,body:has(.over-tabbar:not([hidden])) .toast{bottom:calc(var(--tabbar-h) + 104px + env(safe-area-inset-bottom));} /* 버튼줄 위에 안내 */
.over-tabbar{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom)) !important;padding-bottom:12px !important;}
/* 하단 탭바 */
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;max-width:var(--app-w);margin:0 auto;
  height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);
  display:grid;grid-template-columns:repeat(5,1fr);background:var(--surface);border-top:1px solid var(--line);}
.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  font-size:12px;font-weight:600;color:var(--hint);position:relative;}
.tabbar a .ti{display:flex;line-height:1;filter:grayscale(1);opacity:.45;transition:transform .15s ease;}
.tabbar a.on{color:var(--text);}
.tabbar a.on .ti{filter:none;opacity:1;transform:scale(1.08);}
.tabbar .dot{position:absolute;top:8px;left:calc(50% + 8px);width:8px;height:8px;border-radius:50%;background:var(--danger);display:none;}
.tabbar .dot.show{display:block;}

/* 버튼 */
.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:56px;border-radius:14px;
  font-size:18px;font-weight:700;background:var(--primary);color:var(--text);transition:transform .08s ease,background .15s ease;}
.btn:active{transform:scale(.98);background:var(--primary-press);}
.btn:disabled{background:#E5E5E5;color:#AAAAAA;transform:none;}
.btn.white{background:var(--surface);border:1.5px solid var(--line);}
.btn.white:active{background:var(--bg);}
.btn.gray{background:#F2F2F2;}
.btn.small{height:44px;font-size:16px;border-radius:12px;}
.btn.danger{background:#FFF0EF;color:var(--danger);}
.link-btn{color:var(--sub);font-size:15px;text-decoration:underline;padding:12px;}

/* 홈 큰 버튼 */
.big-btn{display:flex;align-items:center;gap:16px;width:100%;height:80px;padding:0 22px;border-radius:20px;
  text-align:left;transition:transform .08s ease;}
.big-btn:active{transform:scale(.98);}
.big-btn .bi{font-size:32px;line-height:1;}
.big-btn b{display:block;font-size:24px;font-weight:800;line-height:1.15;}
.big-btn span{display:block;font-size:15px;color:var(--sub);font-weight:500;}
.big-btn.sell{background:var(--primary);}
.big-btn.sell span{color:#5A4300;}
.big-btn.buy{background:var(--surface);border:2px solid var(--line);}
.big-btn .arrow{margin-left:auto;font-size:22px;opacity:.5;}

/* 칩 */
.chips{display:flex;gap:8px;overflow-x:auto;padding:4px 16px 12px;margin:0 -16px;scrollbar-width:none;}
.chips::-webkit-scrollbar{display:none;}
.chip{display:inline-flex;align-items:center;justify-content:center;gap:4px;flex-shrink:0;height:40px;padding:0 16px;border-radius:20px;border:1.5px solid var(--line);background:var(--surface);
  font-size:15px;font-weight:600;color:var(--sub);white-space:nowrap;}
.chip.on{background:var(--text);border-color:var(--text);color:#fff;}
.chip-grid{display:flex;flex-wrap:wrap;gap:8px;}
.chip-grid .chip{padding:0 13px;}
.chip-grid .chip.on{background:var(--primary-light);border-color:var(--primary);color:var(--text);}

/* 섹션 제목 */
.sec-title{font-size:20px;font-weight:800;margin:28px 0 12px;}

/* 상품 카드 2열 */
.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 12px;}
.card{display:block;min-width:0;}
.card .ph{aspect-ratio:1/1;border-radius:12px;overflow:hidden;background:#F2F2F2;position:relative;}
.card .ph img{width:100%;height:100%;object-fit:cover;}
.card .t{margin-top:8px;font-size:16px;font-weight:500;line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.card .p{font-size:17px;font-weight:800;margin-top:2px;}
.card .m{font-size:13px;color:var(--hint);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* 당근식 리스트 */
.list{display:flex;flex-direction:column;}
.row{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);min-width:0;}
.row:last-child{border-bottom:none;}
.row .ph{width:108px;height:108px;flex-shrink:0;border-radius:12px;overflow:hidden;background:#F2F2F2;position:relative;}
.row .ph img{width:100%;height:100%;object-fit:cover;}
.row .info{flex:1;min-width:0;display:flex;flex-direction:column;}
.row .t{font-size:17px;font-weight:500;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.row .m{font-size:13px;color:var(--hint);margin-top:4px;}
.row .p{font-size:18px;font-weight:800;margin-top:4px;}
.row .s{margin-top:auto;font-size:13px;color:var(--hint);display:flex;gap:10px;justify-content:flex-end;}
.row .s span{display:inline-flex;align-items:center;gap:3px;}

.noimg{width:100%;height:100%;display:flex;align-items:center;justify-content:center;}
.noimg .i3d{width:46% !important;height:auto !important;opacity:.5;filter:grayscale(.4);}
.noimg .stk{width:50% !important;height:auto !important;opacity:.55;filter:grayscale(.3);}

/* 판다 스티커 / 선 아이콘 */
.i3d{display:inline-block;object-fit:contain;vertical-align:middle;flex-shrink:0;}
.empty .i3d{display:block;margin:0 auto 10px;}
.stk{display:inline-block;object-fit:contain;vertical-align:middle;flex-shrink:0;}
.ico{display:inline-block;vertical-align:-0.18em;flex-shrink:0;}
.avatar-stk{width:100% !important;height:100% !important;object-fit:cover;object-position:50% 10%;transform:scale(1.25);}

/* 물건 상태 뱃지 (반짝임) */
.cbadge{position:relative;display:inline-flex;align-items:center;height:20px;padding:0 7px;margin-right:6px;border-radius:6px;
  font-size:12px;font-weight:800;line-height:1;vertical-align:2px;overflow:hidden;white-space:nowrap;color:#fff;}
.cbadge::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:45%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.75),transparent);transform:skewX(-20deg);
  animation:cb-shine 2.6s ease-in-out infinite;}
.cb-new{background:linear-gradient(135deg,#FF7A00,#FFB800);box-shadow:0 0 0 0 rgba(255,140,0,.5);animation:cb-pulse 2.6s ease-in-out infinite;}
.cb-clean{background:linear-gradient(135deg,#1FB866,#34C759);}
.cb-used{background:linear-gradient(135deg,#2F5BD3,#4D8BFF);}
.cb-fix{background:linear-gradient(135deg,#E5484D,#FF7A7A);}
.cb-clean::after{animation-delay:.4s;}
.cb-used::after{animation-delay:.8s;}
.cb-fix::after{animation-delay:1.2s;}
@keyframes cb-shine{0%{left:-60%}55%,100%{left:130%}}
@keyframes cb-pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,140,0,.45)}50%{box-shadow:0 0 0 4px rgba(255,140,0,0)}}
@media (prefers-reduced-motion:reduce){.cbadge::after,.cb-new{animation:none;}}

/* 상태 배지 */
.badge{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:6px;font-size:13px;font-weight:700;margin-right:6px;vertical-align:2px;}
.badge.reserved{background:var(--success);color:#fff;}
.badge.sold{background:#555;color:#fff;}
.ph .sold-cover{position:absolute;inset:0;background:rgba(0,0,0,.45);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;}

/* 입력 */
.field{display:block;margin-top:20px;}
.field > span{display:block;font-size:15px;font-weight:700;margin-bottom:8px;color:var(--text);}
.input{width:100%;height:56px;padding:0 16px;border:1.5px solid var(--line);border-radius:14px;background:var(--surface);font-size:17px;}
.input:focus,.textarea:focus{outline:none;border-color:var(--primary);}
.textarea{width:100%;min-height:140px;padding:14px 16px;border:1.5px solid var(--line);border-radius:14px;resize:vertical;font-size:17px;line-height:1.5;}

/* 검색창 */
.search{display:flex;align-items:center;gap:10px;height:56px;padding:0 18px;border-radius:16px;background:#F2F2F2;}
.search input{flex:1;border:none;background:none;font-size:18px;min-width:0;}
.search input:focus{outline:none;}
.search .si{font-size:20px;}

/* 빈 화면 / 로딩 */
.empty{padding:60px 16px;text-align:center;color:var(--sub);}
.empty .ei{font-size:52px;margin-bottom:12px;}
.empty .stk{display:block;margin:0 auto 8px;}
.empty b{display:block;font-size:18px;color:var(--text);margin-bottom:6px;}
.skeleton{background:linear-gradient(90deg,#F2F2F2 25%,#E8E8E8 37%,#F2F2F2 63%);background-size:400% 100%;animation:sk 1.2s ease infinite;border-radius:12px;}
@keyframes sk{0%{background-position:100% 50%}100%{background-position:0 50%}}

/* 토스트 */
.toast{position:fixed;left:50%;bottom:calc(var(--tabbar-h) + 24px);transform:translateX(-50%) translateY(20px);z-index:100;
  background:rgba(34,34,34,.92);color:#fff;padding:12px 20px;border-radius:24px;font-size:15px;font-weight:600;
  opacity:0;transition:all .25s ease;pointer-events:none;max-width:calc(100% - 32px);text-align:center;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* 바텀시트 */
.sheet-bg{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:90;display:none;}
.sheet-bg.show{display:block;}
.sheet{position:fixed;left:0;right:0;bottom:0;max-width:var(--app-w);margin:0 auto;z-index:91;background:var(--surface);
  border-radius:20px 20px 0 0;padding:12px 16px calc(20px + env(safe-area-inset-bottom));transform:translateY(100%);transition:transform .25s ease;}
.sheet.show{transform:translateY(0);}
.sheet .handle{width:40px;height:4px;border-radius:2px;background:#DDD;margin:0 auto 12px;}
.sheet .opt{display:block;width:100%;text-align:left;padding:16px 4px;font-size:18px;font-weight:600;border-bottom:1px solid var(--line);}
.sheet .opt:last-child{border-bottom:none;}
.sheet .opt{display:flex;align-items:center;gap:10px;}

/* 동네 업체 카드 */
.bizgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px 12px;}
/* 펼친 폴더블·태블릿처럼 넓은 화면: 카드가 너무 커지지 않게 칸 수를 늘림 */
@media (min-width:600px){ .grid{grid-template-columns:repeat(3,1fr);} .bizgrid{grid-template-columns:repeat(4,1fr);} }
@media (min-width:860px){ .grid{grid-template-columns:repeat(4,1fr);} }
.bizcard{display:block;min-width:0;}
.bizcard .bz-ph{position:relative;aspect-ratio:1/1;border-radius:16px;overflow:hidden;background:#fff;border:1px solid #EEF0F3;}
.bizcard .bz-ph img{width:100%;height:100%;object-fit:contain;background:#fff;} /* 사진 전체가 다 보이게 */
.bizcard .bz-quote{margin-top:8px;color:#2F5BD3;font-size:15px;font-weight:800;line-height:1.4;word-break:keep-all;overflow-wrap:anywhere;} /* 소개글은 자르지 않음 */
.bizcard .bz-quote span{font-family:Georgia,serif;margin-right:3px;}
.bizcard .bz-name{margin-top:8px;font-size:17px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bizcard .bz-meta{font-size:13px;color:var(--hint);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bizcard.hl .bz-ph{box-shadow:0 0 0 3px #2F5BD3;}
.verified{display:inline-flex;align-items:center;gap:3px;height:22px;padding:0 8px;border-radius:11px;background:#EAF2FE;color:#2F5BD3;font-size:12px;font-weight:800;}

/* 주문 카드 (판매관리의 주문 내역 / 구매내역의 결제한 주문) */
.badge.paid{background:var(--success);color:#fff;}
.ocard{margin-top:14px;padding:16px;border:1.5px solid var(--line);border-radius:16px;}
.ocard.off{opacity:.6;}
.ocard header{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;font-size:13px;color:var(--hint);}
.ocard header .badge{margin-right:0;vertical-align:0;}
.ocard header .no{margin-left:auto;font-size:12px;}
.ocard .oitems{list-style:none;margin:12px 0 0;padding:0;}
.ocard .oitems li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:16px;font-weight:600;}
.ocard .oitems li a,.ocard .oitems li span{min-width:0;overflow-wrap:anywhere;}
.ocard .oitems small{display:block;font-size:13px;font-weight:500;color:var(--sub);}
.ocard .oitems em{font-style:normal;font-weight:700;white-space:nowrap;flex-shrink:0;}
.ocard dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:12px 0 0;padding-top:12px;border-top:1px solid var(--line);font-size:15px;}
.ocard dt{color:var(--sub);white-space:nowrap;}
.ocard dd{margin:0;text-align:right;overflow-wrap:anywhere;}
.ocard .osum .tot{font-weight:800;font-size:17px;color:var(--text);}
.ocard .oship dd{text-align:left;font-weight:600;}
.ocard .oship a{text-decoration:underline;}
.ocard .ostate{margin-top:12px;padding:10px 12px;border-radius:10px;background:var(--bg);font-size:14px;color:var(--sub);line-height:1.5;overflow-wrap:anywhere;}
.ocard .ostate b{display:block;font-size:15px;color:var(--text);}
.ocard .ostate.ship{background:#F4FBF6;}
.ocard .ostate.cancel{background:#FFF0EF;}
.ocard .ostate.cancel b{color:var(--danger);}
.ocard .ostate.settle{background:#EAF2FE;}
.ocard .ostate.settle b{color:#1E3FA8;}
.ocard .ostate + .ostate{margin-top:8px;}
.ocard .oacts{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.ocard .oacts .btn{flex:1 1 140px;width:auto;}
.ocard.off .ostate{opacity:1;}
/* 정산 계좌 안내 (판매관리 → 주문 내역) */
.payacct{display:flex;align-items:center;gap:12px;margin-top:14px;padding:14px 16px;border-radius:14px;background:var(--bg);font-size:15px;}
.payacct.need{background:#FFF0EF;}
.payacct div{flex:1;min-width:0;}
.payacct b{display:block;}
.payacct span{font-size:13px;color:var(--sub);}
.payacct .btn{width:auto;flex-shrink:0;padding:0 16px;}
/* 주문 발송·취소 입력 창 */
.osheet h3{font-size:19px;font-weight:800;padding:4px 0 0;}
.osheet .ohint{font-size:14px;color:var(--sub);margin-top:8px;line-height:1.5;}
.osheet select.input{appearance:auto;}

/* 회색 바탕 위 흰 카드 메뉴 (마이페이지 등) */
.gray-page{background:#F2F3F5;}
.gray-page .app{background:#F2F3F5;}
.mcard{background:var(--surface);border-radius:20px;margin:0 0 12px;padding:8px 0;}
.mcard h3{font-size:15px;font-weight:800;padding:14px 20px 4px;}
.mrow{display:flex;align-items:center;gap:14px;width:100%;padding:16px 20px;font-size:17px;text-align:left;}
.mrow:active{background:var(--bg);}
.mrow .ico{color:var(--text);}
.mrow .go{margin-left:auto;color:#BBB;display:flex;}
.mrow .badge-n{margin-left:auto;min-width:22px;height:22px;padding:0 7px;border-radius:11px;background:var(--danger);color:#fff;font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;}
.mrow .badge-n + .go{margin-left:6px;}
.quick{display:grid;grid-template-columns:1fr 1fr;background:var(--surface);border-radius:20px;margin-bottom:12px;}
.quick a{display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 0;font-size:16px;}
.quick a + a{border-left:1px solid var(--line);}
.page-title{display:flex;align-items:center;justify-content:space-between;padding:20px 4px 16px;}
.page-title h1{font-size:26px;font-weight:800;}

@media (min-width:481px){
  body{background:#F0F0F0;}
  .app{box-shadow:0 0 0 1px var(--line);}
}

/* ============ PC (넓은 화면) ============
   같은 HTML 그대로, 1101px 이상에서만 PC 틀을 덧입힌다.
   - 하단 탭바 → 상단 헤더 (로고 · 메뉴 · 검색)
   - 바탕과 헤더는 화면 폭 전체, 내용은 페이지 성격에 맞는 폭으로 가운데 (기본 640px, html.pc-wide 는 1120px)
   --tabbar-h 를 0 으로 두면 탭바 높이만큼 띄우던 계산이 전부 그대로 맞는다. */
.tabbar .tb-logo,.tabbar .tb-search{display:none;}
@media (min-width:1101px){
  :root{--app-w:640px;--tabbar-h:0px;--head-h:68px;--wide-w:1120px;}
  html.pc-wide{--app-w:var(--wide-w);}
  html.pc-70{--app-w:70vw;} /* 홈과 같은 좌우 여백: 내용 폭 = 화면의 70% */
  body{padding-top:var(--head-h);}
  .app{max-width:none;min-height:calc(100vh - var(--head-h));padding-bottom:48px;}
  /* 내용은 --app-w 폭으로 가운데. 상단 바는 줄만 화면 끝까지, 버튼·제목 위치는 그대로 */
  .app > :where(:not(.topbar,.sheet,.sheet-bg)){max-width:var(--app-w);margin-left:auto;margin-right:auto;}
  .app > .topbar{padding-left:max(16px, calc((100% - var(--app-w)) / 2 + 16px));padding-right:max(8px, calc((100% - var(--app-w)) / 2 + 8px));}
  .page{padding:0 24px;}
  html.pc-70 .page{padding:0;} /* 내용 양끝이 홈의 판다/산다 카드와 같은 위치 */
  .topbar{top:var(--head-h);}

  /* 상단 헤더 */
  .tabbar{top:0;bottom:auto;height:var(--head-h);max-width:none;padding:0 40px;
    display:flex;align-items:center;gap:4px;border-top:none;border-bottom:1px solid var(--line);}
  .tabbar a{flex-direction:row;gap:6px;height:44px;padding:0 14px;border-radius:12px;font-size:16px;font-weight:700;color:var(--sub);transition:background .15s ease,color .15s ease;}
  .tabbar a:hover{background:var(--bg);color:var(--text);}
  .tabbar a.on{background:var(--primary-light);}
  .tabbar a .ti .i3d{width:24px !important;height:24px !important;}
  .tabbar a.on .ti{transform:none;}
  .tabbar .dot{position:static;margin-left:2px;}
  .tabbar .tb-logo{display:flex;padding:0;margin-right:20px;height:auto;border-radius:0;}
  .tabbar .tb-logo:hover{background:none;}
  .tabbar .tb-logo img{height:22px;width:auto;}
  .tabbar .tb-search{display:flex;margin-left:auto;width:320px;height:44px;padding:0 16px;border-radius:22px;}
  .tabbar .tb-search input{font-size:16px;}

  /* 마우스용 반응 */
  .btn:hover:not(:disabled){background:var(--primary-press);}
  .btn.white:hover:not(:disabled),.btn.gray:hover:not(:disabled){background:var(--bg);}
  .row:hover .t,.card:hover .t{text-decoration:underline;}
  .mrow:hover,.chat-item:hover{background:var(--bg);}
  .chip:hover{border-color:#CCC;}

  /* 아래에서 올라오는 시트 → 가운데 창 */
  .sheet{left:50%;right:auto;bottom:auto;top:50%;width:420px;max-width:calc(100% - 48px);margin:0;border-radius:20px;padding:20px;
    transform:translate(-50%,-46%);opacity:0;visibility:hidden;transition:transform .2s ease,opacity .2s ease,visibility .2s;}
  .sheet.show{transform:translate(-50%,-50%);opacity:1;visibility:visible;}
  .sheet .handle{display:none;}
  .sheet .opt{padding:14px 12px;border-radius:12px;}
  .sheet .opt:hover:not(:disabled){background:var(--bg);}

  .toast{bottom:40px;}
  .app .room{height:calc(100vh - var(--head-h));height:calc(100dvh - var(--head-h));}
}

/* 사업자 정보 (홈·약관·개인정보처리방침 하단) */
.site-foot{margin-top:40px;padding:24px 0 8px;border-top:1px solid var(--line);font-size:13px;line-height:1.7;color:var(--hint);}
.site-foot b{display:block;font-size:14px;color:var(--sub);margin-bottom:4px;}
.site-foot p{margin-top:8px;}
.site-foot .links{display:flex;gap:16px;flex-wrap:wrap;}
.site-foot a{text-decoration:underline;}

/* 배송·취소·환불 안내 (물건 상세, 결제 화면) */
.policy{margin-top:20px;border:1px solid var(--line);border-radius:14px;padding:0 16px;font-size:14px;line-height:1.6;color:var(--sub);background:var(--surface);}
.policy summary{padding:14px 0;font-size:15px;font-weight:700;color:var(--text);cursor:pointer;}
.policy h4{font-size:14px;font-weight:800;color:var(--text);margin-top:4px;}
.policy ul{margin:4px 0 12px;padding-left:18px;list-style:disc;}
.policy li{margin-top:4px;}
.policy p{padding:0 0 14px;}
.policy a{text-decoration:underline;}

/* 약관·개인정보처리방침·배송 안내 (terms, privacy, policy) */
.legal-doc{padding-top:8px;padding-bottom:40px;font-size:15px;line-height:1.75;color:#333;} /* 좌우 여백은 .page 것을 그대로 */
.legal-doc h2{font-size:19px;font-weight:800;margin:36px 0 10px;padding-top:20px;border-top:1px solid var(--line);scroll-margin-top:72px;}
.legal-doc h3{font-size:16px;font-weight:700;margin:22px 0 6px;}
.legal-doc p{margin:8px 0;}
.legal-doc ul{padding-left:20px;margin:8px 0;list-style:disc;}
.legal-doc li{margin:4px 0;}
.legal-doc a{text-decoration:underline;}
.legal-doc table{width:100%;border-collapse:collapse;font-size:13.5px;margin:12px 0;display:block;overflow-x:auto;}
.legal-doc th,.legal-doc td{border:1px solid var(--line);padding:10px;text-align:left;vertical-align:top;}
.legal-doc th{background:var(--bg);font-weight:700;white-space:nowrap;}
.legal-tabs{display:flex;gap:8px;overflow-x:auto;padding:8px 0 4px;scrollbar-width:none;}
.legal-tabs::-webkit-scrollbar{display:none;}
.legal-tabs a{flex-shrink:0;padding:9px 14px;border-radius:999px;background:var(--bg);font-size:14px;font-weight:700;color:var(--sub);text-decoration:none;}
.legal-tabs a.on{background:var(--text);color:#fff;}
.legal-date{font-size:13px;color:var(--hint);margin-top:12px;}
.legal-sum{margin-top:12px;padding:18px 20px;border-radius:16px;background:var(--primary-light);}
.legal-sum b{display:block;font-size:16px;font-weight:800;color:var(--text);}
.legal-sum ul{margin:8px 0 0;}
.legal-toc{margin-top:12px;padding:16px 20px;border-radius:16px;border:1px solid var(--line);font-size:14px;}
.legal-toc b{display:block;font-size:15px;font-weight:800;}
.legal-toc ol{margin:6px 0 0;padding:0;list-style:none;display:grid;gap:2px;}
.legal-toc a{display:block;padding:4px 0;color:var(--sub);text-decoration:none;}
.legal-toc a:hover{text-decoration:underline;}
/* 결제 시험 기간 알림, 심사용 계정 안내 */
.test-note{margin-bottom:12px;padding:14px 16px;border-radius:14px;background:#FFF4D6;color:#7A5200;font-size:14px;line-height:1.5;font-weight:600;}
