/* ==========================================================================
   펙다운 디자인 시스템
   2022 앱 시안에서 추출: 브라운 #8B5A44 / 샌드 #F5DCBB
   모바일 우선 → 768px 이상에서 PC 레이아웃으로 확장
   ========================================================================== */

:root{
  /* 브랜드 */
  --brown:#8B5A44;
  --brown-dark:#6F452F;
  --brown-light:#A97460;
  --sand:#F5DCBB;
  --sand-soft:#FBEEDC;
  --sand-line:#EBD6BA;

  /* 중립 — 브라운 쪽으로 살짝 기울인 회색 */
  --ink:#1C1917;
  --ink-2:#44403C;
  --muted:#78716C;
  --muted-2:#A8A29E;
  --line:#E7E2DD;
  --line-soft:#F1EDE9;
  --bg:#FFFFFF;
  --bg-2:#FAF8F6;

  /* 상태 */
  --ok:#2E7D5B;
  --warn:#B45309;
  --danger:#B3261E;

  --radius:10px;
  --radius-lg:14px;
  --shadow:0 1px 2px rgba(28,25,23,.04), 0 8px 24px -18px rgba(28,25,23,.30);
  --header-h:56px;
  --maxw:1140px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:"Pretendard","Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",system-ui,sans-serif;
  font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;
  word-break:keep-all;
}
[hidden]{display:none!important}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--brown);outline-offset:2px;border-radius:4px}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 16px}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- 헤더 ---------- */
.hd{
  position:sticky;top:0;z-index:50;background:var(--bg);
  border-bottom:1px solid var(--line);height:var(--header-h);
}
.hd-in{max-width:var(--maxw);margin:0 auto;padding:0 16px;height:100%;display:flex;align-items:center;gap:12px}
.logo{display:flex;align-items:center;gap:8px;font-weight:800;font-size:18px;letter-spacing:-.02em;color:var(--brown)}
.logo img{width:28px;height:28px;border-radius:7px}
.logo small{font-weight:500;font-size:12px;color:var(--muted);letter-spacing:0}
.hd-nav{margin-left:auto;display:flex;gap:4px;align-items:center}
.hd-nav a{padding:8px 12px;border-radius:8px;font-size:14px;color:var(--ink-2);font-weight:500}
.hd-nav a:hover{background:var(--bg-2)}
.hd-nav a[aria-current="page"]{color:var(--brown);font-weight:700}
@media (max-width:600px){
  .logo small{display:none}
  .hd-nav{min-width:0;overflow-x:auto;scrollbar-width:none;gap:0}
  .hd-nav::-webkit-scrollbar{display:none}
  .hd-nav a{padding:8px 7px;white-space:nowrap;font-size:13.5px}
  .hd-nav a.hide-sm{display:none}
}

/* ---------- 히어로 ---------- */
.hero{background:var(--sand-soft);border-bottom:1px solid var(--sand-line);padding:36px 0 32px}
.hero h1{margin:0 0 10px;font-size:clamp(24px,5vw,34px);line-height:1.25;letter-spacing:-.03em;font-weight:800;text-wrap:balance}
.hero p{margin:0 0 20px;color:var(--ink-2);max-width:52ch}
.hero .count{font-weight:700;color:var(--brown)}

/* ---------- 검색바 ---------- */
.search{display:flex;gap:8px;max-width:560px}
.search input{
  flex:1;min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);
  background:var(--bg);font-size:15px;
}
.search input::placeholder{color:var(--muted-2)}
.search input:focus{outline:none;border-color:var(--brown)}

/* ---------- 버튼 ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:12px 18px;border-radius:var(--radius);border:1px solid transparent;
  font-weight:700;font-size:15px;cursor:pointer;transition:background .12s ease;
}
.btn-primary{background:var(--brown);color:#fff}
.btn-primary:hover{background:var(--brown-dark)}
.btn-outline{background:var(--bg);border-color:var(--line);color:var(--ink)}
.btn-outline:hover{background:var(--bg-2)}
.btn-block{width:100%}
.btn-sm{padding:8px 12px;font-size:13.5px;border-radius:8px}

/* ---------- 필터 칩 ---------- */
.chips{display:flex;gap:8px;overflow-x:auto;padding:14px 0;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{
  flex:0 0 auto;padding:8px 14px;border:1px solid var(--line);border-radius:999px;
  font-size:14px;color:var(--ink-2);background:var(--bg);white-space:nowrap;cursor:pointer;
}
.chip:hover{border-color:var(--brown-light)}
.chip[aria-pressed="true"],.chip.on{background:var(--brown);border-color:var(--brown);color:#fff;font-weight:600}

/* ---------- 태그 (수선/리폼/세탁) ---------- */
.tags{display:flex;flex-wrap:wrap;gap:6px}
.tag{
  padding:3px 9px;border:1px solid var(--line);border-radius:5px;
  font-size:12.5px;color:var(--muted);background:var(--bg);line-height:1.5;
}
.tag-sand{background:var(--sand-soft);border-color:var(--sand-line);color:var(--brown-dark);font-weight:600}
.badge-partner{
  padding:3px 9px;border-radius:5px;background:var(--brown);color:#fff;
  font-size:12px;font-weight:700;line-height:1.5;
}
.badge-ad{
  padding:2px 7px;border-radius:4px;background:var(--bg-2);border:1px solid var(--line);
  font-size:11px;color:var(--muted);font-weight:600;line-height:1.6;
}

/* ---------- 업체 목록 ---------- */
.plist{display:grid;gap:0;border-top:1px solid var(--line)}
.pcard{
  display:grid;grid-template-columns:104px 1fr;gap:14px;
  padding:16px 0;border-bottom:1px solid var(--line-soft);align-items:stretch;
}
/* 사진 칸은 정사각형 한 크기로 고정하고 세로 가운데 — 늘리면 로고 위아래로 흰 여백이 크게 생긴다 */
.pcard .thumb{
  width:104px;height:104px;align-self:center;
  border-radius:var(--radius);overflow:hidden;
  background:var(--sand-soft);display:grid;place-items:center;
}
.pcard .thumb img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.pcard .thumb .ph{font-size:30px;opacity:.85;filter:saturate(.9)}
.pcard .thumb-ph{border:1px solid transparent}
.pcard h3{margin:0 0 4px;font-size:16.5px;font-weight:700;letter-spacing:-.02em;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.pcard .addr{margin:0 0 8px;color:var(--muted);font-size:13.5px;line-height:1.5}
.pcard .meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
.pcard .intro{
  margin:10px 0 0;padding:10px 12px;background:var(--bg-2);border-radius:8px;
  font-size:13.5px;color:var(--ink-2);line-height:1.55;
}
/* 글자를 안쪽 span 에서 자른다 — 바깥에서 자르면 아래 여백만큼 셋째 줄이 비친다 */
.pcard .intro span{
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;max-height:calc(1.55em * 2);
}
.pcard .thumb:has(img.fit){padding:6px;background:#fff}
/* 통째로 보여주는 그림(로고·간판)은 그림 크기에 딱 맞춰 두고 모서리를 직접 둥글린다.
   여백 있는 상자만 둥글리면 정작 그림 모서리는 각져 보인다. */
.pcard .thumb img.fit{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}
@media (min-width:768px){
  .plist{grid-template-columns:repeat(2,1fr);gap:0 28px}
  .pcard{grid-template-columns:120px 1fr}
  .pcard .thumb{width:120px;height:120px}
}

/* ---------- 업체 상세 ---------- */
.gal{background:var(--sand-soft);aspect-ratio:16/9;overflow:hidden;position:relative;border-radius:var(--radius-lg)}
.gal img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.gal .ph{position:absolute;inset:0;display:grid;place-items:center;font-size:56px;opacity:.45}
.detail-head{padding:18px 0 14px;border-bottom:1px solid var(--line)}
.detail-head h1{margin:8px 0 6px;font-size:23px;font-weight:800;letter-spacing:-.03em}
.info{margin:0;padding:16px 0;display:grid;gap:12px}
.info>div{display:grid;grid-template-columns:76px 1fr;gap:12px;align-items:start}
.info dt{color:var(--muted);font-size:14px}
.info dd{margin:0;font-size:14.5px;line-height:1.6}
.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:4px 0 18px}
.map{height:260px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--bg-2)}
.map-sm{height:210px;border-radius:14px}
.cs-map-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:18px 0 8px}
.cs-map-hd h3{margin:0;font-size:15px;font-weight:800;letter-spacing:-.02em}
.cs-map-acts{display:flex;gap:6px}
.cs-map-note{margin:8px 0 0;font-size:12.5px;color:var(--muted)}
.map-fallback{height:100%;display:grid;place-items:center;color:var(--muted);font-size:14px;text-align:center;padding:20px}
.verified-note{
  margin-top:18px;padding:12px 14px;background:var(--bg-2);border-radius:8px;
  font-size:12.5px;color:var(--muted);line-height:1.6;
}
@media (min-width:900px){
  .detail-grid{display:grid;grid-template-columns:1fr 340px;gap:32px;align-items:start}
  .detail-side{position:sticky;top:calc(var(--header-h) + 20px)}
}

/* 모바일 하단 고정 CTA */
.cta-fixed{
  position:fixed;left:0;right:0;bottom:0;z-index:60;
  padding:10px 16px calc(10px + env(safe-area-inset-bottom));
  background:var(--bg);border-top:1px solid var(--line);
}
.cta-fixed .wrap{padding:0}
body.has-cta{padding-bottom:84px}
@media (min-width:900px){ .cta-fixed{display:none} body.has-cta{padding-bottom:0} }

/* ---------- 지역 ---------- */
.region-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;padding:8px 0 24px}
.region-card{
  padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);
  display:flex;justify-content:space-between;align-items:center;gap:8px;
}
.region-card:hover{border-color:var(--brown-light);background:var(--bg-2)}
/* 업체가 있는 지역은 연한 색으로 표시 — 빈 지역과 한눈에 구분되게 */
.region-card.on{background:#EEF5EC;border-color:#D8E7D3}
.region-card.on:hover{background:#E4EFE1;border-color:#B7D1BF}
.region-card.on b{color:var(--ink)}
.region-card.on span{color:#4A7C59;font-weight:700}
.region-card.here{background:var(--brown);border-color:var(--brown)}
.region-card.here b,.region-card.here span{color:#fff}
.region-card.off{background:var(--bg);border-style:dashed}
.region-card.off b,.region-card.off span{color:var(--muted-2)}
.region-card b{font-weight:600;font-size:14.5px}
.region-card span{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}

/* ---------- 섹션 ---------- */
.sec{padding:28px 0}
.sec-hd{display:flex;align-items:baseline;gap:10px;margin-bottom:6px;flex-wrap:wrap}
.sec-hd h2,.sec-hd h1{margin:0;font-size:19px;font-weight:800;letter-spacing:-.025em}
.sec-hd .more{margin-left:auto;font-size:13.5px;color:var(--muted)}
.sec-hd p{margin:0;color:var(--muted);font-size:14px;width:100%}

/* ---------- 빈 상태 / 페이지네이션 ---------- */
.empty{padding:56px 20px;text-align:center;color:var(--muted)}
.empty .ico{font-size:40px;opacity:.4;margin-bottom:10px}
.empty p{margin:0 0 4px;font-size:15px}
.empty small{font-size:13px;color:var(--muted-2)}
.pager{display:flex;gap:6px;justify-content:center;padding:26px 0;flex-wrap:wrap}
.pager a,.pager span{
  min-width:38px;height:38px;display:grid;place-items:center;padding:0 10px;
  border:1px solid var(--line);border-radius:8px;font-size:14px;font-variant-numeric:tabular-nums;
}
.pager .on{background:var(--brown);border-color:var(--brown);color:#fff;font-weight:700}

/* ---------- 콘텐츠 문서 ---------- */
.doc{padding:28px 0 48px;max-width:72ch}
.doc h1{font-size:26px;font-weight:800;letter-spacing:-.03em;margin:0 0 6px}
.doc .updated{color:var(--muted);font-size:13.5px;margin:0 0 24px}
.doc h2{font-size:17px;font-weight:700;margin:28px 0 8px}
.doc p,.doc li{color:var(--ink-2);font-size:14.5px;line-height:1.75}
.doc ul{padding-left:18px}

/* ---------- 푸터 ---------- */
.ft{margin-top:40px;border-top:1px solid var(--line);background:var(--bg-2);padding:28px 0 40px}
.ft-in{display:flex;flex-wrap:wrap;gap:20px 40px;justify-content:space-between}
.ft-brand{font-weight:800;color:var(--brown);font-size:16px}
.ft-brand small{display:block;font-weight:500;color:var(--muted);font-size:12.5px;margin-top:4px}
.ft nav{display:flex;gap:16px;flex-wrap:wrap}
.ft nav a{font-size:13.5px;color:var(--ink-2)}
.ft nav a:hover{color:var(--brown)}
.ft .legal{width:100%;font-size:12px;color:var(--muted-2);line-height:1.7;margin-top:4px}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* 사진이 없을 때는 갤러리 영역을 줄인다 */
.gal.gal-empty{aspect-ratio:auto;height:150px}
/* 로고(정사각형)는 잘리지 않게 — 상자도 정사각형, 그림은 통째로 */
.gal.gal-logo{aspect-ratio:1/1;max-width:420px;margin:0 auto;background:#fff;border:1px solid var(--line)}
.gal.gal-logo{padding:12px;box-sizing:border-box;display:grid;place-items:center}
.gal.gal-logo img{position:static;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;border-radius:14px}
.gal.gal-empty .ph{font-size:40px}

/* ---------- 회원 · 내 장비함 ---------- */
.uform{display:grid;gap:16px;max-width:460px}
.uform.wide{max-width:720px}
.uform .row{display:grid;gap:6px}
.uform .row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.uform label>span,.uform .lbl{font-size:13.5px;font-weight:600;color:var(--ink-2)}
.uform input[type=text],.uform input[type=email],.uform input[type=password],
.uform input[type=number],.uform input[type=date],.uform select,.uform textarea,.uform input[type=file]{
  width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:15px;background:var(--bg);
}
.uform textarea{min-height:100px;resize:vertical}
.uform input:focus,.uform select:focus,.uform textarea:focus{outline:none;border-color:var(--brown)}
.uform .hint{font-size:12.5px;color:var(--muted);line-height:1.55}
.uform .checks{display:flex;flex-wrap:wrap;gap:8px 16px}
.uform .checks label{display:flex;align-items:center;gap:6px;font-size:14.5px;cursor:pointer}
.alert{padding:12px 14px;border-radius:9px;font-size:14px;margin-bottom:16px;line-height:1.6}
.alert-err{background:#FBEBEA;color:#8C1D18;border:1px solid #F0CFCC}
.alert-ok{background:#E8F3ED;color:#1F5E44;border:1px solid #C5E2D4}
.alert-warn{background:#FEF3E2;color:#92400E;border:1px solid #F7E0BE}

.gear-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.gear-card{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg);display:flex;flex-direction:column}
.gear-card:hover{border-color:var(--brown-light)}
.gear-card .ph{aspect-ratio:4/3;background:var(--sand-soft);display:grid;place-items:center;font-size:34px;opacity:.55;overflow:hidden}
.gear-card .ph img{width:100%;height:100%;object-fit:cover;opacity:1}
.gear-card .bd{padding:12px 14px 14px;display:flex;flex-direction:column;gap:5px;flex:1}
.gear-card .cat{font-size:12px;color:var(--muted)}
.gear-card h3{margin:0;font-size:15.5px;font-weight:700;letter-spacing:-.02em;line-height:1.35}
.gear-card .sub{font-size:13px;color:var(--muted)}
.gear-card .due{margin-top:auto;padding-top:8px;font-size:12.5px;font-weight:600}
.due-ok{color:var(--muted)}
.due-soon{color:var(--warn)}
.due-over{color:var(--danger)}

.tl{position:relative;padding-left:22px}
.tl::before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:2px;background:var(--line)}
.tl-item{position:relative;padding:0 0 22px}
.tl-item::before{content:"";position:absolute;left:-21px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--brown);border:2px solid var(--bg)}
.tl-item .when{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.tl-item h4{margin:2px 0 4px;font-size:15px;font-weight:700}
.tl-item .meta{font-size:13.5px;color:var(--ink-2);line-height:1.6}
.tl-photos{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.tl-photos figure{margin:0;width:96px}
.tl-photos img{width:96px;height:96px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}
.tl-photos figcaption{font-size:11.5px;color:var(--muted);text-align:center;margin-top:3px}

.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:22px}
.stat-box{border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;background:var(--bg)}
.stat-box .k{font-size:12.5px;color:var(--muted);margin-bottom:5px}
.stat-box .v{font-size:23px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.15}
.stat-box .v.hot{color:var(--brown)}

.noti{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.noti-item{padding:14px 16px;border-bottom:1px solid var(--line-soft);display:flex;gap:12px;align-items:flex-start}
.noti-item:last-child{border-bottom:0}
.noti-item.unread{background:var(--sand-soft)}
.noti-item .dot{width:7px;height:7px;border-radius:50%;background:var(--brown);margin-top:7px;flex:0 0 auto}
.noti-item .dot.read{background:var(--line)}
.noti-item h4,.noti-item .noti-title{margin:0 0 3px;font-size:14.5px;font-weight:600}
.noti-item p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.55}
.noti-item .when{font-size:12px;color:var(--muted-2);margin-top:4px}

/* ---------- 소셜 로그인 ---------- */
.btn-google{
  display:flex;align-items:center;justify-content:center;gap:10px;width:100%;
  padding:12px 18px;border:1px solid var(--line);border-radius:var(--radius);
  background:var(--bg);color:var(--ink);font-weight:600;font-size:15px;cursor:pointer;
}
.btn-google:hover{background:var(--bg-2);border-color:var(--muted-2)}
.btn-google svg{width:18px;height:18px;flex:0 0 auto}
.or{display:flex;align-items:center;gap:12px;color:var(--muted-2);font-size:12.5px;margin:6px 0}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line)}

/* ---------- 업체 사진 갤러리 ---------- */
.gal-thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
.gal-thumb{
  flex:0 0 auto;width:76px;height:58px;padding:0;border:2px solid transparent;border-radius:8px;
  overflow:hidden;background:var(--sand-soft);cursor:pointer;line-height:0;
}
.gal-thumb img{width:100%;height:100%;object-fit:cover;border-radius:6px}
.gal-thumb:hover{border-color:var(--brown-light)}
.gal-thumb.on{border-color:var(--brown)}

/* ==========================================================================
   장비 등록 (gf-)
   ========================================================================== */
.gf{padding:22px 16px 120px}
.gf-head{margin-bottom:18px}
.gf-back{font-size:13.5px;color:var(--brown)}
.gf-head h1{margin:8px 0 4px;font-size:clamp(23px,4vw,28px);font-weight:800;letter-spacing:-.03em}
.gf-head p{margin:0;color:var(--muted);font-size:14.5px}
.gf-muted{color:var(--muted);font-weight:400}
.gf-hint{margin:0;font-size:12.5px;color:var(--muted);line-height:1.5}

.gf-grid{display:grid;gap:18px}
.gf-main{display:grid;gap:16px;min-width:0}
@media (min-width:960px){
  .gf-grid{grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start}
  .gf-side{position:sticky;top:calc(var(--header-h) + 20px)}
}

/* 단계 카드 */
.gf-step{
  background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:20px 18px 22px;
  display:grid;gap:16px;box-shadow:var(--shadow);transition:opacity .2s ease;
}
.gf-step[data-locked]{opacity:.45;pointer-events:none}
.gf-step-hd{display:flex;gap:12px;align-items:flex-start}
.gf-step-hd .n{
  flex:0 0 auto;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;
  background:var(--brown);color:#fff;font-size:13px;font-weight:800;margin-top:1px;
}
.gf-step-hd h2{margin:0;font-size:17px;font-weight:800;letter-spacing:-.02em}
.gf-step-hd p{margin:2px 0 0;font-size:13px;color:var(--muted)}
.gf-step.shake{animation:gfShake .4s ease}
@keyframes gfShake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}

/* ① 종류 타일 */
.gf-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
@media (min-width:560px){.gf-cats{grid-template-columns:repeat(6,1fr)}}
.gf-cat{position:relative;cursor:pointer}
.gf-cat input{position:absolute;opacity:0;pointer-events:none}
.gf-cat .ico{
  display:grid;place-items:center;aspect-ratio:1;border-radius:14px;font-size:26px;
  background:var(--bg-2);border:1.5px solid var(--line-soft);transition:all .15s ease;
}
.gf-cat .nm{display:block;text-align:center;font-size:12.5px;margin-top:5px;color:var(--ink-2);font-weight:500}
.gf-cat:hover .ico{border-color:var(--sand-line);background:var(--sand-soft);transform:translateY(-1px)}
.gf-cat input:checked + .ico{background:var(--sand-soft);border-color:var(--brown);box-shadow:0 0 0 3px rgba(139,90,68,.12)}
.gf-cat input:checked ~ .nm{color:var(--brown);font-weight:700}
.gf-cat input:checked + .ico::after{
  content:"✓";position:absolute;top:-5px;right:-5px;width:19px;height:19px;border-radius:50%;
  background:var(--brown);color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;
}
.gf-cat input:focus-visible + .ico{outline:2px solid var(--brown);outline-offset:2px}

/* 입력 */
.gf-field{display:grid;gap:8px;min-width:0}
.gf-finder{display:grid;gap:20px}   /* ② 안의 브랜드·모델·목록·AI 사이 */
.gf-ai-wrap{display:grid;gap:8px}
.gf-field>label{font-size:13.5px;font-weight:700;color:var(--ink-2)}
.gf input[type=text],.gf input[type=date],.gf textarea{
  width:100%;min-height:50px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;font:inherit;font-size:15px;
  background:var(--bg);transition:border-color .12s ease,box-shadow .12s ease;
}
.gf input[type=text]:focus,.gf input[type=date]:focus,.gf textarea:focus{
  outline:none;border-color:var(--brown);box-shadow:0 0 0 3px rgba(139,90,68,.10);
}
.gf textarea{resize:vertical;min-height:84px}
.gf input[type=date]{-webkit-appearance:none;appearance:none;line-height:1.4;display:block;color:var(--ink)}
.gf input[type=date]::-webkit-date-and-time-value{text-align:left}
.gf-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.gf-suffix{position:relative}
.gf-suffix input{padding-right:34px!important;text-align:right;font-variant-numeric:tabular-nums}
.gf-suffix span{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:14px}

/* 브랜드 콤보 */
.gf-combo{position:relative}
.gf .gf-combo input{padding-left:40px;background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23A8A29E' stroke-width='2'%3E%3Ccircle cx='7' cy='7' r='5'/%3E%3Cpath d='m11 11 3.5 3.5'/%3E%3C/svg%3E") 14px 50% no-repeat}
.gf-combo-list{
  position:absolute;z-index:20;left:0;right:0;top:calc(100% + 6px);margin:0;padding:6px;list-style:none;
  background:var(--bg);border:1px solid var(--line);border-radius:12px;max-height:280px;overflow:auto;
  box-shadow:0 12px 32px -12px rgba(28,25,23,.28);
}
.gf-combo-list li{padding:9px 11px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:14.5px;cursor:pointer}
.gf-combo-list li:hover,.gf-combo-list li.on{background:var(--sand-soft)}
.gf-combo-list li em{font-style:normal;font-size:11.5px;color:var(--brown);background:var(--sand-soft);border-radius:999px;padding:1px 8px;font-weight:700}
.gf-combo-list li:hover em,.gf-combo-list li.on em{background:#fff}
.gf-combo-list .gf-combo-cap{font-size:11.5px;color:var(--muted);padding:6px 11px 4px;cursor:default}
.gf-combo-list .gf-combo-cap:hover{background:none}
.gf-combo-list .gf-combo-free{color:var(--brown);font-weight:600;border-top:1px solid var(--line-soft);border-radius:0 0 8px 8px;margin-top:4px}

/* 제품 목록 */
.gf-plist-wrap{border:1px solid var(--line);border-radius:14px;overflow:hidden}
.gf-plist-hd{display:flex;justify-content:space-between;padding:9px 14px;background:var(--bg-2);font-size:12.5px;font-weight:600;color:var(--ink-2);border-bottom:1px solid var(--line-soft)}
.gf-plist{list-style:none;margin:0;padding:4px;max-height:300px;overflow:auto}
.gf-plist button{
  width:100%;text-align:left;background:none;border:0;padding:10px 11px;border-radius:9px;cursor:pointer;
  display:flex;flex-direction:column;gap:2px;
}
.gf-plist button:hover,.gf-plist button.on{background:var(--sand-soft)}
.gf-plist button.on{box-shadow:inset 0 0 0 1.5px var(--brown-light)}
.gf-plist .nm{font-size:14.5px;font-weight:600;color:var(--ink)}
.gf-plist .nm small{font-size:12px;color:var(--muted);font-weight:500}
.gf-plist .sp{font-size:12.5px;color:var(--muted)}
.gf-empty{
  padding:14px 16px;border-radius:14px;background:var(--bg-2);border:1px dashed var(--line);
  font-size:13.5px;color:var(--ink-2);line-height:1.65;
}
.gf-empty b{color:var(--brown)}
.gf-badge-ai{font-style:normal;font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:4px;background:var(--bg-2);color:var(--muted);border:1px solid var(--line);vertical-align:1px}
.gf-badge-ai.on{background:#EEF4FF;color:#3451A6;border-color:#D6E0FA}

/* 선택된 제품 */
.gf-picked{
  display:flex;gap:14px;align-items:center;padding:14px;border-radius:14px;
  background:linear-gradient(135deg,var(--sand-soft),#fff 70%);border:1.5px solid var(--sand-line);
}
.gf-picked-ico{flex:0 0 auto;width:48px;height:48px;border-radius:12px;background:#fff;display:grid;place-items:center;font-size:24px;border:1px solid var(--sand-line)}
.gf-picked-bd{flex:1;min-width:0;display:grid;gap:3px}
.gf-picked-brand{font-size:12px;color:var(--muted)}
.gf-picked-bd strong{font-size:16px;letter-spacing:-.02em;line-height:1.35}
.gf-specs{display:flex;flex-wrap:wrap;gap:5px}
.gf-specs span{font-size:12px;padding:2px 8px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--ink-2)}
.gf-link{background:none;border:0;padding:4px 2px;color:var(--brown);font-weight:600;font-size:13.5px;cursor:pointer;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.gf-link.danger{color:var(--danger)}

/* AI */
.gf-ai-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.gf-ai-btn{
  display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:999px;cursor:pointer;
  font-size:14px;font-weight:700;border:1.5px solid transparent;
  background:linear-gradient(#fff,#fff) padding-box,linear-gradient(120deg,#C08A5B,#8B5A44 45%,#6C7BD8) border-box;
  color:var(--brown-dark);transition:transform .12s ease,box-shadow .12s ease;
}
.gf-ai-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px -8px rgba(139,90,68,.5)}
.gf-ai-btn:disabled{opacity:.45;cursor:not-allowed}
.gf-ai-btn.ghost{background:var(--bg);border:1.5px solid var(--line);color:var(--ink-2)}
.gf-ai-btn .spark{font-size:15px}
.gf-quota{font-size:12px;color:var(--muted-2);margin-left:auto}
.gf-ai{
  border-radius:16px;padding:16px;display:grid;gap:12px;
  background:linear-gradient(160deg,#FBF4EA 0%,#fff 55%,#F4F5FD 100%);border:1px solid #EFE3D2;
}
.gf-ai-hd{display:flex;gap:12px;align-items:center}
.gf-ai-hd img{width:52px;height:52px;border-radius:10px;object-fit:cover;border:1px solid var(--line);flex:0 0 auto}
.gf-ai-hd strong{font-size:15px}
.gf-ai-hd p{margin:2px 0 0;font-size:13px;color:var(--muted)}
.gf-ai-load{display:flex;gap:6px;padding:4px 2px}
.gf-ai-load span{width:8px;height:8px;border-radius:50%;background:var(--brown-light);animation:gfDot 1.1s infinite ease-in-out}
.gf-ai-load span:nth-child(2){animation-delay:.15s}
.gf-ai-load span:nth-child(3){animation-delay:.3s}
@keyframes gfDot{0%,80%,100%{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}
.gf-cand{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;display:grid;gap:9px}
.gf-cand-hd{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.gf-cand-hd small{display:block;font-size:12px;color:var(--muted)}
.gf-cand-hd strong{font-size:15.5px;letter-spacing:-.02em;line-height:1.35}
.gf-conf{flex:0 0 auto;font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px}
.gf-conf.hi{background:#E8F3ED;color:#1F5E44}
.gf-conf.md{background:#FEF3E2;color:#92400E}
.gf-conf.lo{background:var(--bg-2);color:var(--muted)}
.gf-cand-feat{margin:0;font-size:12.5px;color:var(--ink-2)}
.gf-cand-note{margin:0;font-size:12.5px;color:#3451A6}
.gf-cand-ft{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding-top:4px;border-top:1px solid var(--line-soft)}
.gf-src{font-size:12px;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap;min-width:0}
.gf-src a{color:var(--brown);text-decoration:underline;text-underline-offset:2px;overflow:hidden;text-overflow:ellipsis;max-width:160px;white-space:nowrap}
.gf-ai-foot{margin:0;font-size:13px;color:var(--muted);text-align:center}

/* 소재 · 상태 알약 */
.gf-pills{display:flex;flex-wrap:wrap;gap:7px}
.gf-pills label,.gf-seg label{cursor:pointer}
.gf-pills input,.gf-seg input{position:absolute;opacity:0;pointer-events:none}
.gf-pills span{display:inline-block;padding:8px 13px;border-radius:999px;border:1px solid var(--line);font-size:13.5px;color:var(--ink-2);background:var(--bg);transition:all .12s ease}
.gf-pills label:hover span{border-color:var(--brown-light)}
.gf-pills input:checked + span{background:var(--brown);border-color:var(--brown);color:#fff;font-weight:600}
.gf-pills input:focus-visible + span,.gf-seg input:focus-visible + span{outline:2px solid var(--brown);outline-offset:2px}
.gf-seg{display:grid;grid-template-columns:repeat(3,1fr);background:var(--bg-2);border-radius:12px;padding:4px;gap:4px}
.gf-seg span{display:block;text-align:center;padding:9px 6px;border-radius:9px;font-size:13.5px;color:var(--ink-2)}
.gf-seg input:checked + span{background:#fff;color:var(--brown);font-weight:700;box-shadow:0 1px 3px rgba(28,25,23,.12)}

/* 사진 */
.gf-photo-row{display:flex;gap:14px;align-items:flex-start}
.gf-drop{
  flex:0 0 auto;position:relative;width:104px;height:104px;border-radius:16px;overflow:hidden;cursor:pointer;
  border:1.5px dashed var(--sand-line);background:var(--sand-soft);display:grid;place-items:center;
}
.gf-drop:hover{border-color:var(--brown-light)}
.gf-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.gf-drop img{width:100%;height:100%;object-fit:cover}
.gf-drop-ph{display:grid;gap:2px;text-align:center;font-size:12px;color:var(--brown-dark);font-weight:600;pointer-events:none}
.gf-drop-ph b{font-size:24px}

.gf-more{border-top:1px solid var(--line-soft);padding-top:12px}
.gf-more summary{cursor:pointer;font-size:14px;font-weight:700;color:var(--ink-2);list-style:none;display:flex;gap:8px;align-items:baseline}
.gf-more summary::before{content:"＋";color:var(--brown);font-weight:800}
.gf-more[open] summary::before{content:"－"}
.gf-more summary::-webkit-details-marker{display:none}
.gf-more[open]{display:grid;gap:14px}
.gf-danger{text-align:right;margin:0}

/* 미리보기 */
.gf-side{display:none}
@media (min-width:960px){.gf-side{display:block}}
.gf-preview{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--bg);box-shadow:var(--shadow)}
.gf-preview .ph{aspect-ratio:4/3;background:var(--sand-soft);display:grid;place-items:center;font-size:52px;overflow:hidden}
.gf-preview .ph img{width:100%;height:100%;object-fit:cover}
.gf-preview .bd{padding:14px 16px 16px;display:grid;gap:7px}
.gf-preview .cat{font-size:12px;color:var(--muted)}
.gf-preview h3{margin:0;font-size:17px;font-weight:800;letter-spacing:-.02em;line-height:1.35;word-break:break-all}
.gf-pv-care{display:grid;gap:2px;margin-top:4px;padding:10px 12px;border-radius:10px;background:var(--bg-2)}
.gf-pv-care:empty{display:none}
.gf-pv-care b{font-size:13px;color:var(--ink)}
.gf-pv-care span{font-size:12px;color:var(--muted)}
.gf-side-note{font-size:12.5px;color:var(--muted);line-height:1.6;margin:12px 4px 0}
.gf-side-note b{color:var(--brown-dark)}

/* 하단 저장 바 */
.gf-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:40;
  background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);
  border-top:1px solid var(--line);padding:10px 0 calc(10px + env(safe-area-inset-bottom));
}
.gf-bar .wrap{display:flex;align-items:center;gap:12px;justify-content:space-between}
.gf-bar-sum{font-size:14px;font-weight:600;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.gf-bar .btn{flex:0 0 auto;min-width:132px;border-radius:12px}
.gear-form-page .ft{margin-bottom:70px}

/* ---------- 장비 상세 · 관리 가이드 ---------- */

.guide{border:1px solid var(--line);border-radius:18px;padding:18px;margin:6px 0 28px;display:grid;gap:16px;background:var(--bg)}
.guide-hd{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.guide-hd h2{margin:0;font-size:18px;font-weight:800;letter-spacing:-.02em}
.guide-badge{font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:999px;background:#F4F5FD;color:#3451A6;border:1px solid #E0E5FA}
.guide-cycle{display:flex;gap:14px;align-items:center;padding:14px;border-radius:14px;background:linear-gradient(135deg,var(--sand-soft),#fff 80%);border:1px solid var(--sand-line)}
.gc-num{flex:0 0 auto;width:74px;height:74px;border-radius:16px;background:#fff;border:1px solid var(--sand-line);display:grid;place-items:center;align-content:center;text-align:center}
.gc-num b{font-size:26px;font-weight:800;color:var(--brown);line-height:1}
.gc-num span{font-size:11px;color:var(--muted);margin-top:3px}
.gc-bd strong{font-size:15px}
.gc-bd p{margin:3px 0 0;font-size:13.5px;color:var(--ink-2);line-height:1.55}
.gc-bd .gc-next{font-size:12.5px;color:var(--brown-dark);font-weight:600}
.guide-how{display:grid;gap:10px}
@media (min-width:700px){.guide-how{grid-template-columns:repeat(3,1fr)}}
.gh{padding:13px 14px;border-radius:12px;background:var(--bg-2)}
.gh h3{margin:0 0 5px;font-size:14px;font-weight:800;display:flex;gap:6px;align-items:center}
.gh p{margin:0;font-size:13.5px;color:var(--ink-2);line-height:1.65}
.guide-lists{display:grid;gap:10px}
@media (min-width:700px){.guide-lists{grid-template-columns:1fr 1fr}}
.guide-lists h3{margin:0 0 6px;font-size:13.5px;font-weight:800}
.guide-lists ul{margin:0;padding:0;list-style:none;display:grid;gap:5px}
.guide-lists li{font-size:13.5px;color:var(--ink-2);padding-left:20px;position:relative;line-height:1.55}
.gl-dont li::before{content:"✕";position:absolute;left:2px;color:var(--danger);font-weight:800;font-size:12px}
.gl-tip li::before{content:"✓";position:absolute;left:2px;color:var(--ok);font-weight:800;font-size:12px}
.guide-range{display:flex;flex-wrap:wrap;gap:6px}
.guide-range span{font-size:12.5px;padding:4px 10px;border-radius:999px;border:1px solid var(--line);color:var(--ink-2)}
.guide-comp h3{margin:0 0 8px;font-size:13.5px;font-weight:800}
.guide-comp ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}
@media (min-width:700px){.guide-comp ul{grid-template-columns:1fr 1fr}}
.guide-comp li{display:grid;grid-template-columns:auto 1fr;gap:1px 8px;padding:9px 11px;border-radius:10px;border:1px solid var(--line-soft)}
.guide-comp .w{grid-row:span 2;align-self:center;font-size:11px;font-weight:700;color:var(--brown);background:var(--sand-soft);padding:2px 7px;border-radius:6px;white-space:nowrap}
.guide-comp b{font-size:13.5px}
.guide-comp small{font-size:12px;color:var(--muted);line-height:1.45}
.guide-foot{margin:0;font-size:12px;color:var(--muted-2);line-height:1.6}
.guide-loading{display:grid;gap:10px}
.guide-loading p{margin:0;font-size:13px;color:var(--muted)}
.gl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.sk{display:block;height:16px;border-radius:8px;background:linear-gradient(90deg,var(--bg-2) 25%,var(--sand-soft) 50%,var(--bg-2) 75%);background-size:200% 100%;animation:skel 1.3s infinite linear}
.gl-grid .sk{height:78px;border-radius:12px}
@keyframes skel{from{background-position:200% 0}to{background-position:-200% 0}}

/* ---------- 내 장비함 · 오늘의 안내 ---------- */
.today{border:1px solid var(--line);border-radius:18px;padding:18px;margin:4px 0 22px;display:grid;gap:14px;background:linear-gradient(180deg,var(--sand-soft) 0,#fff 120px)}
.today-hd{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}
.today-hd h2{margin:0;font-size:18px;font-weight:800;letter-spacing:-.02em}
.today-hd p{margin:2px 0 0;font-size:13px;color:var(--muted)}
.today-region{position:relative}
.today-region summary{list-style:none;cursor:pointer;font-size:13px;font-weight:600;padding:7px 12px;border-radius:999px;background:#fff;border:1px solid var(--line)}
.today-region summary::-webkit-details-marker{display:none}
.today-region form{position:absolute;right:0;top:calc(100% + 6px);z-index:10;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;display:flex;gap:6px;box-shadow:0 12px 32px -12px rgba(28,25,23,.28);width:max-content;max-width:86vw}
.today-region select{padding:8px 10px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:14px;max-width:60vw}
.wx{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
.wx::-webkit-scrollbar{display:none}
.wx-day{flex:1 0 76px;display:grid;justify-items:center;gap:2px;padding:10px 6px;border-radius:12px;background:#fff;border:1px solid var(--line-soft)}
.wx-day.we{border-color:var(--sand-line)}
.wx-day .dt{font-size:12px;color:var(--muted);font-weight:600}
.wx-day.we .dt{color:var(--brown)}
.wx-day .ic{font-size:22px;line-height:1.3}
.wx-day .tp{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.wx-day .tp b{color:var(--ink);font-size:14px}
.wx-day .mt{font-size:11px;color:var(--muted);min-height:16px}
.wx-normal{display:grid;gap:2px;padding:12px 14px;border-radius:12px;background:#fff;border:1px solid var(--line-soft)}
.wx-normal span{font-weight:700;font-size:14px}
.wx-normal small{font-size:12px;color:var(--muted)}
.adv{display:grid;gap:8px}
@media (min-width:760px){.adv{grid-template-columns:1fr 1fr}}
.adv-card{display:flex;gap:11px;padding:13px 14px;border-radius:14px;background:#fff;border:1px solid var(--line)}
.adv-card .ic{font-size:20px;line-height:1.3}
.adv-card strong{display:block;font-size:14px;line-height:1.4}
.adv-card p{margin:3px 0 0;font-size:13px;color:var(--ink-2);line-height:1.6}
.adv-card .ln{display:flex;gap:12px;margin-top:6px}
.adv-card .ln a{font-size:12.5px;color:var(--brown);font-weight:700}
.adv-card.k-warn{border-color:#F3D3B0;background:#FFF9F2}
.adv-card.k-care{border-color:var(--sand-line)}
.bring h3{margin:0 0 8px;font-size:15px;font-weight:800}
.bring-cols{display:grid;gap:10px}
@media (min-width:760px){.bring-cols{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}
.bring-col{padding:12px 14px;border-radius:14px;background:#fff;border:1px solid var(--line-soft)}
.bring-col h4{margin:0 0 6px;font-size:13px;font-weight:800;color:var(--ink-2)}
.bring-col ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.bring-col li{display:grid;font-size:13.5px}
.bring-col li small{font-size:12px;color:var(--muted);line-height:1.45}

/* 문서 안 표 (개인정보 국외 이전 고지 등) */
.tbl-doc{overflow-x:auto;margin:10px 0 14px}
.tbl-doc table{border-collapse:collapse;width:100%;min-width:480px;font-size:13.5px}
.tbl-doc th,.tbl-doc td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top;line-height:1.6}
.tbl-doc th{background:var(--bg-2);width:130px;font-weight:700;color:var(--ink-2);white-space:nowrap}
.tbl-doc td{color:var(--ink-2)}
.gf-ai-note{margin:0;font-size:12px;color:var(--muted-2);line-height:1.5}
.gf-ai-note a{color:var(--muted);text-decoration:underline}

/* ---------- AI 추천 · 리워드 링크 ---------- */
.reco{display:grid;gap:10px}
.reco-hd{display:flex;align-items:center;gap:8px}
.reco-hd h3{margin:0;font-size:15px;font-weight:800}
.reco-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
@media (min-width:760px){.reco-list{grid-template-columns:1fr 1fr}}
.reco-item{display:flex;flex-direction:column;gap:10px;justify-content:space-between;padding:13px 14px;border-radius:14px;background:#fff;border:1px solid var(--line)}
.reco-item.p1{border-color:var(--sand-line)}
.reco-bd strong{display:block;font-size:14.5px;margin-top:5px}
.reco-bd p{margin:3px 0 0;font-size:13px;color:var(--ink-2);line-height:1.55}
.reco-tags{display:flex;flex-wrap:wrap;gap:5px}
.reco-tags span{font-size:11px;font-weight:700;padding:2px 7px;border-radius:5px;background:var(--bg-2);color:var(--muted)}
.reco-tags .k-care{background:#EEF6F1;color:#1F5E44}
.reco-tags .k-protect{background:var(--sand-soft);color:var(--brown-dark)}
.reco-tags .k-safety{background:#FBEBEA;color:#8C1D18}
.reco-tags .k-missing{background:#EEF4FF;color:#3451A6}
.reco-tags .must{background:var(--brown);color:#fff}
.reco-tags .now{background:#FFF4E0;color:#92400E}
.shop-btns{display:flex;gap:6px;flex-wrap:wrap}
.shop-btn{display:inline-flex;align-items:center;gap:4px;padding:8px 13px;border-radius:9px;font-size:13px;font-weight:700;border:1px solid var(--sand-line);background:var(--sand-soft);color:var(--brown-dark)}
.shop-btn:hover{background:#fff;border-color:var(--brown-light)}
.shop-mini{display:inline-flex;align-items:center;gap:2px;margin-left:6px;font-size:12px;font-weight:700;color:var(--brown);white-space:nowrap;text-decoration:underline;text-underline-offset:2px}
.bring-col li .shop-mini{margin:2px 0 0}
.shop-notice{margin:0;display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:10px;background:var(--bg-2);border:1px solid var(--line);font-size:13px;color:var(--ink-2);line-height:1.6}
.shop-notice small{font-size:12px;color:var(--muted)}
.shop-notice .ad{flex:0 0 auto;display:inline-block;font-size:11.5px;font-weight:800;padding:1px 7px;border-radius:5px;background:var(--ink-2);color:#fff;margin-top:2px}

/* ==========================================================================
   캠핑 세팅 커뮤니티 (cm-)
   ========================================================================== */
.cm-hero{background:linear-gradient(180deg,var(--sand-soft),var(--bg));border-bottom:1px solid var(--sand-line);padding:26px 0 22px}
.cm-hero .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap}
.cm-hero h1{margin:0 0 4px;font-size:clamp(22px,4vw,28px);font-weight:800;letter-spacing:-.03em}
.cm-hero p{margin:0;color:var(--ink-2);font-size:14.5px}
.cm-wrap{padding-bottom:40px}
.cm-filters{padding:10px 0 4px}
.cm-sort{display:flex;gap:16px;padding:6px 0 0}
.cm-sort a{font-weight:700;font-size:15px;color:var(--muted);padding-bottom:4px;border-bottom:2px solid transparent}
.cm-sort a.on{color:var(--ink);border-color:var(--brown)}
.cm-cats{padding-top:0}
.cm-cats .chip{font-size:13px;padding:6px 11px}
.cm-crumb{margin:18px 0 12px;font-size:13.5px}
.cm-crumb a{color:var(--brown)}
.cm-muted{color:var(--muted);font-size:13px}

/* 카드 — 사진 비율을 살리는 벽돌형 */
/* 세팅 카드 — '이달에 가볼 만한 캠핑장'(.cs-grid/.cs-card) 과 같은 규격 */
.cm-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));padding:8px 0}
.cm-card{margin:0;display:grid;grid-template-rows:auto 1fr;border:1px solid var(--line);border-radius:14px;overflow:hidden;
  background:#fff;transition:box-shadow .15s,transform .15s}
.cm-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}
.cm-card-ph{position:relative;display:block;overflow:hidden;background:var(--sand-soft);aspect-ratio:16/10}
.cm-card-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.cm-card:hover .cm-card-ph img{transform:scale(1.03)}
.cm-badge{position:absolute;font-size:11.5px;font-weight:700;padding:3px 8px;border-radius:999px;background:rgba(28,25,23,.62);color:#fff;backdrop-filter:blur(4px)}
.cm-badge-n{top:8px;right:8px}
.cm-badge-tag{left:8px;bottom:8px}
.cm-badge-hidden{top:8px;left:8px;background:var(--warn)}
.cm-card-bd{padding:10px 12px 12px;display:grid;gap:4px;align-content:start}
.cm-card-who{display:flex;align-items:center;gap:6px;min-width:0}
.cm-avatar{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:var(--sand);color:var(--brown-dark);font-size:11px;font-weight:800;display:grid;place-items:center;overflow:hidden}
.cm-avatar img{width:100%;height:100%;object-fit:cover}
.cm-avatar.lg{width:40px;height:40px;font-size:16px}
.cm-avatar.sm{width:30px;height:30px;font-size:13px}
.cm-nick{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cm-style{font-size:11px;color:var(--muted);white-space:nowrap}
.cm-card-tags{margin:0;font-size:12.5px;color:var(--ink-2);line-height:1.45;min-height:1.45em;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.cm-card-meta{display:flex;gap:10px;align-items:center;font-size:12px;color:var(--muted)}
.cm-react{background:none;border:0;padding:2px 0;cursor:pointer;display:inline-flex;align-items:center;gap:3px;font-size:12px;color:var(--muted)}
.cm-react .ic{filter:grayscale(1);opacity:.7}
.cm-react.on{color:var(--brown);font-weight:700}
.cm-react.on .ic{filter:none;opacity:1}
.cm-react.big{padding:9px 13px;border:1px solid var(--line);border-radius:10px;font-size:13.5px;color:var(--ink-2);background:var(--bg)}
.cm-react.big.on{border-color:var(--sand-line);background:var(--sand-soft)}

/* 게시물 */
.cm-show{padding-bottom:50px}
.cm-show-grid{display:grid;gap:20px}
@media (min-width:960px){
  .cm-show-grid{grid-template-columns:minmax(0,1fr) 360px;gap:32px;align-items:start}
  .cm-side{position:sticky;top:calc(var(--header-h) + 16px)}
}
.cm-photos{display:grid;gap:12px;position:relative}
.cm-photo{position:relative;margin:0;border-radius:16px;overflow:visible;background:var(--sand-soft)}
.cm-photo img{width:100%;height:100%;object-fit:cover;border-radius:16px}
.cm-pin{position:absolute;transform:translate(-50%,-50%);z-index:2}
.cm-pin-dot{width:28px;height:28px;border-radius:50%;border:2px solid #fff;background:rgba(139,90,68,.92);color:#fff;font-weight:800;font-size:15px;line-height:1;cursor:pointer;
  box-shadow:0 2px 8px rgba(0,0,0,.35);display:grid;place-items:center;padding:0;animation:cmPulse 2.4s infinite}
.cm-pin-dot.fixed{position:absolute;transform:translate(-50%,-50%);font-size:12px;animation:none;cursor:default}
@keyframes cmPulse{0%,100%{box-shadow:0 0 0 0 rgba(139,90,68,.45),0 2px 8px rgba(0,0,0,.35)}50%{box-shadow:0 0 0 7px rgba(139,90,68,0),0 2px 8px rgba(0,0,0,.35)}}
.cm-pin-card{display:none;position:absolute;left:50%;top:calc(100% + 8px);transform:translateX(-50%);min-width:190px;max-width:240px;background:#fff;border-radius:12px;padding:10px 12px;
  box-shadow:0 12px 30px -8px rgba(28,25,23,.4);font-size:13px;z-index:5}
.cm-pin.open .cm-pin-card{display:grid;gap:3px}
.cm-pin.open{z-index:6}
.cm-pin-card small{font-size:11px;color:var(--muted)}
.cm-pin-card strong{font-size:13.5px;line-height:1.35}
.cm-pin-acts{display:flex;gap:10px;align-items:center;margin-top:4px}
.cm-pin-acts>a:first-child{font-size:12px;font-weight:700;color:var(--ink-2);text-decoration:underline;text-underline-offset:2px}
.cm-pin-acts .shop-mini{margin:0}
body.cm-tags-off .cm-pin{display:none}
.cm-tag-toggle{justify-self:start;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:7px 13px;font-size:12.5px;font-weight:700;cursor:pointer}
.cm-side{display:grid;gap:14px}
.cm-author{display:flex;gap:10px;align-items:center}
.cm-author .cm-nick{font-size:15px}
.cm-author small{display:block;font-size:12px;color:var(--muted)}
.cm-meta-chips{display:flex;flex-wrap:wrap;gap:6px}
.cm-meta-chips span{font-size:12.5px;padding:3px 10px;border-radius:999px;background:var(--bg-2);color:var(--ink-2)}
.cm-body{font-size:14.5px;line-height:1.75;color:var(--ink);white-space:normal;word-break:break-word}
.cm-acts{display:flex;gap:8px;flex-wrap:wrap}
.cm-gear{border:1px solid var(--line);border-radius:16px;padding:14px;display:grid;gap:10px}
.cm-gear h2{margin:0;font-size:15px;font-weight:800}
.cm-gear h2 span{color:var(--brown)}
.cm-gear ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cm-gear li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line-soft)}
.cm-gear li:last-child{border-bottom:0}
.cm-gear li small{display:block;font-size:11.5px;color:var(--muted)}
.cm-gear li strong{font-size:14px;line-height:1.35}
.cm-gear li a strong{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}
.cm-gear-note{margin:0;font-size:12px;color:var(--muted)}
.cm-owner{display:flex;gap:8px}
.cm-report-btn,.cm-link{background:none;border:0;padding:0;color:var(--muted);font-size:12.5px;text-decoration:underline;cursor:pointer;justify-self:start}
.cm-comments{margin-top:34px;max-width:760px}
.cm-comments h2,.cm-related h2{font-size:17px;font-weight:800;margin:0 0 12px}
.cm-cmt-item{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--line-soft)}
.cm-cmt-bd{flex:1;min-width:0}
.cm-cmt-bd b{font-size:13.5px}
.cm-cmt-bd small{font-size:11.5px;color:var(--muted-2)}
.cm-cmt-bd p{margin:3px 0 4px;font-size:14px;line-height:1.6;word-break:break-word}
.cm-cmt-form{display:flex;gap:8px;align-items:flex-end;margin-top:12px}
.cm-cmt-form textarea{flex:1;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:14px;resize:vertical;min-height:46px}
.cm-login-hint{font-size:14px;color:var(--muted)}
.cm-login-hint a{color:var(--brown);font-weight:700}
.cm-related{margin-top:36px}
.cm-dialog{border:0;border-radius:16px;padding:0;max-width:420px;width:calc(100% - 32px);box-shadow:0 20px 50px -10px rgba(0,0,0,.4)}
.cm-dialog::backdrop{background:rgba(28,25,23,.45)}
.cm-dialog form{padding:18px;display:grid;gap:12px}
.cm-dialog h3{margin:0;font-size:17px}
.cm-rp-reasons{display:grid;gap:6px}
.cm-rp-reasons label{display:flex;gap:8px;align-items:center;font-size:14px;cursor:pointer}
.cm-dialog textarea,.cm-dialog input[type=text]{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:14px}
.cm-rp-rights p{margin:0 0 8px;font-size:12.5px;color:var(--ink-2);line-height:1.6;background:var(--bg-2);padding:10px;border-radius:8px}
.cm-dialog-acts{display:flex;justify-content:flex-end;gap:8px}

/* 제품 페이지 */
.cm-prod{padding-bottom:50px}
.cm-prod-hd{display:grid;gap:18px}
@media (min-width:860px){.cm-prod-hd{grid-template-columns:360px 1fr;gap:30px;align-items:start}}
.cm-prod-ph{aspect-ratio:1;border-radius:18px;overflow:hidden;background:var(--sand-soft);display:grid;place-items:center;font-size:70px}
.cm-prod-ph img{width:100%;height:100%;object-fit:cover}
.cm-prod-info{display:grid;gap:12px;align-content:start}
.cm-prod-info small{font-size:13px;color:var(--muted)}
.cm-prod-info h1{margin:0;font-size:clamp(22px,3.6vw,28px);font-weight:800;letter-spacing:-.03em;line-height:1.3}
.cm-prod-stats{display:flex;gap:10px;flex-wrap:wrap}
.cm-prod-stats div{flex:1 1 110px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:grid}
.cm-prod-stats b{font-size:20px;font-weight:800;color:var(--brown)}
.cm-prod-stats span{font-size:12px;color:var(--muted)}
.cm-prod-acts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.cm-prod-care{margin-top:30px;display:grid;gap:12px}
.cm-prod-care h2{margin:0;font-size:17px;font-weight:800;display:flex;gap:8px;align-items:center}

/* 올리기 */
.cm-form{padding:22px 16px 120px;max-width:980px}
.cm-editor{display:grid;gap:16px}
.cm-agree{max-width:720px}
.cm-rules{margin:0;padding-left:18px;display:grid;gap:6px;font-size:14px;color:var(--ink-2);line-height:1.6}
.cm-agree-box{display:grid;gap:10px;padding:14px;border-radius:12px;background:var(--bg-2)}
.cm-agree-box label{display:flex;gap:9px;align-items:flex-start;font-size:13.5px;line-height:1.6;cursor:pointer}
.cm-agree-box input{margin-top:4px;flex:0 0 auto;width:17px;height:17px;accent-color:var(--brown)}
.cm-agree-box a{color:var(--brown);text-decoration:underline}
.cm-strip{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 8px}
.cm-add,.cm-th{flex:0 0 auto;width:96px;height:96px;border-radius:12px;position:relative;overflow:hidden}
.cm-add{border:1.5px dashed var(--sand-line);background:var(--sand-soft);display:grid;place-items:center;align-content:center;cursor:pointer;color:var(--brown-dark)}
.cm-add span{font-size:26px;line-height:1}
.cm-add small{font-size:12px;font-weight:700}
.cm-th{border:2px solid transparent;cursor:pointer;background:var(--bg-2)}
.cm-th.on{border-color:var(--brown)}
.cm-th img{width:100%;height:100%;object-fit:cover}
.cm-th-cover{position:absolute;left:4px;top:4px;font-size:10.5px;font-weight:800;background:var(--brown);color:#fff;padding:1px 6px;border-radius:5px}
.cm-th-n{position:absolute;left:4px;bottom:4px;font-size:10.5px;font-weight:700;background:rgba(0,0,0,.6);color:#fff;padding:1px 6px;border-radius:5px}
.cm-th-acts{position:absolute;right:3px;top:3px;display:flex;gap:2px}
.cm-th-acts button{width:22px;height:22px;border-radius:6px;border:0;background:rgba(0,0,0,.55);color:#fff;font-size:12px;cursor:pointer;padding:0;line-height:1}
.cm-stage-wrap{display:grid;gap:14px}
@media (min-width:860px){.cm-stage-wrap{grid-template-columns:minmax(0,1fr) 280px;align-items:start}}
.cm-stage{position:relative;border-radius:14px;background:#111;cursor:crosshair;max-height:72vh;margin:0 auto;width:100%}
.cm-stage img{width:100%;height:100%;object-fit:contain;border-radius:14px;display:block}
.cm-pop{position:absolute;z-index:10;width:320px;max-width:calc(100% - 16px);box-sizing:border-box;background:#fff;border-radius:14px;
  box-shadow:0 18px 40px -10px rgba(0,0,0,.5);cursor:default;overflow:hidden;display:flex;flex-direction:column}
/* 휴대폰: 화면 아래에서 올라오는 시트 — 사진 크기와 상관없이 다 보이게 */
@media (max-width:600px){
  .cm-pop{position:fixed;z-index:80;left:0!important;right:0;top:auto!important;bottom:0;width:100%;max-width:none;border-radius:18px 18px 0 0;
    max-height:72vh;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -12px 40px -8px rgba(0,0,0,.45)}
}
.cm-pop-tabs{display:flex;border-bottom:1px solid var(--line)}
.cm-pop-tabs button{flex:1;background:none;border:0;padding:10px 4px;font-size:13px;font-weight:700;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent}
.cm-pop-tabs button.on{color:var(--brown);border-color:var(--brown)}
.cm-pop-tabs .cm-pop-x{flex:0 0 38px;color:var(--muted)}
/* 탭마다·목록 로딩 전후로 높이가 달라지면 자리가 어긋나서 — 높이를 고정하고 안에서 스크롤 */
.cm-pop-bd{padding:10px;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:8px;height:270px;overflow:auto}
@media (max-width:600px){.cm-pop-bd{height:auto;min-height:220px;max-height:none;flex:1}}
/* 입력칸은 폭을 명시해야 Safari 에서 제 크기(약 190px)를 고집하지 않는다 */
.cm-pop-row{display:flex;gap:6px;min-width:0}
.cm-pop-row select,.cm-pop-row input{box-sizing:border-box;height:40px;padding:0 9px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:14px;background:#fff}
.cm-pop-row select{flex:0 0 96px;width:96px}
.cm-pop-row input{flex:1 1 0;width:0;min-width:0}
.cm-pop-row input:focus,.cm-pop-row select:focus{outline:none;border-color:var(--brown);box-shadow:0 0 0 3px rgba(139,90,68,.12)}
.cm-pop-bd .btn{width:100%}
.cm-pop-tip{margin:4px 2px 0;font-size:12.5px;line-height:1.6;color:var(--muted)}
/* 제품 찾기: 브랜드 칩 */
.cm-brands{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.cm-brands:empty{display:none}
.cm-brands-cap{font-size:11.5px;font-weight:700;color:var(--muted);margin-right:2px}
.cm-brands button{display:inline-flex;align-items:center;gap:4px;padding:5px 9px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:12.5px;cursor:pointer;color:var(--ink-2)}
.cm-brands button em{font-style:normal;font-size:10.5px;color:var(--muted)}
.cm-brands button:hover{border-color:var(--brown-light)}
.cm-brands button.on{background:var(--brown);border-color:var(--brown);color:#fff}
.cm-brands button.on em{color:rgba(255,255,255,.8)}
.cm-brands button.more{border-style:dashed;color:var(--brown);font-weight:700}
.cm-none{display:grid;gap:8px;justify-items:start;padding:8px 2px;font-size:13.5px;color:var(--ink-2);line-height:1.5}
.cm-pop-ai{padding:8px 12px!important;font-size:13px!important;flex:0 0 auto}
.cm-pop-tip b{color:var(--ink-2)}
.cm-pick b{overflow-wrap:anywhere}
.cm-pick{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.cm-pick button{width:100%;display:flex;gap:8px;align-items:center;text-align:left;background:none;border:0;padding:7px;border-radius:8px;cursor:pointer}
.cm-pick button:hover,.cm-pick button.on{background:var(--sand-soft)}
.cm-pick button.on{box-shadow:inset 0 0 0 1.5px var(--brown-light)}
.cm-kbd{font-size:11.5px!important;padding:0 2px 2px}
.cm-pick img,.cm-pick .ic{width:36px;height:36px;border-radius:8px;object-fit:cover;flex:0 0 auto;display:grid;place-items:center;background:var(--bg-2);font-size:18px}
.cm-pick b{display:block;font-size:13.5px;line-height:1.3}
.cm-pick small{font-size:11.5px;color:var(--muted)}
.cm-stage-side{display:grid;gap:10px;align-content:start}
.cm-hint{margin:0;font-size:13.5px;color:var(--ink-2);background:var(--bg-2);padding:10px 12px;border-radius:10px}
.cm-taglist{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.cm-taglist li{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;font-size:13.5px}
.cm-taglist .no{width:20px;height:20px;border-radius:50%;background:var(--brown);color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;flex:0 0 auto}
.cm-taglist .lb{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cm-taglist small{font-size:11px;color:var(--ok)}
.cm-taglist button{background:none;border:0;color:var(--muted);cursor:pointer;font-size:13px}
.cm-ai-cands{display:flex;flex-wrap:wrap;gap:6px}
.cm-ai-cands button{border:1px solid var(--sand-line);background:var(--sand-soft);border-radius:999px;padding:6px 11px;font-size:12.5px;font-weight:600;cursor:pointer}
.cm-ai-cands small{color:var(--ok)}
.cm-upl{margin:0;font-size:13px;color:var(--ink-2)}
.cm-upl.err{color:var(--danger)}
.camp-form-page .ft{margin-bottom:70px}

/* ---------- 게시물 vs 제품 정보 — 한눈에 구분되게 ---------- */
.cm-eyebrow,.pd-eyebrow{display:inline-flex;align-self:start;justify-self:start;align-items:center;gap:5px;font-size:12px;font-weight:800;padding:4px 10px;border-radius:999px}
.cm-eyebrow{background:var(--sand-soft);color:var(--brown-dark);border:1px solid var(--sand-line)}
.pd-eyebrow{background:#EEF2F7;color:#35506E;border:1px solid #D9E2EE}

/* 게시물: 사진 속 장비 = 제품 정보로 넘어가는 카드 */
.cm-gear li{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch;align-items:stretch;gap:8px;padding:0;border:0}
.cm-gear-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}
a.cm-gear-card:hover{border-color:#B9C7D8;background:#F7F9FC}
.cm-gear-card .ic{flex:0 0 auto;width:34px;height:34px;border-radius:9px;background:var(--bg-2);display:grid;place-items:center;font-size:18px}
.cm-gear-card .bd{flex:1;min-width:0;display:grid}
.cm-gear-card .bd small{font-size:11.5px;color:var(--muted)}
.cm-gear-card .bd strong{font-size:14px;line-height:1.35;text-decoration:none}
.cm-gear-card .go{flex:0 0 auto;font-size:12px;font-weight:700;color:#35506E}
.cm-gear-card.plain{background:var(--bg-2);border-style:dashed}

/* 제품 정보: 사진 대신 명판 + 스펙 문서 */
.pd-hero{background:linear-gradient(180deg,#F2F5F9 0,#fff 100%);border-bottom:1px solid #E3E8EF;padding:18px 0 26px}
.pd-crumb{display:flex;flex-wrap:wrap;gap:6px;font-size:13px;color:var(--muted);margin-bottom:16px}
.pd-crumb a{color:#35506E}
.pd-head{display:grid;gap:22px}
@media (min-width:760px){.pd-head{grid-template-columns:230px 1fr;gap:32px;align-items:center}}
.pd-plate{aspect-ratio:1;max-width:230px;border-radius:22px;display:grid;place-items:center;align-content:center;gap:6px;text-align:center;
  background:#fff;border:1px solid #DCE3EC;box-shadow:0 10px 30px -18px rgba(53,80,110,.45);
  background-image:repeating-linear-gradient(135deg,rgba(53,80,110,.035) 0 10px,transparent 10px 20px)}
.pd-plate-ico{font-size:64px;line-height:1.1}
.pd-plate-brand{font-size:17px;font-weight:800;letter-spacing:-.01em;color:var(--ink)}
.pd-plate-cat{font-size:12px;color:var(--muted)}
.pd-info{display:grid;gap:10px;align-content:start}
.pd-sub{font-size:13px;color:var(--muted)}
.pd-info h1{margin:0;font-size:clamp(24px,4vw,32px);font-weight:800;letter-spacing:-.03em;line-height:1.25}
.pd-stats{display:flex;gap:10px;flex-wrap:wrap}
.pd-stats div{display:grid;padding:9px 14px;border-radius:12px;background:#fff;border:1px solid #E3E8EF;min-width:130px}
.pd-stats b{font-size:19px;font-weight:800;color:#35506E}
.pd-stats span{font-size:12px;color:var(--muted)}
.pd-body{padding-top:26px;padding-bottom:50px}
.pd-cols{display:grid;gap:22px}
@media (min-width:900px){.pd-cols{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:28px;align-items:start}}
.pd-spec h2,.pd-care h2,.pd-photos h2{margin:0 0 12px;font-size:17px;font-weight:800;display:flex;align-items:center;gap:8px}
.pd-spec-tbl{margin:0;border:1px solid #E3E8EF;border-radius:14px;overflow:hidden}
.pd-spec-tbl div{display:grid;grid-template-columns:104px 1fr;border-bottom:1px solid #EEF1F5}
.pd-spec-tbl div:last-child{border-bottom:0}
.pd-spec-tbl dt{padding:10px 12px;background:#F7F9FC;font-size:13px;color:var(--muted);font-weight:600}
.pd-spec-tbl dd{margin:0;padding:10px 12px;font-size:14px;line-height:1.5}
.pd-feat{display:flex;flex-wrap:wrap;gap:5px}
.pd-feat span{font-size:12.5px;padding:2px 8px;border-radius:999px;background:var(--bg-2)}
.pd-src{margin:12px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.pd-src-label{font-size:12px;font-weight:700;color:var(--muted);margin-right:2px}
.pd-src-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;border:1px solid #D9E2EE;background:#F7F9FC;
  font-size:12.5px;color:#35506E;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pd-src-chip:hover{background:#EEF2F7;border-color:#B9C7D8}
.pd-src-chip span{font-size:11px;color:var(--muted)}
.pd-verify{margin:8px 2px 0;font-size:12.5px;color:var(--muted);line-height:1.6}
.pd-verify.ok{color:var(--ok)}
.src-links{display:inline-flex;flex-wrap:wrap;align-items:center;gap:5px;margin-left:6px;vertical-align:middle}
.src-links .pd-src-chip{padding:2px 8px;font-size:11.5px}
.pd-care{display:grid;gap:10px}
.pd-photos{margin-top:34px;padding-top:24px;border-top:1px solid var(--line)}
.pd-photos-hd h2 span{color:var(--brown)}
.pd-photos-hd p{margin:-6px 0 6px;font-size:13px;color:var(--muted)}

.pd-plate-photo{margin:0;padding:0;overflow:hidden;background:#fff;position:relative}
.pd-plate-photo img{width:100%;height:100%;object-fit:contain;padding:14px}
.pd-plate-photo figcaption{position:absolute;left:8px;bottom:8px;font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:5px;background:rgba(53,80,110,.85);color:#fff}
/* 목록 썸네일 (공식 허락 사진 · 캠퍼 사진) */
.pl-thumb{flex:0 0 auto;width:44px;height:44px;border-radius:9px;overflow:hidden;background:var(--bg-2);position:relative;display:grid;place-items:center;font-size:20px}
.pl-thumb img{width:100%;height:100%;object-fit:cover}
.pl-thumb i{position:absolute;left:0;right:0;bottom:0;font-style:normal;font-size:9px;font-weight:700;text-align:center;color:#fff;background:rgba(0,0,0,.55);line-height:1.5}
.gf-plist button.has-thumb{flex-direction:row;align-items:center;gap:10px}
.gf-plist button.has-thumb .pl-txt{display:flex;flex-direction:column;gap:2px;min-width:0}

/* ---------- 캠핑장 (cs-) — 초록 계열로 제품(푸른 회색)·세팅(브라운)과 구분 ---------- */
.cs-hero{background:linear-gradient(180deg,#EAF2EC 0,#fff 100%);border-bottom:1px solid #D6E4DA;padding:26px 0 22px}
.cs-hero h1{margin:8px 0 6px;font-size:clamp(22px,4vw,30px);font-weight:800;letter-spacing:-.03em}
.cs-hero p{margin:0 0 14px;color:var(--ink-2);font-size:14.5px}
.cs-hero .search{max-width:560px}
.cs-eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;padding:3px 10px;border-radius:999px;background:#E3EFE6;color:#2F5D50;border:1px solid #CFE2D5}
.cs-closed-t{color:var(--danger)}
.cs-filters .chips{padding:10px 0 2px}
.cs-filters .chip small{font-size:11px;opacity:.7;margin-left:2px}
.cs-sep{flex:0 0 1px;background:var(--line);margin:4px 2px}
.cs-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));padding:8px 0}
.cs-card{display:grid;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;transition:box-shadow .15s,transform .15s}
.cs-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}
.cs-thumb{position:relative;aspect-ratio:16/10;background:#EEF4EF;display:grid;place-items:center;overflow:hidden}
.cs-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;border-radius:inherit}
.cs-thumb-ph{font-size:34px;opacity:.35}
.cs-closed,.cs-posts{position:absolute;z-index:2;top:8px;font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:999px}
.cs-closed{left:8px;background:var(--danger);color:#fff}
.cs-posts{right:8px;background:rgba(0,0,0,.6);color:#fff}
.cs-card-bd{display:grid;gap:3px;padding:10px 12px 12px}
.cs-card-bd b{font-size:15px;font-weight:700;letter-spacing:-.01em;line-height:1.35}
.cs-card-bd small{font-size:12.5px;color:var(--muted)}
.cs-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}
.cs-tags i{font-style:normal;font-size:11.5px;padding:1px 7px;border-radius:999px;background:#EEF4EF;color:#2F5D50}
.cs-credit{margin:14px 0 0;font-size:12px;color:var(--muted-2);line-height:1.6}
.cs-body{padding-top:22px;padding-bottom:50px}

.cs-top{background:linear-gradient(180deg,#EAF2EC 0,#fff 100%);border-bottom:1px solid #D6E4DA;padding:18px 0 24px}
.cs-top .pd-crumb a{color:#2F5D50}
.cs-head{display:grid;gap:20px}
@media (min-width:768px){.cs-head{grid-template-columns:minmax(0,420px) minmax(0,1fr);align-items:start}}
.cs-photo{position:relative;margin:0;aspect-ratio:16/10;border-radius:18px;overflow:hidden;background:#E3EFE6;display:grid;place-items:center}
.cs-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.cs-photo figcaption{position:absolute;z-index:2;right:8px;bottom:8px;font-size:11px;padding:2px 8px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff}
.cs-photo-ph{font-size:64px;opacity:.35}
.cs-info{display:grid;gap:8px;align-content:start}
.cs-info h1{margin:0;font-size:clamp(23px,4vw,31px);font-weight:800;letter-spacing:-.03em;line-height:1.25}
.cs-line{margin:0;color:var(--ink-2)}
.cs-loc{margin:0;font-size:13.5px;color:var(--muted)}
.cs-chips{display:flex;flex-wrap:wrap;gap:6px}
.cs-chips span{font-size:12.5px;padding:3px 10px;border-radius:999px;background:#fff;border:1px solid #D6E4DA;color:#2F5D50}
.cs-chips span.b{background:#2F5D50;border-color:#2F5D50;color:#fff}
.cs-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}

.cs-wx{border:1px solid #D6E4DA;border-radius:18px;padding:18px;display:grid;gap:14px;background:linear-gradient(180deg,#F3F8F4 0,#fff 140px)}
.cs-wx-hd{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.cs-wx-hd h2{margin:0;font-size:18px;font-weight:800;letter-spacing:-.02em}
.cs-wx-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.cs-air,.cs-sun{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:5px 11px;border-radius:999px;background:#fff;border:1px solid var(--line)}
.cs-air small{font-size:11.5px;color:var(--muted)}
.cs-air.good b{color:#1D6FB8}.cs-air.ok b{color:var(--ok)}.cs-air.bad b{color:var(--warn)}.cs-air.worst b{color:var(--danger)}
.cs-warn{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;padding:10px 12px;border-radius:12px;background:#FBEBEA;border:1px solid #F1C4C0;color:#8C1D18;font-size:13.5px}
.cs-warn a{margin-left:auto;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.cs-weekend{margin:0;display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:14px;font-weight:700}
.cs-weekend span{font-weight:500;padding:3px 10px;border-radius:999px;background:#fff;border:1px solid var(--line)}
.cs-days{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(76px,1fr);gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
.cs-day{display:grid;justify-items:center;gap:3px;padding:10px 6px;border-radius:12px;background:#fff;border:1px solid var(--line);text-align:center}
.cs-day.we{border-color:#CFE2D5;background:#F6FAF7}
.cs-d{font-size:13px;font-weight:700;display:grid;line-height:1.3}
.cs-d small{font-size:11px;font-weight:500;color:var(--muted)}
.cs-ico{font-size:26px;line-height:1.2}
.cs-t b{font-size:15px}
.cs-t small{font-size:12.5px;color:var(--muted)}
.cs-pop{font-size:11.5px;color:var(--muted)}
.cs-grade{font-size:11.5px;font-weight:700;padding:1px 8px;border-radius:999px}
.cs-grade.good,.cs-weekend .good b{color:var(--ok)}.cs-grade.good{background:#E8F3ED}
.cs-grade.ok,.cs-weekend .ok b{color:var(--warn)}.cs-grade.ok{background:#FEF3E2}
.cs-grade.bad,.cs-weekend .bad b{color:var(--danger)}.cs-grade.bad{background:#FBEBEA}
.cs-wx-note{margin:0;font-size:12px;color:var(--muted)}
.cs-wx-loading{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.cs-wx-loading .sk{height:120px;border-radius:12px}
.cs-wx-loading p{grid-column:1/-1;margin:0;font-size:13px;color:var(--muted)}
.cs-pack h3{margin:0 0 8px;font-size:15px;font-weight:800}
.cs-pack ul{margin:0 0 10px;padding:0;list-style:none;display:grid;gap:8px}
@media (min-width:768px){.cs-pack ul{grid-template-columns:1fr 1fr}}
.cs-pack li{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid var(--line)}
.cs-pack .i{font-size:20px;line-height:1.3}
.cs-pack li div{display:grid;gap:2px;min-width:0}
.cs-pack b{font-size:14px}
.cs-pack small{font-size:12.5px;color:var(--muted);line-height:1.5}

.cs-cols{display:grid;gap:22px;margin-top:26px}
@media (min-width:900px){.cs-cols{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}}
.cs-about h2,.cs-near h2{margin:0 0 12px;font-size:17px;font-weight:800}
.cs-intro{margin-top:12px;border:1px solid var(--line);border-radius:12px;padding:10px 14px}
.cs-intro summary{cursor:pointer;font-weight:700;font-size:14px}
.cs-intro p{font-size:14px;color:var(--ink-2);line-height:1.7}
.cs-near ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.cs-near a{display:grid;gap:1px;padding:10px 12px;border-radius:12px;border:1px solid var(--line)}
.cs-near a:hover{border-color:#B7D1BF;background:#F6FAF7}
.cs-near b{font-size:14px}
.cs-near small{font-size:12px;color:var(--muted)}
.cs-info .cs-eyebrow{justify-self:start}
.cs-pick{position:relative}
.cs-pick-list{position:absolute;left:0;right:0;top:calc(100% - 18px);z-index:30;margin:0;padding:4px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px -12px rgba(28,25,23,.28);max-height:280px;overflow:auto}
.cs-pick-list li{display:grid;gap:1px;padding:8px 10px;border-radius:8px;cursor:pointer}
.cs-pick-list li:hover,.cs-pick-list li[aria-selected="true"]{background:#EEF4EF}
.cs-pick-list b{font-size:14px;font-weight:600}
.cs-pick-list small{font-size:12px;color:var(--muted)}
.cs-pick-hint{display:block;margin-top:4px;font-size:12px;color:var(--muted)}
.cm-place-link{color:#2F5D50;font-weight:600;text-decoration:underline;text-underline-offset:2px}

/* ---------- 이달의 캠핑 (mg-) · 주말 날씨 (wk-) · 체크리스트 (ck-) ---------- */
.mg-hero{background:linear-gradient(180deg,#EAF2EC 0,#fff 100%);border-bottom:1px solid #D6E4DA;padding:24px 0 8px}
.mg-hero h1{margin:8px 0 6px;font-size:clamp(21px,3.6vw,29px);font-weight:800;letter-spacing:-.03em;line-height:1.3}
.mg-m{display:inline-block;padding:0 10px;margin-right:4px;border-radius:10px;background:#2F5D50;color:#fff}
.mg-temp{margin:0;color:var(--ink-2)}
.mg-temp small{color:var(--muted);font-size:12.5px}
.mg-months .chip{padding:6px 12px}
.mg-body{padding-top:22px;padding-bottom:50px;display:grid;gap:26px}
.mg-cols{display:grid;gap:14px}
@media (min-width:860px){.mg-cols{grid-template-columns:1fr 1fr}}
.mg-card{border:1px solid var(--line);border-radius:16px;padding:16px 18px;background:#fff}
.mg-card h2{margin:0 0 10px;font-size:16.5px;font-weight:800}
.mg-points{margin:0;padding-left:18px;display:grid;gap:4px;font-size:14.5px;color:var(--ink-2)}
.mg-safety{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:#FEF3E2;color:#7A3E06;font-size:13.5px;line-height:1.6}
.mg-care{padding:10px 0;border-top:1px solid var(--line-soft)}
.mg-care:first-of-type{border-top:0;padding-top:0}
.mg-care b{font-size:14.5px}
.mg-care p{margin:3px 0 0;font-size:13.5px;color:var(--ink-2);line-height:1.6}
.mg-care a{color:var(--brown);font-weight:700;white-space:nowrap}
.mg-sec .sec-hd h2 small.mg-theme{font-size:13px;font-weight:600;color:#2F5D50}
.mg-gear{margin:8px 0 12px;padding:0;list-style:none;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr))}
.mg-gear li{display:flex;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff}
.mg-gear .i{font-size:24px;line-height:1.2}
.mg-gear li div{display:grid;gap:3px;min-width:0}
.mg-gear b{font-size:14.5px}
.mg-gear small{font-size:12.5px;color:var(--muted);line-height:1.5}
.mg-gear .shop-mini{margin-left:0}

.wk{border:1px solid #D6E4DA;border-radius:18px;padding:16px 18px;background:linear-gradient(180deg,#F3F8F4 0,#fff 120px);display:grid;gap:10px}
.wk-hd{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.wk-hd h2{margin:0;font-size:17.5px;font-weight:800;letter-spacing:-.02em}
.wk-hd span{font-size:13px;color:var(--muted)}
.wk-sum{margin:0;font-size:14.5px}
.wk-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(min(100%,142px),1fr))}
.wk-cell{display:grid;gap:6px;padding:9px 9px 11px;border-radius:12px;background:#fff;border:1px solid var(--line)}
.wk-cell:hover{border-color:#B7D1BF}
.wk-cell b{font-size:12.5px;text-align:center;letter-spacing:-.02em}
.wk-days{display:grid;gap:3px}
.wk-day{display:grid;grid-template-columns:14px 20px 1fr auto;align-items:center;gap:5px;
  padding:4px 6px;border-radius:8px;background:var(--bg-2);font-size:11.5px;color:var(--ink-2)}
.wk-day i{font-style:normal}
.wk-day .d{font-weight:700;color:var(--muted)}
.wk-day.sun .d{color:#C0564D}
.wk-day .i{font-size:14px;text-align:center;line-height:1}
.wk-day .t{font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.wk-day .p{font-size:11px;color:var(--muted-2);font-variant-numeric:tabular-nums}
.wk-day .p::before{content:"☔ ";font-size:9.5px}
.wk-day .p.wet{color:#3B7BBF;font-weight:700}
.wk-cell.good{box-shadow:inset 0 -3px 0 #8CC3A3}
.wk-cell.ok{box-shadow:inset 0 -3px 0 #F2C27A}
.wk-cell.bad{box-shadow:inset 0 -3px 0 #E7A09A}
.wk-note{margin:0;font-size:12px;color:var(--muted)}

.ck-opts{display:grid;gap:8px;margin:14px 0 6px}
.ck-opts fieldset{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ck-opts legend{float:left;width:52px;font-size:13px;font-weight:700;color:var(--muted);padding:6px 0}
.ck-opts label input{position:absolute;opacity:0;pointer-events:none}
.ck-opts label span{display:inline-block;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:13.5px;cursor:pointer}
.ck-opts label input:checked + span{background:#2F5D50;border-color:#2F5D50;color:#fff;font-weight:600}
.ck-opts label input:focus-visible + span{outline:2px solid #2F5D50;outline-offset:2px}
.ck-body{padding-top:16px;padding-bottom:50px}
.ck-bar{position:sticky;top:var(--header-h);z-index:20;display:flex;gap:10px;align-items:center;padding:10px 0;background:#fff;border-bottom:1px solid var(--line)}
.ck-bar b{font-size:14px;white-space:nowrap}
.ck-prog{flex:1;height:8px;border-radius:999px;background:var(--bg-2);overflow:hidden}
.ck-prog i{display:block;height:100%;width:0;background:#2F5D50;transition:width .2s}
.ck-owned-note{margin:10px 0 0;font-size:13px;color:var(--muted)}
.ck-owned-note a{color:var(--brown);font-weight:600}
.ck-groups{display:grid;gap:14px;margin-top:14px}
@media (min-width:760px){.ck-groups{grid-template-columns:1fr 1fr}}
@media (min-width:1080px){.ck-groups{grid-template-columns:1fr 1fr 1fr}}
.ck-group{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:#fff;break-inside:avoid}
.ck-extra{margin-top:14px;border-color:#CFE2D5;background:#F6FAF7}
.ck-group h2{margin:0 0 6px;font-size:15px;font-weight:800;display:flex;align-items:center;gap:6px}
.ck-gc{margin-left:auto;font-size:12px;font-weight:600;color:var(--muted)}
.ck-group ul{margin:0;padding:0;list-style:none}
.ck-group li{display:flex;align-items:center;gap:6px;border-top:1px solid var(--line-soft)}
.ck-group li:first-child{border-top:0}
.ck-group label{flex:1;display:flex;gap:10px;align-items:flex-start;padding:8px 0;cursor:pointer;font-size:14.5px}
.ck-group input[type=checkbox]{width:18px;height:18px;margin-top:2px;accent-color:#2F5D50;flex:0 0 auto}
.ck-group label span{display:grid;gap:1px}
.ck-group label small{font-size:12px;color:var(--muted)}
.ck-group li.on label span{color:var(--muted-2);text-decoration:line-through}
.ck-has{font-style:normal;font-size:11.5px;font-weight:700;color:var(--ok);margin-left:4px;text-decoration:none;display:inline-block}
.ck-foot{margin-top:18px}
@media print{
  .hd,.ft,.ck-bar button,.shop-mini,.shop-btn,.ck-foot,.ck-owned-note,.ck-opts{display:none!important}
  .mg-hero{background:none;border:0;padding:0}
  .ck-bar{position:static}
  .ck-groups{grid-template-columns:1fr 1fr 1fr}
  .ck-group{border-color:#ccc}
}
.cs-wx-more{margin:0}.cs-wx-more a{font-size:14px;font-weight:700;color:#2F5D50}
@media (min-width:768px){.wk-grid{grid-template-columns:repeat(5,1fr)}}

/* ---------- 첫 화면 개편 (hm-) ---------- */
.hm-hero{position:relative;overflow:hidden;padding:26px 0 44px;border-bottom:1px solid var(--sand-line);
  background:linear-gradient(168deg,#FFFAF2 0%,var(--sand-soft) 46%,#EFF6EF 100%)}
.hm-hero-art{position:absolute;inset:0;pointer-events:none}
.hm-hero-art .sun{position:absolute;right:4%;top:-70px;width:260px;height:260px;border-radius:50%;
  background:radial-gradient(circle,#FFE0AE 0%,rgba(255,224,174,.45) 45%,rgba(255,224,174,0) 72%)}
.hm-hero-art .ridge{position:absolute;left:0;right:0;bottom:0;height:70px;opacity:.75;
  background:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201200%20120%22%20preserveAspectRatio=%22none%22%3E%3Cpath%20d=%22M0%20120%20L0%2074%20L120%2034%20L250%2078%20L360%2044%20L470%2086%20L600%2040%20L720%2084%20L840%2050%20L960%2088%20L1080%2046%20L1200%2080%20L1200%20120Z%22%20fill=%22%23C4D6BC%22/%3E%3Cpath%20d=%22M0%20120%20L0%2096%20L150%2066%20L300%20100%20L430%2072%20L560%20104%20L700%2070%20L840%20102%20L980%2074%20L1120%20104%20L1200%2088%20L1200%20120Z%22%20fill=%22%23A6BE9D%22/%3E%3Cg%20fill=%22%2382A079%22%3E%3Cpath%20d=%22M200%20120%20L214%2084%20L228%20120Z%22/%3E%3Cpath%20d=%22M236%20120%20L248%2092%20L260%20120Z%22/%3E%3Cpath%20d=%22M640%20120%20L654%2086%20L668%20120Z%22/%3E%3Cpath%20d=%22M676%20120%20L688%2094%20L700%20120Z%22/%3E%3Cpath%20d=%22M1010%20120%20L1024%2088%20L1038%20120Z%22/%3E%3C/g%3E%3Cpath%20d=%22M430%20120%20L452%2082%20L474%20120Z%22%20fill=%22%23A5765C%22/%3E%3C/svg%3E") repeat-x bottom/1200px 70px}
.hm-hero-in{position:relative;z-index:1;display:grid;gap:16px}
.hm-eyebrow{display:inline-block;margin-bottom:10px;padding:4px 11px;border-radius:999px;font-size:12.5px;font-weight:700;
  color:var(--brown-dark);background:rgba(255,255,255,.8);border:1px solid var(--sand-line)}
.hm-hero h1{margin:0 0 8px;font-size:clamp(23px,4.6vw,34px);line-height:1.25;letter-spacing:-.03em;font-weight:800;text-wrap:balance}
.hm-hero h1 span{color:var(--brown)}
.hm-hero-copy > p{margin:0 0 16px;color:var(--ink-2)}
.hm-search{max-width:600px}
.hm-tabs{display:flex;gap:6px;margin-bottom:8px}
.hm-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 13px;font-size:13.5px;cursor:pointer}
.hm-tabs button[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:600}
.hm-hot{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0 0;font-size:13px}
.hm-hot > span{color:var(--muted)}
.hm-hot a{padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.85);border:1px solid var(--line);color:var(--ink-2)}
.hm-hot a:hover{border-color:var(--brown-light);color:var(--brown-dark)}
.hm-hero-card{background:rgba(255,255,255,.9);border:1px solid var(--sand-line);border-radius:18px;padding:15px 16px;box-shadow:var(--shadow)}
.hh-today{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;padding-bottom:9px;border-bottom:1px dashed var(--line);
  font-size:13px;color:var(--ink-2)}
.hh-today small{color:var(--muted);font-size:11.5px;font-weight:400}
.hh-line{margin:11px 0 3px;font-size:16px;font-weight:800;letter-spacing:-.02em}
.hh-sub{margin:0;font-size:13px;color:var(--muted);line-height:1.55}
.hh-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:13px 0 0;padding:0;list-style:none;text-align:center}
.hh-stats li{padding:8px 4px;border-radius:12px;background:var(--bg-2)}
.hh-stats b{display:block;font-size:15px}
.hh-stats span{font-size:11.5px;color:var(--muted)}
@media (max-width:899px){
  .hm-hero{padding:22px 0 40px}
  .hm-hero-card{padding:12px 13px}
  .hh-line{margin:9px 0 3px;font-size:15px}
  .hh-stats{margin-top:10px}
  .hh-stats li{padding:6px 3px}
}
.hh-go{display:block;margin-top:11px;text-align:center;font-size:13.5px;font-weight:700;color:var(--brown)}
@media (min-width:900px){
  .hm-hero{padding:38px 0 52px}
  .hm-hero-in{grid-template-columns:1.3fr .7fr;gap:28px;align-items:center}
}
.hm-body{display:grid;gap:8px;padding-top:22px;padding-bottom:40px}
.hm-body > .wk{margin-bottom:10px}
.hm-quick{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));margin-bottom:10px}
.hm-quick a{position:relative;display:grid;gap:2px;padding:14px 14px 15px;border-radius:14px;overflow:hidden;
  border:1px solid var(--tile-line);background:linear-gradient(158deg,var(--tile) 0%,#fff 72%);
  transition:transform .15s,box-shadow .15s,border-color .15s}
.hm-quick a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--tile-bar)}
.hm-quick a:hover{transform:translateY(-2px);border-color:var(--tile-bar);box-shadow:0 6px 18px rgba(28,25,23,.08)}
.hm-quick span{display:inline-grid;place-items:center;width:38px;height:38px;margin-bottom:4px;border-radius:12px;
  background:#fff;box-shadow:0 1px 3px rgba(28,25,23,.07);font-size:21px;line-height:1}
.hm-quick b{font-size:14.5px}
.hm-quick small{font-size:12px;color:var(--muted)}
.hm-quick em{font-style:normal;color:var(--danger);font-weight:700}
.hm-quick .q-camp {--tile:#E7F2E4;--tile-line:#D3E6CE;--tile-bar:#7FAE74}
.hm-quick .q-month{--tile:#FDEBD6;--tile-line:#F3D9BC;--tile-bar:#E0A263}
.hm-quick .q-check{--tile:#E3EEF8;--tile-line:#CFE0EF;--tile-bar:#6FA0CB}
.hm-quick .q-gear {--tile:#EDE7F6;--tile-line:#DCD3EC;--tile-bar:#9585C4}
.hm-quick .q-wash {--tile:#FBE6E3;--tile-line:#F2D3CE;--tile-bar:#D08C7F}
.hm-month{border:1px solid var(--line);border-radius:18px;padding:16px 18px;background:#fff;display:grid;gap:12px}
.hm-month-hd{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}
.hm-month-hd .mg-m{font-size:18px;font-weight:800;padding:4px 10px}
.hm-month-hd div{flex:1;min-width:200px}
.hm-month-hd h2{margin:0;font-size:17px;font-weight:800;letter-spacing:-.02em}
.hm-month-hd p{margin:2px 0 0;font-size:13px;color:var(--muted)}
.hm-month-hd .more{font-size:13.5px;color:#2F5D50;font-weight:700;white-space:nowrap}
.hm-month-gear{margin:0;padding:0;list-style:none;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr))}
.hm-month-gear li{display:grid;grid-template-columns:auto 1fr;column-gap:8px;padding:10px 12px;border-radius:12px;background:var(--bg-2)}
.hm-month-gear li span{grid-row:span 2;font-size:20px}
.hm-month-gear b{font-size:14px}
.hm-month-gear small{font-size:12px;color:var(--muted);line-height:1.45}
.hm-care{margin-top:20px;border-top:1px solid var(--line);padding-top:26px}
.hm-care-hd h2{margin:0;font-size:19px;font-weight:800;letter-spacing:-.025em}
.hm-care-hd p{margin:4px 0 12px;color:var(--muted);font-size:14px}
.hm-care-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));margin-bottom:6px}
.hm-care-grid a{display:grid;gap:2px;padding:14px;border-radius:14px;border:1px solid var(--sand-line);background:var(--sand-soft)}
.hm-care-grid a:hover{background:#fff;border-color:var(--brown-light)}
.hm-care-grid b{font-size:15px;color:var(--brown-dark)}
.hm-care-grid small{font-size:12.5px;color:var(--ink-2)}
/* 갈색 강조는 위의 대표 버튼 하나만 둔다 — 버튼과 카드가 맞닿아 한 덩어리로 보이던 문제 */
.hm-care-grid .hm-care-main{background:var(--sand-soft);border-color:var(--sand-line)}
@media (min-width:768px){.hm-quick{grid-template-columns:repeat(5,1fr)}}
@media (max-width:767px){
  .wk{padding:14px 12px}
  .wk-grid{grid-template-columns:repeat(2,1fr);gap:6px}
  .wk-cell{padding:8px 4px}
  .wk-ic{font-size:18px;letter-spacing:0}
  .wk-cell small{font-size:11px}
}
.doc-body p{margin:0 0 14px;font-size:15px;line-height:1.85}
.doc-body h2{margin:30px 0 10px;padding-top:6px;font-size:18px;font-weight:800;letter-spacing:-.02em}
.doc-body ul,.doc-body ol{margin:0 0 14px;padding-left:22px;display:grid;gap:4px}
.doc-body li{font-size:15px;line-height:1.75}
.doc-body a{color:var(--brown);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.doc-note{padding:12px 14px;border-radius:10px;background:var(--sand-soft);border:1px solid var(--sand-line);font-size:14px!important}
.social-btns{display:grid;gap:8px}
/* 카카오 디자인 가이드 — 배경 #FEE500 · 심볼·글자 검정(85%) · 모서리 12px */
.btn-kakao{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 18px;border-radius:12px;
  background:#FEE500;color:rgba(0,0,0,.85);font-weight:600;font-size:15px}
.btn-kakao:hover{filter:brightness(.97)}
.btn-kakao svg{width:18px;height:18px;flex:0 0 auto;fill:#000}

/* ---------- 예상 견적 (es-) ---------- */
.es-hero{background:linear-gradient(180deg,var(--sand-soft) 0,#fff 100%);border-bottom:1px solid var(--sand-line);padding:26px 0 22px}
.es-hero h1{margin:8px 0 6px;font-size:clamp(21px,3.6vw,29px);font-weight:800;letter-spacing:-.03em}
.es-hero p{margin:0;color:var(--ink-2)}
.es-body{padding:24px 16px 54px;max-width:760px;display:grid;gap:22px}
.es-step{border:1px solid var(--line);border-radius:16px;padding:16px 18px;background:#fff}
.es-step h2{margin:0 0 12px;font-size:16px;font-weight:800;display:flex;align-items:center;gap:8px}
.es-step h2 span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--brown);color:#fff;font-size:12.5px}
.es-mine{margin-bottom:12px}
.es-mine b{font-size:13.5px;color:var(--muted)}
.es-mine .chips{padding:8px 0 0}
.es-pick{position:relative;display:grid;gap:6px}
.es-pick label,.es-size label{font-size:13.5px;font-weight:600;color:var(--ink-2)}
.es-pick input[type=search],.es-size select{width:100%;min-height:46px;padding:11px 13px;border:1px solid var(--line);
  border-radius:10px;font:inherit;font-size:15px;background:#fff;color:var(--ink);box-sizing:border-box}
.es-pick input[type=search]:focus,.es-size select:focus{outline:none;border-color:var(--brown-light);box-shadow:0 0 0 3px rgba(139,90,68,.12)}
.es-size select{appearance:none;-webkit-appearance:none;padding-right:38px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2012%208%22%3E%3Cpath%20d=%22M1%201.5%206%206.5%2011%201.5%22%20fill=%22none%22%20stroke=%22%2378716C%22%20stroke-width=%221.6%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:12px 8px}
.es-pick .cs-pick-list{top:calc(100% - 2px)}
.es-picked{margin:2px 0 0;font-size:13.5px}
.es-picked a{margin-left:8px;color:var(--brown);text-decoration:underline;text-underline-offset:2px}
.es-size{display:grid;gap:6px;margin-top:16px;padding-top:16px;border-top:1px dashed var(--line)}
.es-opts{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr))}
.es-opts label{cursor:pointer;display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:14px}
.es-opts input{width:17px;height:17px;accent-color:var(--brown)}
.es-opts label:has(input:checked){border-color:var(--brown);background:var(--sand-soft)}
.es-actions{display:flex;justify-content:center;margin:6px 0 4px}
.es-actions .btn{min-width:220px;justify-content:center;padding:13px 24px;font-size:15.5px;border-radius:12px}
@media (max-width:520px){.es-actions .btn{width:100%}}
.es-result{border:1px solid var(--sand-line);border-radius:18px;padding:18px;background:var(--sand-soft);display:grid;gap:12px}
.es-basis{margin:0;font-size:13px;color:var(--muted)}
.es-total{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.es-total span{font-size:14px;color:var(--ink-2)}
.es-total b{font-size:clamp(24px,5vw,32px);font-weight:800;letter-spacing:-.03em;color:var(--brown-dark)}
.es-rows{margin:0;padding:0;list-style:none;display:grid;gap:6px;background:#fff;border-radius:12px;padding:12px 14px}
.es-rows li{display:flex;justify-content:space-between;gap:10px;font-size:14px}
.es-rows b{font-weight:700;white-space:nowrap}
.es-warn{padding:12px 14px;border-radius:12px;background:#FBEBEA;border:1px solid #F1C4C0;color:#8C1D18}
.es-warn b{font-size:14px}
.es-warn p{margin:4px 0 0;font-size:13.5px;line-height:1.7;color:#7A2520}
.es-cta{display:flex;gap:8px;flex-wrap:wrap}
.es-cta .btn{flex:1;min-width:180px;justify-content:center}
.es-note,.es-empty small{font-size:12.5px;color:var(--muted);line-height:1.6}
.es-empty{text-align:center;padding:24px;border:1px dashed var(--line);border-radius:16px;display:grid;gap:6px}
.es-empty p{margin:0;color:var(--ink-2)}
.es-link{margin:12px 0 0}
.es-link a{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;background:var(--sand-soft);border:1px solid var(--sand-line);color:var(--brown-dark);font-size:13.5px}
.es-link a:hover{background:#fff;border-color:var(--brown-light)}
.es-link b{font-weight:800}
.pd-es{margin:2px 0 10px}
.es-warn ul{margin:6px 0 0;padding-left:18px;display:grid;gap:5px}
.es-warn li{font-size:13.5px;line-height:1.65;color:#7A2520}
.es-total span small{font-size:12px;font-weight:600;color:var(--muted)}
.es-link small{display:block;margin-top:4px;font-size:12px;color:var(--muted)}
.hm-shops{margin-top:6px}
.hm-shops .sec-hd h2{display:flex;align-items:center;gap:8px}
.hm-shops .sec-hd .badge-ad{transform:translateY(-1px)}
.plist-home{border-bottom:1px solid var(--line)}
.hm-shops-note{margin:10px 0 0;font-size:12px;color:var(--muted-2);line-height:1.6}

/* 로그아웃 */
.hd-logout{color:var(--muted) !important;font-size:13px}
.mp-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.mp-hd h1{margin-bottom:0}

/* ---------- 사장님 화면 (내 매장) ---------- */
.sh-wrap{padding:22px 16px 50px;max-width:820px;display:grid;gap:16px}
.sh-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.sh-eyebrow{font-size:12.5px;font-weight:700;color:var(--brown-dark)}
.sh-hd h1{margin:4px 0 4px;font-size:clamp(20px,3.4vw,26px);font-weight:800;letter-spacing:-.02em}
.sh-hd p{margin:0;color:var(--muted);font-size:13.5px}
.sh-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:18px;display:grid;gap:12px}
.sh-card h2{margin:0;font-size:16px;font-weight:800;letter-spacing:-.02em}
.sh-help{margin:0;font-size:13px;color:var(--muted);line-height:1.6}
.sh-row{display:grid;gap:6px}
.sh-row > span{font-size:13.5px;font-weight:600;color:var(--ink-2)}
.sh-row textarea,.sh-row input{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:15px;box-sizing:border-box}
.sh-row textarea{min-height:76px;resize:vertical}
.sh-row textarea:focus,.sh-row input:focus{outline:none;border-color:var(--brown-light);box-shadow:0 0 0 3px rgba(139,90,68,.12)}
.sh-two{display:grid;gap:12px}
@media (min-width:700px){.sh-two{grid-template-columns:1fr 1fr}}
.sh-checks{display:flex;gap:14px;flex-wrap:wrap;font-size:14px}
.sh-checks input{width:17px;height:17px;accent-color:var(--brown);margin-right:6px;vertical-align:-3px}
.sh-tags{display:flex;gap:6px;flex-wrap:wrap}
.sh-actions{display:flex;gap:8px;justify-content:flex-end}
.sh-pending{background:var(--bg-2);border-radius:12px;padding:10px 12px;font-size:13px;color:var(--ink-2)}
.sh-pending p{margin:6px 0 0;line-height:1.5}
.sh-pending small{color:var(--muted)}
.sh-foot{margin:0;font-size:12.5px;color:var(--muted);text-align:center}
.shop-pick{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:8px}
.shop-pick a{display:grid;gap:2px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}
.shop-pick a:hover{border-color:var(--brown-light)}
.shop-pick small{color:var(--muted);font-size:12.5px}
.pv-claim{margin:18px 0 0;padding:12px 14px;border:1px dashed var(--line);border-radius:12px;background:var(--bg-2);font-size:13.5px;color:var(--ink-2)}
.pv-claim p{margin:0;line-height:1.6}
.pv-claim summary{cursor:pointer;font-weight:700;color:var(--brown-dark)}
.pv-claim details p{margin:8px 0}
.pv-claim textarea{width:100%;min-height:70px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:14px;box-sizing:border-box;margin-bottom:8px}
.pv-claim a{color:var(--brown);font-weight:600}

/* 사장님 가격표 */
.sh-badge{font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--bg-2);color:var(--muted);vertical-align:2px}
.pb-guide{background:var(--sand-soft);border-color:var(--sand-line)}
.pb-grid{display:grid;gap:10px}
@media (min-width:700px){.pb-grid{grid-template-columns:1fr 1fr}}
.pb-cell{border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:grid;gap:7px;background:#fff}
.pb-label{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.pb-label b{font-size:14px}
.pb-label small{font-size:12px;color:var(--muted)}
.pb-inputs{display:flex;align-items:center;gap:5px}
.pb-inputs select,.pb-inputs input{padding:8px 10px;border:1px solid var(--line);border-radius:9px;font:inherit;font-size:14px;min-width:0}
.pb-mode{flex:0 0 74px}
.pb-min,.pb-max{flex:1;text-align:right}
.pb-note{width:100%;padding:7px 10px;border:1px solid var(--line-soft);border-radius:9px;font:inherit;font-size:12.5px;box-sizing:border-box}
.pb-inputs input:focus,.pb-note:focus,.pb-inputs select:focus{outline:none;border-color:var(--brown-light);box-shadow:0 0 0 3px rgba(139,90,68,.12)}
.pb-cell[data-mode="fixed"] .pb-tilde,.pb-cell[data-mode="fixed"] .pb-max{display:none}
.pb-cell[data-mode="inquiry"] .pb-min,.pb-cell[data-mode="inquiry"] .pb-max,
.pb-cell[data-mode="inquiry"] .pb-tilde,.pb-cell[data-mode="inquiry"] .pb-won{display:none}
.pb-cell[data-mode="inquiry"]{background:var(--bg-2)}
.pb-tilde,.pb-won{color:var(--muted);font-size:13px}

/* 사장님 화면 — 로고·사진 */
.sh-photos{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}
.sh-photo{margin:0;width:132px}
.sh-photo img{width:132px;height:100px;object-fit:cover;border-radius:10px;border:1px solid var(--line);display:block}
.sh-photo-logo img{object-fit:contain;background:#fff;height:132px}
.sh-photo figcaption{display:flex;gap:8px;align-items:center;margin-top:6px;font-size:12px}
.sh-first{font-weight:700;color:var(--brown-dark)}
.sh-link,.sh-del{background:none;border:0;padding:0;font-size:12px;cursor:pointer;text-decoration:underline}
.sh-link{color:var(--brown)}
.sh-del{color:var(--danger);margin-left:auto}
.sh-upload{flex:1;min-width:240px;display:grid;gap:10px;justify-items:start}
.sh-upload input[type=file]{font-size:13.5px}

/* ---------- 장비 관리 허브 ---------- */
.gh-hero{background:linear-gradient(180deg,var(--sand-soft) 0,#fff 100%);border-bottom:1px solid var(--sand-line);padding:26px 0 22px}
.gh-hero h1{margin:8px 0 6px;font-size:clamp(21px,3.6vw,29px);font-weight:800;letter-spacing:-.03em}
.gh-hero p{margin:0;color:var(--ink-2)}
.gh-body{padding:24px 16px 54px;max-width:880px;display:grid;gap:28px}
.gh-h2{margin:0 0 12px;font-size:17px;font-weight:800;letter-spacing:-.02em}
.gh-cases{list-style:none;margin:0;padding:0;display:grid;gap:10px}
@media (min-width:640px){.gh-cases{grid-template-columns:1fr 1fr}}
.gh-cases a{display:grid;gap:3px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#fff;
  transition:border-color .15s,box-shadow .15s,transform .15s}
.gh-cases a:hover{border-color:var(--brown-light);box-shadow:var(--shadow);transform:translateY(-1px)}
.gh-cases b{font-size:16px;letter-spacing:-.02em}
.gh-cases small{font-size:13px;color:var(--muted);line-height:1.5}
.gh-go{margin-top:4px;font-size:13px;font-weight:700;color:var(--brown)}
.gh-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr))}
.gh-grid a{display:grid;gap:3px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--bg-2)}
.gh-grid a:hover{border-color:var(--brown-light);background:#fff}
.gh-grid b{font-size:14.5px}
.gh-grid small{font-size:12.5px;color:var(--muted);line-height:1.5}
.doc-acts{margin-top:40px;padding-top:20px;border-top:1px solid var(--line);display:flex;gap:8px;flex-wrap:wrap}
.gear-care-cue{display:grid;gap:2px;margin:0 0 14px;padding:12px 14px;border:1px solid var(--sand-line);border-radius:12px;background:var(--sand-soft)}
.gear-care-cue b{font-size:14.5px}
.gear-care-cue span{font-size:13px;color:var(--ink-2)}
/* 세팅 장비를 체크리스트에 담는 칸 (이름이 .cm-pick 과 겹쳐 버튼이 안 보이던 문제로 바꿈) */
.cm-tocheck{display:grid;gap:8px;justify-items:start;margin:14px 0 4px;padding:14px;border:1px solid var(--sand-line);border-radius:12px;background:var(--sand-soft)}
.cm-tocheck small{font-size:12.5px;color:var(--ink-2);line-height:1.55}
.cm-tocheck a{color:var(--brown);font-weight:600}
.ck-picked{border-color:var(--sand-line);background:var(--sand-soft)}
.ck-drop{display:inline}
.ck-drop button{border:0;background:none;color:var(--muted);font-size:12.5px;cursor:pointer;padding:4px 6px;text-decoration:underline}
.ck-drop button:hover{color:var(--danger)}
.hm-care-cta{display:inline-flex;margin:12px 0 18px;padding:11px 20px;border-radius:12px;font-size:15px}
.gear-care-skip{margin-top:6px;font-size:12.5px;color:var(--brown);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.care-box{border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px;background:var(--bg);scroll-margin-top:72px}
/* 가이드에서 '기록 남기기'로 들어왔을 때 어디에 적는지 바로 보이게 */
.care-box.on{border-color:var(--brown-light);box-shadow:0 0 0 3px rgba(139,90,68,.12)}

/* ---------- 확인창 ---------- */
.pd-confirm{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px}
.pd-confirm[hidden]{display:none}
.pd-confirm-back{position:absolute;inset:0;background:rgba(28,25,23,.45)}
.pd-confirm-box{position:relative;width:min(100%,380px);background:#fff;border-radius:16px;padding:22px;box-shadow:0 18px 50px rgba(28,25,23,.25)}
.pd-confirm-title{margin:0 0 8px;font-size:17px;font-weight:800;letter-spacing:-.02em}
.pd-confirm-body{margin:0 0 18px;font-size:14px;line-height:1.65;color:var(--ink-2);white-space:pre-line}
.pd-confirm-acts{display:flex;gap:8px;justify-content:flex-end}
.pd-confirm-ok{background:var(--danger);color:#fff;border:1px solid var(--danger)}
.pd-confirm-ok:hover{filter:brightness(.94)}
body.pd-confirm-open{overflow:hidden}

/* ---------- 요즘 뜨는 캠핑 (캠낚·백패킹·낚패킹·물가) — 목록 맨 앞 큰 칩 ---------- */
.cs-trends{display:grid;grid-template-columns:auto repeat(4,minmax(0,1fr));gap:10px;align-items:stretch;padding:16px 0 4px}
.cs-trends-lb{align-self:center;font-size:13px;font-weight:800;color:#B4461E;white-space:nowrap}
.cs-trend{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;
  padding:11px 13px;border:1.5px solid var(--line);border-radius:14px;background:#fff;transition:border-color .15s,box-shadow .15s,transform .15s}
.cs-trend:hover{border-color:#E9B28F;box-shadow:var(--shadow);transform:translateY(-1px)}
.cs-trend .ico{grid-row:1 / span 2;font-size:24px;line-height:1}
.cs-trend b{font-size:15px;font-weight:800;letter-spacing:-.02em}
.cs-trend b small{font-size:12px;font-weight:600;color:var(--muted);margin-left:2px}
.cs-trend em{font-style:normal;font-size:12px;color:var(--muted);line-height:1.35}
.cs-trend.on{border-color:#C2410C;background:#FFF4EC;box-shadow:0 0 0 3px rgba(194,65,12,.10)}
.cs-trend.on b small{color:#C2410C}
.cs-trend-note{margin:8px 0 0;padding:10px 13px;border-radius:12px;background:#FFF8F1;border:1px solid #F5D9C2;font-size:13px;line-height:1.6;color:var(--ink-2)}
.cs-tags i.tg-hot{background:#FFF1E6;color:#B4461E;font-weight:700}
@media (max-width:760px){
  .cs-trends{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cs-trends-lb{grid-column:1 / -1}
  .cs-trend{padding:10px 11px}
  .cs-trend em{display:none}
}

/* 캠핑장 상세 — 캠낚·백패킹 칩과 묶음 */
.cs-chips a.hot{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:800;padding:5px 12px;border-radius:999px;
  background:#FFF1E6;color:#B4461E;border:1px solid #F3C9A8}
.cs-chips a.hot.w{background:#EAF4FB;color:#1D5F8A;border-color:#C5DFF0}
.cs-chips a.hot:hover{filter:brightness(.97)}
.cs-trendbox{margin:22px 0 0;padding:18px;border:1.5px solid #F3C9A8;border-radius:16px;background:linear-gradient(180deg,#FFF8F1 0,#fff 70%)}
.ctb-hd{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:12px}
.ctb-hd h2{margin:0;font-size:19px;font-weight:800;letter-spacing:-.02em}
.ctb-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.ctb-card{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.ctb-card b{font-size:14.5px}
.ctb-card ul{margin:8px 0 0;padding-left:18px;font-size:13.5px;line-height:1.65;color:var(--ink-2)}
.ctb-rule{background:#FFFBF5;border-color:#F1DEC6}

/* 첫 화면 — 요즘 뜨는 캠핑 (캠낚·백패킹·낚패킹). 날씨보다 위, 가장 먼저 보이게 */
.hm-hot-trend > span{color:#B4461E;font-weight:800}
.hm-hot-trend a{background:#FFF1E6;border-color:#F3C9A8;color:#B4461E;font-weight:700}
.hm-hot-trend a:hover{border-color:#C2410C;color:#9A3412}
.hm-trend{margin:22px 0 6px;padding:20px;border-radius:18px;border:1.5px solid #F3C9A8;
  background:radial-gradient(120% 140% at 100% 0,#FFE9D6 0,#FFF8F1 45%,#fff 100%)}
.hmt-hd{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:flex-end;justify-content:space-between;margin-bottom:14px}
.hmt-eyebrow{display:inline-block;font-size:12.5px;font-weight:800;padding:3px 10px;border-radius:999px;background:#C2410C;color:#fff}
.hmt-hd h2{margin:8px 0 4px;font-size:clamp(20px,3.4vw,26px);font-weight:800;letter-spacing:-.03em}
.hmt-hd p{margin:0;font-size:14px;color:var(--ink-2)}
.hmt-hd p b{color:#B4461E}
.hmt-tabs{display:flex;flex-wrap:wrap;gap:6px}
.hmt-tabs button{font:inherit;font-size:14px;font-weight:700;padding:8px 14px;border-radius:999px;border:1.5px solid #F3C9A8;background:#fff;color:var(--ink-2);cursor:pointer}
.hmt-tabs button small{font-size:11.5px;font-weight:600;opacity:.75}
.hmt-tabs button[aria-selected=true]{background:#C2410C;border-color:#C2410C;color:#fff}
.hmt-tabs button:focus-visible{outline:2px solid #C2410C;outline-offset:2px}
.hmt-foot{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}
.hmt-foot span{flex:1 1 200px;font-size:13.5px;color:var(--muted)}
@media (max-width:600px){ .hm-trend{padding:16px 14px} .hmt-foot .btn{flex:1 1 100%;justify-content:center} }

/* 물때 (국립해양조사원 조석예보) */
.cs-tide{margin:0 0 12px;padding:12px 14px;border:1px solid #C5DFF0;border-radius:12px;background:#F3F9FD}
.ctd-hd{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
.ctd-hd b{font-size:15px}
.ctd-hd small{font-size:12.5px;color:var(--muted)}
.ctd-days{display:grid;gap:8px;margin-top:10px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.ctd-day{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;padding:8px 10px;border-radius:10px;background:#fff;border:1px solid #DCEBF5}
.ctd-lb{font-weight:800;font-size:14px;white-space:nowrap}
.ctd-lb small{display:block;font-weight:600;font-size:11.5px;color:var(--muted)}
.ctd-day ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.ctd-day li{display:grid;justify-items:center;gap:1px;padding:4px 2px;border-radius:8px}
.ctd-day li i{font-style:normal;font-size:11px;font-weight:700}
.ctd-day li b{font-size:14.5px;font-variant-numeric:tabular-nums}
.ctd-day li small{font-size:11px;color:var(--muted)}
.ctd-day li.hi{background:#E6F1FA;color:#1D5F8A}
.ctd-day li.lo{background:#F4F1EC;color:#6B5A44}
.ctd-note{margin:8px 0 0;font-size:12.5px;line-height:1.6;color:var(--ink-2)}
.cs-tidebox{border-color:#C5DFF0;background:#fff}
.cs-tidebox .cs-tide{margin:0}
