@font-face{font-family:'Pretendard';font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/Pretendard-Regular.subset.woff2) format('woff2')}
@font-face{font-family:'Pretendard';font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/Pretendard-Medium.subset.woff2) format('woff2')}
@font-face{font-family:'Pretendard';font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/Pretendard-SemiBold.subset.woff2) format('woff2')}
@font-face{font-family:'Pretendard';font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/Pretendard-Bold.subset.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/poppins-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/poppins-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/poppins-latin-700-normal.woff2) format('woff2')}
:root{
  --bg:#0D1829; --bg2:#12213A; --card:#172A45; --card2:#1D3354; --line:rgba(160,190,230,.10);
  --tx:#F3F6FA; --tx2:#C3CEDC; --tx3:#93A3B8;
  --teal:#3FCBC2; --teal-bg:rgba(63,203,194,.13);
  --amber:#F7B43C; --amber-bg:rgba(247,180,60,.14);
  --green:#5AD69A; --green-bg:rgba(90,214,154,.14);
  --r-lg:24px; --r-md:18px; --r-sm:14px;
  --shadow:0 10px 30px rgba(3,10,22,.35);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:#08111F;font-family:'Pretendard',system-ui,-apple-system,sans-serif;color:var(--tx);font-size:18px;line-height:1.55;letter-spacing:-.01em;-webkit-font-smoothing:antialiased}
.num{font-family:'Poppins','Pretendard',sans-serif;font-weight:600;letter-spacing:0}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
svg{display:block;flex-shrink:0}
.app{max-width:480px;margin:0 auto;background:var(--bg);min-height:100vh;padding-bottom:calc(112px + env(safe-area-inset-bottom));position:relative;overflow-x:hidden}
:focus-visible{outline:3px solid var(--teal);outline-offset:2px;border-radius:10px}

/* 상단바 */
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:6px;height:64px;padding:0 10px;background:rgba(13,24,41,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.topbar h2{flex:1;font-size:20px;font-weight:700;text-align:center;margin-right:-44px}
.topbar .ic{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--tx)}
.topbar .ic:active{background:rgba(255,255,255,.08)}

/* 공통 블록 */
.sec{padding:0 20px;margin-top:36px}
.sec-h{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:16px}
.sec-h h3{font-size:22px;font-weight:700;line-height:1.35}
.sec-h .more{font-size:15px;font-weight:600;color:var(--teal);white-space:nowrap;display:flex;align-items:center;gap:2px}
.sec-h p{font-size:15px;color:var(--tx3);margin-top:4px;font-weight:500}
.card{background:var(--card);border-radius:var(--r-lg);box-shadow:var(--shadow)}

/* 이름 블록 */
.head{padding:24px 20px 0}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.pill{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 13px;border-radius:999px;font-size:14px;font-weight:600}
.pill.teal{background:var(--teal-bg);color:var(--teal)}
.pill.amber{background:var(--amber-bg);color:var(--amber)}
.pill.green{background:var(--green-bg);color:var(--green)}
.pill.gray{background:rgba(255,255,255,.07);color:var(--tx2)}
.head h1{font-size:31px;font-weight:700;line-height:1.3;letter-spacing:-.025em}
.addr{display:flex;align-items:flex-start;gap:10px;margin-top:14px;color:var(--tx2);font-size:17px;line-height:1.5}
.addr svg{margin-top:3px;color:var(--tx3)}
.addr .jibun{display:block;font-size:15px;color:var(--tx3);margin-top:2px}
.addr-btns{display:flex;gap:8px;margin-top:14px;padding-left:30px}
.chip-btn{height:38px;padding:0 15px;border-radius:999px;background:var(--card2);font-size:15px;font-weight:600;color:var(--tx2);display:inline-flex;align-items:center;gap:6px}
.chip-btn.teal{color:var(--teal)}

/* 정보 목록 */
.info{padding:6px 20px}
.info-row{display:flex;gap:14px;padding:18px 0;align-items:flex-start}
.info-row+.info-row{box-shadow:0 -1px 0 var(--line)}
.info-ic{width:44px;height:44px;border-radius:14px;background:var(--card2);display:grid;place-items:center;color:var(--teal)}
.info-bd{flex:1;min-width:0}
.info-bd dt{font-size:15px;color:var(--tx3);font-weight:500}
.info-bd dd{font-size:18px;font-weight:600;margin-top:2px}
.info-bd dd small{display:block;font-size:15px;color:var(--tx2);font-weight:500;margin-top:2px}
.info-bd .tel{font-size:22px;color:var(--teal)}
.info-bd .off{color:var(--amber)}
.hours{display:grid;grid-template-columns:auto 1fr;gap:3px 16px;margin-top:4px}
.hours span{font-size:17px;color:var(--tx2);font-weight:500}
.hours .num{font-size:17px;color:var(--tx)}
.hours .today{color:var(--tx);font-weight:700}

/* 등급 설명 */
.grade{padding:22px 20px}
.grade-top{display:flex;align-items:center;gap:14px}
.grade-mark{width:58px;height:58px;border-radius:18px;background:var(--teal-bg);color:var(--teal);display:grid;place-items:center;font-family:'Poppins',sans-serif;font-weight:700;font-size:24px;line-height:1}
.grade-mark small{font-family:'Pretendard';font-size:12px;font-weight:700;display:block;margin-top:2px;text-align:center}
.grade-top h4{font-size:19px;font-weight:700}
.grade-top p{font-size:15px;color:var(--tx3);font-weight:500}
.can{margin-top:18px;display:grid;gap:10px}
.can li{list-style:none;display:flex;gap:10px;font-size:16px;color:var(--tx2);line-height:1.5}
.can li svg{margin-top:3px}
.can .y svg{color:var(--green)}
.can .n svg{color:var(--tx3)}
.can .n{color:var(--tx3)}
.grade-bar{display:flex;gap:6px;margin-top:18px}
.grade-bar div{flex:1;padding:10px 8px;border-radius:14px;background:rgba(255,255,255,.04);text-align:center;font-size:14px;color:var(--tx3);font-weight:600}
.grade-bar div b{display:block;font-family:'Poppins';font-size:17px;color:var(--tx2)}
.grade-bar .on{background:var(--teal-bg);color:var(--teal)}
.grade-bar .on b{color:var(--teal)}

/* 수리비 */
.cost-list{padding:8px 0}
.cost{display:flex;align-items:center;gap:14px;padding:15px 20px}
.cost+.cost{box-shadow:0 -1px 0 var(--line)}
.cost-ic{width:46px;height:46px;border-radius:14px;background:var(--card2);display:grid;place-items:center;color:var(--tx2)}
.cost-nm{flex:1;min-width:0}
.cost-nm b{display:block;font-size:17px;font-weight:600}
.cost-nm span{font-size:14px;color:var(--tx3);font-weight:500}
.cost-pr{text-align:right}
.cost-pr .num{font-size:18px;color:var(--tx);white-space:nowrap}
.cost-pr span{display:block;font-size:13px;color:var(--tx3);font-weight:500}
.cost-foot{padding:14px 20px 18px;font-size:14px;color:var(--tx3);line-height:1.5}

/* 근처 정비소 */
.near{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:20px;padding:4px 20px 12px;margin:0 -20px;scrollbar-width:none}
.near::-webkit-scrollbar{display:none}
.near a{scroll-snap-align:start;flex:0 0 72%;padding:18px;border-radius:var(--r-md);background:var(--card);box-shadow:var(--shadow)}
.near .pill{height:28px;font-size:13px;padding:0 11px}
.near b{display:block;font-size:18px;font-weight:700;margin:10px 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.near p{font-size:15px;color:var(--tx3);display:flex;align-items:center;gap:6px}
.near p .num{color:var(--tx2);font-size:15px}

/* 사장님 배너 */
.claim{margin:36px 20px 0;padding:24px 22px;border-radius:var(--r-lg);background:linear-gradient(150deg,#1F3A5E 0%,#172A45 70%);position:relative;overflow:hidden}
.claim h4{font-size:21px;font-weight:700;line-height:1.4}
.claim p{font-size:16px;color:var(--tx2);margin-top:8px;line-height:1.55}
.claim ul{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.claim li{list-style:none;font-size:14px;font-weight:600;color:var(--tx2);background:rgba(255,255,255,.07);border-radius:999px;padding:6px 12px}
.claim .btn{margin-top:20px;width:100%;height:54px;border-radius:999px;background:var(--teal);color:#062321;font-size:17px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:6px}

/* 출처 */
.src{margin:28px 20px 0;padding:18px 20px;border-radius:var(--r-md);background:rgba(255,255,255,.035);font-size:14px;color:var(--tx3);line-height:1.6}
.src b{color:var(--tx2);font-weight:600}
.src a{display:inline-flex;align-items:center;gap:2px;color:var(--teal);font-weight:600;margin-top:8px}

/* 지도 */
.map{position:relative;border-radius:var(--r-lg);overflow:hidden;height:220px;background:#10223A}
.map svg.bg{position:absolute;inset:0;width:100%;height:100%}
.map .pin{position:absolute;left:50%;top:46%;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center}
.map .pin span{background:var(--amber);color:#2A1A00;font-size:14px;font-weight:700;padding:7px 13px;border-radius:999px;white-space:nowrap;box-shadow:0 6px 16px rgba(0,0,0,.35)}
.map .pin i{width:3px;height:14px;background:var(--amber);border-radius:2px}
.map .pin em{width:14px;height:14px;border-radius:50%;background:var(--amber);border:3px solid #0D1829;margin-top:-2px;box-shadow:0 0 0 7px rgba(247,180,60,.25)}
.map .open{position:absolute;right:12px;bottom:12px;height:40px;padding:0 15px;border-radius:999px;background:rgba(13,24,41,.88);font-size:15px;font-weight:600;display:flex;align-items:center;gap:6px;backdrop-filter:blur(8px)}

/* 하단 고정 바 */
.dock{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:100%;max-width:480px;z-index:40;display:flex;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(to top,rgba(13,24,41,1) 70%,rgba(13,24,41,0))}
.dock a{height:60px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:18px;font-weight:700}
.dock .sub{flex:0 0 auto;padding:0 22px;background:var(--card2);color:var(--tx)}
.dock .sub.sq{width:60px;padding:0;flex-direction:column;gap:1px;font-size:12px;font-weight:600}
.dock .main{flex:1;background:var(--amber);color:#2A1A00;box-shadow:0 8px 24px rgba(247,180,60,.28)}
.dock .main.teal{background:var(--teal);color:#062321;box-shadow:0 8px 24px rgba(63,203,194,.25)}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* ===== 확장 컴포넌트 ===== */
.topbar .logo{flex:1;display:flex;align-items:center;gap:8px;font-size:21px;font-weight:700;padding-left:10px}
.topbar .logo i{width:30px;height:30px;border-radius:10px;background:var(--teal);color:#062321;display:grid;place-items:center}
.topbar h2.l{text-align:left;margin-right:0;padding-left:4px}
.app.has-tab{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
.app.has-tab.has-dock{padding-bottom:calc(180px + env(safe-area-inset-bottom))}
.tabbar{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:100%;max-width:480px;z-index:40;display:flex;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:rgba(16,29,49,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:24px 24px 0 0;box-shadow:0 -8px 30px rgba(3,10,22,.4)}
.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 0;font-size:13px;font-weight:600;color:var(--tx3);border-radius:16px}
.tabbar a.on{color:var(--teal)}
.has-tab .dock{bottom:calc(76px + env(safe-area-inset-bottom));background:none;padding-bottom:10px}

.loc{display:flex;gap:10px;padding:6px 20px 0}
.loc-btn{flex:0 0 auto;height:52px;padding:0 16px;border-radius:999px;background:var(--card);display:flex;align-items:center;gap:6px;font-size:16px;font-weight:600;box-shadow:var(--shadow)}
.loc-btn svg{color:var(--teal)}
.sbox{flex:1;min-width:0;height:52px;border-radius:999px;background:var(--card);display:flex;align-items:center;gap:10px;padding:0 18px;color:var(--tx3);font-size:16px;box-shadow:var(--shadow)}
.sbox input{flex:1;min-width:0;background:none;border:0;color:var(--tx);font:inherit;font-size:17px;outline:none}
.sbox input::placeholder{color:var(--tx3)}

.cats{display:flex;gap:8px;overflow-x:auto;padding:16px 20px 4px;scrollbar-width:none}
.cats::-webkit-scrollbar{display:none}
.cats a{flex:0 0 auto;height:48px;padding:0 18px 0 14px;border-radius:999px;background:var(--card);display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:var(--tx2)}
.cats a svg{color:var(--tx3)}
.cats a.on{background:var(--teal);color:#062321}
.cats a.on svg{color:#062321}

.chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.chips::-webkit-scrollbar{display:none}
.chip{flex:0 0 auto;height:40px;padding:0 15px;border-radius:999px;background:var(--card2);font-size:15px;font-weight:600;color:var(--tx2);display:inline-flex;align-items:center;gap:6px;cursor:pointer;user-select:none}
.chip.on{background:var(--teal-bg);color:var(--teal);box-shadow:inset 0 0 0 1.5px rgba(63,203,194,.55)}
.chip.dis{opacity:.4;pointer-events:none}

.bigmap{position:relative;margin:14px 20px 0;height:300px;border-radius:var(--r-lg);overflow:hidden;background:#10223A}
.bigmap svg.bg{position:absolute;inset:0;width:100%;height:100%}
.mp{position:absolute;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center}
.mp b{min-width:34px;height:34px;padding:0 8px;border-radius:999px;display:grid;place-items:center;font-size:13px;font-weight:700;color:#062321;background:var(--teal);box-shadow:0 4px 12px rgba(0,0,0,.35)}
.mp.a b{background:var(--amber);color:#2A1A00}.mp.g b{background:#8FA3BD;color:#0D1829}
.mp i{width:2px;height:7px;background:inherit}
.me{position:absolute;left:52%;top:55%;width:18px;height:18px;border-radius:50%;background:#4C8DFF;border:3px solid #fff;box-shadow:0 0 0 12px rgba(76,141,255,.2)}
.map-tools{position:absolute;right:12px;top:12px;display:flex;flex-direction:column;gap:8px}
.map-tools button{width:44px;height:44px;border-radius:14px;background:rgba(13,24,41,.88);display:grid;place-items:center}
.legend{position:absolute;left:12px;bottom:12px;display:flex;gap:10px;padding:8px 13px;border-radius:999px;background:rgba(13,24,41,.88);font-size:13px;font-weight:600;color:var(--tx2)}
.legend span{display:flex;align-items:center;gap:5px}.legend i{width:9px;height:9px;border-radius:50%}

.lh{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 20px;margin:28px 0 14px}
.lh h3{font-size:22px;font-weight:700}.lh h3 .num{color:var(--teal);font-size:22px}
.sortbtn{height:40px;padding:0 14px;border-radius:999px;background:var(--card2);display:flex;align-items:center;gap:6px;font-size:15px;font-weight:600;color:var(--tx2)}
.fbar{padding:0 20px;margin-bottom:14px}

.shops{padding:0 20px;display:grid;gap:12px}
.sc{display:flex;gap:14px;padding:18px;border-radius:var(--r-lg);background:var(--card);box-shadow:var(--shadow)}
.sc-th{width:84px;height:84px;border-radius:18px;flex-shrink:0;display:grid;place-items:center;background:var(--card2);color:var(--tx3)}
.sc-th.ph{background:linear-gradient(150deg,#2B4A70,#1A3050);color:#9CB6D6}
.sc-bd{flex:1;min-width:0}
.sc-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.sc-top .pill{height:26px;font-size:13px;padding:0 10px}
.sc b.nm{display:block;font-size:19px;font-weight:700;margin:7px 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sc .meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:15px;color:var(--tx2);font-weight:500}
.sc .meta .num{font-size:15px;font-weight:600;color:var(--tx)}
.sc .meta .open{color:var(--green);font-weight:600}.sc .meta .closed{color:var(--tx3);font-weight:600}
.sc .price{margin-top:10px;padding-top:10px;box-shadow:0 -1px 0 var(--line);display:flex;justify-content:space-between;align-items:center;font-size:15px;color:var(--tx3);font-weight:500}
.sc .price .num{font-size:16px;color:var(--tx)}
.more-btn{display:flex;align-items:center;justify-content:center;gap:4px;margin:14px 20px 0;height:54px;border-radius:999px;background:var(--card2);font-size:16px;font-weight:600;color:var(--tx2)}

.tools{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tool{padding:18px;border-radius:var(--r-lg);background:var(--card);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px;min-height:150px}
.tool .ti{width:46px;height:46px;border-radius:15px;display:grid;place-items:center}
.tool b{font-size:18px;font-weight:700;line-height:1.35}
.tool p{font-size:14px;color:var(--tx3);font-weight:500;line-height:1.45;margin-top:-6px}
.ti.t{background:var(--teal-bg);color:var(--teal)}.ti.a{background:var(--amber-bg);color:var(--amber)}.ti.g{background:var(--green-bg);color:var(--green)}.ti.b{background:rgba(120,160,255,.14);color:#8FB0FF}.ti.r{background:rgba(255,120,110,.14);color:#FF8A80}

/* 시트 */
.dim{position:fixed;inset:0;z-index:60;background:rgba(3,8,18,.62);opacity:0;pointer-events:none;transition:opacity .25s}
.dim.on{opacity:1;pointer-events:auto}
.sheet{position:fixed;left:50%;bottom:0;z-index:61;width:100%;max-width:480px;max-height:88vh;overflow:auto;transform:translate(-50%,105%);transition:transform .3s cubic-bezier(.2,.8,.2,1);background:#132440;border-radius:28px 28px 0 0;padding:10px 20px calc(110px + env(safe-area-inset-bottom))}
.sheet.on{transform:translate(-50%,0)}
.sheet .grab{width:44px;height:5px;border-radius:9px;background:rgba(255,255,255,.2);margin:0 auto 14px}
.sheet-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.sheet-h h3{font-size:22px;font-weight:700}
.sheet .grp{padding:18px 0}
.sheet .grp+.grp{box-shadow:0 -1px 0 var(--line)}
.sheet .grp h4{font-size:17px;font-weight:700;margin-bottom:12px}
.sheet .chips{flex-wrap:wrap}
.sheet-foot{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:100%;max-width:480px;z-index:62;display:none;gap:10px;padding:12px 20px calc(14px + env(safe-area-inset-bottom));background:#132440}
.sheet.on~.sheet-foot{display:flex}
.btn{height:58px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:18px;font-weight:700;padding:0 22px}
.btn.pri{flex:1;background:var(--teal);color:#062321}
.btn.amb{flex:1;background:var(--amber);color:#2A1A00}
.btn.ghost{background:var(--card2);color:var(--tx)}
.btn.w{width:100%}
.seg{display:flex;gap:4px;padding:5px;border-radius:999px;background:rgba(255,255,255,.05)}
.seg button,.seg a{flex:1;height:44px;border-radius:999px;font-size:15px;font-weight:600;color:var(--tx3);display:grid;place-items:center}
.seg .on{background:var(--card2);color:var(--tx);box-shadow:0 4px 12px rgba(0,0,0,.25)}
.sw{position:relative;width:56px;height:32px;border-radius:999px;background:rgba(255,255,255,.14);flex-shrink:0;cursor:pointer;transition:background .2s}
.sw::after{content:"";position:absolute;left:4px;top:4px;width:24px;height:24px;border-radius:50%;background:#fff;transition:transform .2s}
.sw.on{background:var(--teal)}.sw.on::after{transform:translateX(24px)}
.row-sw{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:17px;font-weight:600}
.row-sw small{display:block;font-size:14px;color:var(--tx3);font-weight:500}

/* 페이지 헤드 */
.crumb{display:flex;flex-wrap:wrap;gap:4px;padding:8px 20px 0;font-size:14px;color:var(--tx3);font-weight:500}
.crumb a{color:var(--tx2)}
.ph1{padding:14px 20px 0}
.ph1 h1{font-size:29px;font-weight:700;line-height:1.35;letter-spacing:-.025em}
.ph1 p{font-size:17px;color:var(--tx2);margin-top:8px;line-height:1.55}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:18px 20px 0}
.stats div{padding:14px 6px;border-radius:18px;background:var(--card);text-align:center;font-size:13px;color:var(--tx3);font-weight:600}
.stats b{display:block;font-family:'Poppins';font-weight:600;font-size:22px;color:var(--tx);line-height:1.3}
.stats .t b{color:var(--teal)}

.box{padding:20px;border-radius:var(--r-lg);background:var(--card);box-shadow:var(--shadow)}
.note{display:flex;gap:12px;padding:16px 18px;border-radius:var(--r-md);background:rgba(247,180,60,.08);font-size:15px;color:var(--tx2);line-height:1.55}
.note svg{color:var(--amber);margin-top:2px}
.note.t{background:rgba(63,203,194,.08)}.note.t svg{color:var(--teal)}
.faq details{border-radius:var(--r-md);background:var(--card);margin-bottom:10px;overflow:hidden}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;font-size:17px;font-weight:600;line-height:1.45}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{transition:transform .2s;color:var(--tx3);transform:rotate(90deg)}
.faq details[open] summary svg{transform:rotate(-90deg)}
.faq details p{padding:0 20px 18px;font-size:16px;color:var(--tx2);line-height:1.65}
.links{display:flex;flex-wrap:wrap;gap:8px}
.links a{height:42px;padding:0 16px;border-radius:999px;background:var(--card);font-size:15px;font-weight:600;color:var(--tx2);display:inline-flex;align-items:center}
.pager{display:flex;justify-content:center;gap:6px;margin-top:20px}
.pager a{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-family:'Poppins';font-weight:600;font-size:15px;color:var(--tx3);background:var(--card)}
.pager a.on{background:var(--teal);color:#062321}

/* 폼 */
.form{display:grid;gap:18px}
.fl label{display:block;font-size:16px;font-weight:700;margin-bottom:9px}
.fl label small{font-weight:500;color:var(--tx3);font-size:14px}
.inp{width:100%;height:58px;border-radius:18px;background:var(--card);border:0;padding:0 18px;color:var(--tx);font:inherit;font-size:17px;outline:none;box-shadow:inset 0 0 0 1.5px transparent;transition:box-shadow .15s;-webkit-appearance:none;appearance:none}
.inp:focus{box-shadow:inset 0 0 0 1.5px var(--teal)}
select.inp{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2393A3B8' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:44px}
textarea.inp{height:120px;padding:16px 18px;resize:none;line-height:1.55}
.inp::placeholder{color:var(--tx3)}
.inp-u{position:relative}.inp-u span{position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:16px;color:var(--tx3);font-weight:600}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.steps{display:flex;align-items:center;gap:8px;padding:10px 20px 0}
.steps span{flex:1;height:6px;border-radius:9px;background:rgba(255,255,255,.1)}
.steps span.on{background:var(--teal)}
.stepl{padding:12px 20px 0;font-size:15px;font-weight:600;color:var(--teal)}
.stepl .num{font-size:15px}
.upl{display:flex;align-items:center;gap:14px;padding:18px;border-radius:18px;background:var(--card);border:1.5px dashed rgba(160,190,230,.25);font-size:16px;font-weight:600;color:var(--tx2)}
.upl small{display:block;font-size:14px;color:var(--tx3);font-weight:500}
.upl svg{color:var(--teal)}

/* 진행 바 */
.bar{height:10px;border-radius:9px;background:rgba(255,255,255,.08);overflow:hidden}
.bar i{display:block;height:100%;border-radius:9px;background:var(--teal)}
.bar i.a{background:var(--amber)}.bar i.r{background:#FF8A80}
.seq{display:grid;gap:0}
.seq li{list-style:none;display:flex;gap:14px;position:relative;padding-bottom:22px}
.seq li:last-child{padding-bottom:0}
.seq li::before{content:"";position:absolute;left:19px;top:42px;bottom:4px;width:2px;background:rgba(63,203,194,.25)}
.seq li:last-child::before{display:none}
.seq .n{width:40px;height:40px;border-radius:50%;background:var(--teal-bg);color:var(--teal);display:grid;place-items:center;font-family:'Poppins';font-weight:600;font-size:16px;flex-shrink:0}
.seq b{display:block;font-size:17px;font-weight:700;margin-top:7px}
.seq p{font-size:15px;color:var(--tx2);margin-top:3px;line-height:1.55}
.box .inp,.box .sbox{background:var(--bg2)}
.sheet{visibility:hidden;transition:transform .3s cubic-bezier(.2,.8,.2,1),visibility 0s .3s}
.sheet.on{visibility:visible;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
input[type=date].inp{color-scheme:dark}
/* ===== PC 반응형 ===== */
.pcw{display:block}.pc-only{display:none}
@media (min-width:1000px){
 body{background:#0A1424}
 .app{max-width:1200px}
 .app.narrow{max-width:760px}
 .app.has-tab{padding-bottom:64px}
 .app.has-tab.has-dock{padding-bottom:140px}
 .topbar{height:72px;padding:0 20px}
 .tabbar{top:0;bottom:auto;left:auto;right:max(20px,calc(50% - 580px));transform:none;width:auto;background:none;box-shadow:none;border-radius:0;padding:12px 0;backdrop-filter:none;-webkit-backdrop-filter:none;z-index:41}
 .tabbar a{flex-direction:row;gap:7px;font-size:16px;padding:10px 16px;border-radius:999px;white-space:nowrap}
 .tabbar a.on{background:var(--teal-bg)}
 .has-tab .topbar>.ic:not(:first-child),.has-tab .topbar>button.ic{display:none}
 .has-tab .dock{bottom:24px}
 .pcw{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:28px;align-items:start}
 .pcw.mapl{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
 .pcl,.pcr{min-width:0}
 .sticky{position:sticky;top:84px}
 .pcw.mapl .pcl .bigmap{height:calc(100vh - 250px);min-height:420px}
 .pc-only{display:block}
 .m-only{display:none!important}
 .tabs{top:72px}
 .gal{aspect-ratio:16/8}
 .shops.g2{grid-template-columns:1fr 1fr}
 .side{margin:4px 20px 0;padding:24px;border-radius:var(--r-lg);background:var(--card);box-shadow:var(--shadow);display:grid;gap:14px}
 .side h3{font-size:24px;font-weight:700}
 .side .btn{height:56px;font-size:17px}
 .ph1 h1{font-size:34px}
}
.sbox span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* 스크롤바 */
html{color-scheme:dark;scrollbar-width:thin;scrollbar-color:rgba(160,190,230,.28) transparent}
*{scrollbar-width:thin;scrollbar-color:rgba(160,190,230,.28) transparent}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(160,190,230,.22);border-radius:99px;border:2px solid transparent;background-clip:padding-box}
::-webkit-scrollbar-thumb:hover{background-color:rgba(160,190,230,.4)}
::-webkit-scrollbar-corner{background:transparent}
/* 토스트·확인창·오류 */
.toast{position:fixed;left:50%;bottom:calc(120px + env(safe-area-inset-bottom));transform:translate(-50%,20px);z-index:90;max-width:min(420px,calc(100% - 40px));padding:14px 20px;border-radius:999px;background:#F3F6FA;color:#0D1829;font-size:16px;font-weight:600;box-shadow:0 12px 30px rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;text-align:center}
.toast.on{opacity:1;transform:translate(-50%,0)}
.cfm-dim{position:fixed;inset:0;z-index:80;background:rgba(3,8,18,.6);opacity:0;pointer-events:none;transition:opacity .2s}.cfm-dim.on{opacity:1;pointer-events:auto}
.cfm{position:fixed;left:50%;top:50%;z-index:81;width:min(360px,calc(100% - 40px));transform:translate(-50%,-46%);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;background:#162A47;border-radius:28px;padding:28px 22px 20px;box-shadow:0 20px 50px rgba(0,0,0,.45);text-align:center}
.cfm.on{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}
.cfm b{display:block;font-size:20px;font-weight:700}.cfm p{font-size:16px;color:var(--tx2);margin:8px 0 22px;line-height:1.55}.cfm .btn{height:52px;font-size:16px;width:100%}
.fl.err .inp{box-shadow:inset 0 0 0 1.5px #FF8A80}
.fl.err::after{content:"필수 항목이에요";display:block;font-size:14px;font-weight:600;color:#FF8A80;margin-top:7px}
.fl .req{color:#FF8A80;margin-left:2px}
.pwa{display:flex;align-items:center;gap:12px;margin:6px 20px 4px;padding:14px 12px 14px 16px;border-radius:20px;background:linear-gradient(150deg,#1F3A5E,#172A45);box-shadow:var(--shadow)}

/* PHP 전환 추가 */
.sc-bd .addr2{font-size:15px;color:var(--tx2);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.grid-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.grid-links a{word-break:keep-all;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:16px 18px;border-radius:18px;background:var(--card);font-size:17px;font-weight:600;box-shadow:var(--shadow)}
.grid-links a .num{font-size:15px;color:var(--tx3);font-weight:500}
.empty-box{text-align:center;padding:40px 22px;border-radius:var(--r-lg);background:var(--card)}
.empty-box b{display:block;font-size:20px;margin-top:14px}.empty-box p{font-size:16px;color:var(--tx2);margin-top:8px}
#kmap{position:relative;height:300px;border-radius:var(--r-lg);overflow:hidden;background:#10223A}
@media (min-width:1000px){#kmap{height:calc(100vh - 250px);min-height:420px}}
.cs-pin{display:grid;place-items:center;min-width:34px;height:34px;padding:0 8px;border-radius:999px;font:700 13px Pretendard,sans-serif;box-shadow:0 4px 12px rgba(0,0,0,.35)}

.summary{padding:20px 22px;border-radius:var(--r-lg);background:linear-gradient(150deg,rgba(63,203,194,.12),rgba(23,42,69,.9));box-shadow:var(--shadow)}
.summary .sum-h{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.summary .sum-h b{font-size:18px}.summary .sum-h span{font-size:14px;color:var(--tx3);font-weight:600;font-family:Poppins,Pretendard,sans-serif}
.summary ul{display:grid;gap:8px}.summary li{list-style:none;position:relative;padding-left:16px;font-size:17px;line-height:1.6;color:var(--tx2)}.summary li::before{content:"";position:absolute;left:0;top:11px;width:6px;height:6px;border-radius:50%;background:var(--teal)}
.summary li b{color:var(--tx)}.summary p{font-size:14px;color:var(--tx3);margin-top:10px}

.topbar .logo img{height:32px;width:auto;display:block}
.topbar .logo{flex:1}

/* ===== 수정: PC 헤더 메뉴, 카드 넘침, 사이드 고정 해제 ===== */
.topnav{display:none}
@media (min-width:1000px){
 .tabbar{display:none!important}
 .app.has-tab{padding-bottom:64px}
 .topbar{position:sticky;top:0;background:rgba(13,24,41,.96)}
 .topbar h2{flex:0 1 auto;text-align:left;margin:0 0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .topbar .logo{flex:0 0 auto}
 .topnav{display:flex;gap:4px;margin-left:auto;margin-right:8px}
 .topnav a{display:flex;align-items:center;gap:7px;height:44px;padding:0 16px;border-radius:999px;font-size:16px;font-weight:600;color:var(--tx3);white-space:nowrap}
 .topnav a.on{background:var(--teal-bg);color:var(--teal)}
 .topnav a:hover{color:var(--tx)}
 .topbar .m-pad{display:none}
 .has-tab .topbar>.ic:not(:first-child),.has-tab .topbar>button.ic{display:grid}
 .shops.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.sc{min-width:0}.sc-bd{min-width:0}
.sc .meta{min-width:0}
.app{overflow-x:clip}

/* 가이드 본문 */
.guide-body .lead{font-size:19px;color:var(--tx);line-height:1.7;margin-top:18px;font-weight:500}
.guide-body h2{font-size:22px;font-weight:700;margin:34px 0 10px;scroll-margin-top:80px}
.guide-body p{font-size:18px;color:var(--tx2);line-height:1.8;margin-top:10px}
.guide-body ul:not(.can){margin:12px 0 0;padding:0;display:grid;gap:8px}
.guide-body ul:not(.can) li{list-style:none;position:relative;padding-left:18px;font-size:18px;color:var(--tx2);line-height:1.7}
.guide-body ul:not(.can) li::before{content:"";position:absolute;left:2px;top:12px;width:6px;height:6px;border-radius:50%;background:var(--teal)}
.guide-body .toc ol{margin:8px 0 0 20px;display:grid;gap:4px}.guide-body .toc a{font-size:16px;color:var(--tx2)}.guide-body .toc a:hover{color:var(--teal)}

.save-btn.on{color:#F7B43C}
.gal{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}
.gal a{flex:0 0 78%;max-width:420px;aspect-ratio:4/3;border-radius:var(--r-lg);overflow:hidden;scroll-snap-align:start;background:var(--card)}
.gal a:only-child{flex-basis:100%;max-width:none}
.gal img{width:100%;height:100%;object-fit:cover;display:block}
@media (min-width:1000px){.gal a{flex-basis:46%}}
