/* 공임천국 가맹점 찾기 (GH-04) — 시안 v7 공용 규칙 + 가맹점 찾기 시안 규칙. 이미지 경로는 ../img/home/ */
:root{
  --blue:#184EF1; --blue-d:#0E36C4; --blue-s:#E9EEFE;
  --red:#F0384A; --red-d:#CB1E31; --red-s:#FDECEE;
  --navy:#0A2756; --navy2:#061B3C; --navy3:#132F5E;
  --ink:#0F1B2D; --ink2:#25324A;
  --steel:#5A6B85; --steel2:#8B98AC;
  --line:#DFE5EF; --line2:#C6D0E0;
  --paper:#F4F7FC; --card:#fff;
  --ok:#0E7A57; --ok-s:#E4F4EE;
  --mono:ui-monospace,"SFMono-Regular",Menlo,"Roboto Mono",monospace;
  --r:10px; --r2:16px; --r3:22px;
  --sh:0 18px 40px -22px rgba(15,27,45,.45);
  --sh2:0 8px 22px -14px rgba(15,27,45,.35);
  --sh3:0 34px 64px -30px rgba(15,27,45,.55);
  --wrap:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:"Pretendard Variable",Pretendard,"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,p{margin:0;text-wrap:pretty;word-break:keep-all}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
img{display:block;max-width:100%}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 26px}
:focus-visible{outline:2.5px solid var(--blue);outline-offset:3px;border-radius:6px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 20px;border-radius:var(--r);font-size:15px;font-weight:700;
  border:1.5px solid var(--line2);background:#fff;color:var(--ink);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s,background .16s,color .16s}
.btn:hover{transform:translateY(-1px);box-shadow:var(--sh2);border-color:var(--steel2)}
.btn.pri{background:var(--blue);border-color:var(--blue);color:#fff}
.btn.pri:hover{background:var(--blue-d);border-color:var(--blue-d)}
.btn.red{background:var(--red);border-color:var(--red);color:#fff}
.btn.red:hover{background:var(--red-d);border-color:var(--red-d)}
.btn.navy{background:var(--navy);border-color:var(--navy);color:#fff}
.btn.navy:hover{background:var(--navy2);border-color:var(--navy2)}
.btn.sm{padding:9px 15px;font-size:14px;border-radius:9px}
.btn.lg{padding:16px 30px;font-size:16.5px;border-radius:12px}
.btn.ghl{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.32);color:#fff}
.btn.ghl:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.6);color:#fff}
.util{background:var(--navy2);color:#9FB4D4;font-size:12.5px}
.util .wrap{display:flex;align-items:center;gap:20px;height:40px}
.util .bl{display:flex;align-items:center;gap:18px}
.util b{color:#fff;font-weight:700}
.util .dot{width:3px;height:3px;border-radius:50%;background:#3F5C8C}
.util .u-r{margin-left:auto;display:flex;align-items:center;gap:14px}
.util a:hover{color:#fff}
.live{display:inline-flex;align-items:center;gap:6px;color:#7FE0C4;font-weight:700}
.live i{width:6px;height:6px;border-radius:50%;background:#2FD6A6;box-shadow:0 0 0 0 rgba(47,214,166,.7);animation:pulse 2.2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(47,214,166,.65)}70%{box-shadow:0 0 0 8px rgba(47,214,166,0)}100%{box-shadow:0 0 0 0 rgba(47,214,166,0)}}
.hd{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.hd .wrap{display:flex;align-items:center;gap:30px;height:74px}
.logo{display:flex;align-items:center;gap:10px;flex:none}
.logo .mk{width:36px;height:36px;flex:none}
.logo .tx{display:flex;flex-direction:column;line-height:1}
.logo .tx b{font-size:20px;font-weight:800;letter-spacing:-.05em}
.logo .tx span{font-size:8.5px;font-weight:700;letter-spacing:.22em;color:var(--steel2);margin-top:4px}
.nav{display:flex;gap:26px;font-size:15px;font-weight:600;color:var(--ink2)}
.nav>a,.nav .navi>a{position:relative;padding:8px 0;white-space:nowrap}
.nav>a::after,.nav .navi>a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2.5px;background:var(--blue);transition:right .22s ease}
.nav>a:hover::after,.nav .navi>a:hover::after{right:0}
.nav>a.on,.nav .navi>a.on{color:var(--red)}
.nav>a.on::after,.nav .navi>a.on::after{background:var(--red);right:0}
.navi{position:relative}
.navi>a{display:inline-flex;align-items:center;gap:5px}
.navi>a svg{transition:transform .18s}
.navi:hover>a svg{transform:rotate(180deg)}
.drop{position:absolute;top:calc(100% + 10px);left:-14px;width:302px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r2);box-shadow:var(--sh);padding:10px;opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .18s,visibility .18s,transform .18s;z-index:70}
.navi:hover .drop,.navi:focus-within .drop{opacity:1;visibility:visible;transform:none}
.drop a{display:block;padding:11px 13px;border-radius:10px;transition:background .15s}
.drop a:hover{background:var(--blue-s)}
.drop a b{display:block;font-size:14px;font-weight:800;letter-spacing:-.02em;color:var(--ink)}
.drop a span{display:block;font-size:12px;color:var(--steel);margin-top:4px;font-weight:500;line-height:1.5}
.mh h3{font-size:25px;font-weight:800;letter-spacing:-.045em;margin-top:16px}
.md{font-size:14px;color:var(--steel);line-height:1.75;margin-top:11px}
.md b{color:var(--ink);font-weight:700}
.hd-act{margin-left:auto;display:flex;align-items:center;gap:10px;flex:none}
.iconb{width:40px;height:40px;border-radius:10px;border:1.5px solid var(--line);display:grid;place-items:center;color:var(--ink2);
  transition:border-color .15s,color .15s,background .15s}
.iconb:hover{border-color:var(--steel2);color:var(--blue)}
.find{margin-top:26px;background:rgba(255,255,255,.07);border:1.5px solid rgba(255,255,255,.2);
  border-radius:var(--r3);padding:12px;display:flex;gap:10px;align-items:center;backdrop-filter:blur(6px);max-width:520px}
.find input{flex:1;min-width:0;background:none;border:0;outline:0;color:#fff;font-size:15.5px;font-weight:600;letter-spacing:.01em}
.find input::placeholder{color:#8FA6C6;font-weight:500}
.sec{padding:76px 0}
.sec.wh{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.eb{display:inline-flex;align-items:center;gap:9px;font-size:12.5px;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--steel2)}
.eb i{width:22px;height:1.5px;background:currentColor;display:block}
.sh{display:flex;align-items:flex-end;gap:26px;margin-bottom:34px}
.sh h2{font-size:32px;font-weight:800;letter-spacing:-.048em;line-height:1.25;margin-top:14px}
.sh h2 em{font-style:normal;color:var(--red)}
.sh p{margin-top:12px;font-size:15px;color:var(--steel);max-width:46em;line-height:1.75}
.sh .act{margin-left:auto;flex:none}
.board{background:var(--navy2);border-radius:var(--r2);overflow:hidden;box-shadow:var(--sh3)}
.svc{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:#7E96B8}

.pr{display:flex;gap:14px;background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:20px;box-shadow:var(--sh2)}
.pr .ic{width:40px;height:40px;border-radius:11px;flex:none;display:grid;place-items:center}
.pr h4{font-size:16px;font-weight:800;letter-spacing:-.03em}
.pr p{font-size:13.5px;color:var(--steel);line-height:1.68;margin-top:7px}
.st{background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:22px 20px;box-shadow:var(--sh2)}
.st b{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;color:var(--blue);font-weight:700}
.st h3{font-size:16px;font-weight:800;letter-spacing:-.03em;margin-top:14px}
.st p{font-size:13px;color:var(--steel);line-height:1.68;margin-top:9px}
.ok{background:var(--ok-s);color:var(--ok)}
.band{display:grid;grid-template-columns:1fr 1fr;border-radius:var(--r2);overflow:hidden;box-shadow:var(--sh);
  background:var(--navy);color:#fff;margin-top:26px}
.band .tx{padding:44px 42px;display:flex;flex-direction:column;justify-content:center}
.band .tx .eb{color:#88A3C8}
.band h3{font-size:28px;font-weight:800;letter-spacing:-.045em;line-height:1.28;margin-top:14px}
.band h3 em{font-style:normal;color:#7FE0C4}
.band p{font-size:14.5px;color:#B5C8E3;line-height:1.75;margin-top:14px}
.band .row{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}

.gt{margin-top:24px;background:#fff;border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;box-shadow:var(--sh2)}
.ft{background:var(--navy2);color:#94A9C9;padding:60px 0 34px;margin-top:0}
.ft .top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:34px}
.ft .logo .tx b{color:#fff}
.ft .logo .tx span{color:#63799E}
.ft .top p{font-size:13px;line-height:1.78;margin-top:18px;max-width:30em;color:#8298BA}
.ft h4{font-size:13.5px;font-weight:800;color:#fff;letter-spacing:-.01em;margin-bottom:16px}
.ft .lk{display:flex;flex-direction:column;gap:11px;font-size:13.5px}
.ft .lk a:hover{color:#fff}
.ft .cs{margin-top:26px;padding-top:22px;border-top:1px solid #1B3358;display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.ft .cs .n{font-family:var(--mono);font-size:25px;font-weight:700;color:#fff;letter-spacing:-.02em}
.ft .cs .h{font-size:12px;color:#8298BA;margin-top:5px}
.ft .bz{margin-top:18px;display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:#7288AC}
.ft .bz .dot{color:#31507E}
.fin{margin-top:20px;padding-top:18px;border-top:1px solid #1B3358;font-size:11.5px;color:#6B81A5;line-height:1.8}
.fin b{color:#9FB4D4}
@media (max-width:1080px){.qgrid,.split,.band,.ent{grid-template-columns:1fr}
.ft .top{grid-template-columns:1fr 1fr}}
@media (max-width:820px){.util .bl{display:none}
.nav{display:none}
.sh{flex-direction:column;align-items:flex-start}
.sh .act{margin-left:0}
.sh h2{font-size:26px}
.bar4,.pgrid,.steps,.ft .top,.floats{grid-template-columns:1fr}
.sec{padding:56px 0}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.notice{display:block;background:var(--blue-s);border-bottom:1px solid var(--line);text-decoration:none}
.notice .wrap{display:flex;align-items:center;gap:12px;height:44px;font-size:13px;color:var(--ink2)}
.notice .nb{flex:none;background:var(--blue);color:#fff;font-weight:800;font-size:11.5px;letter-spacing:.05em;padding:3px 9px;border-radius:6px}
.notice .nt{font-weight:600}
.notice .nt b{color:var(--blue)}
.notice .nt2{margin-left:auto;color:var(--steel);font-weight:700;flex:none}
.notice:hover .nt2{color:var(--blue)}
.note-x{font-size:12.5px;color:var(--steel2);margin-top:16px;text-align:center}
:root{
  --blue:#184EF1; --blue-d:#0E36C4; --blue-s:#E9EEFE;
  --red:#F0384A; --red-d:#CB1E31; --red-s:#FDECEE;
  --navy:#0A2756; --navy2:#061B3C; --navy3:#132F5E;
  --ink:#0F1B2D; --ink2:#25324A;
  --steel:#5A6B85; --steel2:#8B98AC;
  --line:#DFE5EF; --line2:#C6D0E0;
  --paper:#F4F7FC; --card:#fff;
  --ok:#0E7A57; --ok-s:#E4F4EE;
  --mono:ui-monospace,"SFMono-Regular",Menlo,"Roboto Mono",monospace;
  --r:10px; --r2:16px; --r3:22px;
  --sh:0 18px 40px -22px rgba(15,27,45,.45);
  --sh2:0 8px 22px -14px rgba(15,27,45,.35);
  --sh3:0 34px 64px -30px rgba(15,27,45,.55);
  --wrap:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:"Pretendard Variable",Pretendard,"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,p{margin:0;text-wrap:pretty;word-break:keep-all}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
img{display:block;max-width:100%}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 26px}
:focus-visible{outline:2.5px solid var(--blue);outline-offset:3px;border-radius:6px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 18px;border-radius:var(--r);font-size:14.5px;font-weight:700;
  border:1.5px solid var(--line2);background:#fff;color:var(--ink);
  transition:transform .16s,box-shadow .16s,border-color .16s,background .16s,color .16s}
.btn:hover{transform:translateY(-1px);box-shadow:var(--sh2);border-color:var(--steel2)}
.btn.pri{background:var(--blue);border-color:var(--blue);color:#fff}
.btn.pri:hover{background:var(--blue-d);border-color:var(--blue-d)}
.btn.red{background:var(--red);border-color:var(--red);color:#fff}
.btn.red:hover{background:var(--red-d);border-color:var(--red-d)}
.btn.navy{background:var(--navy);border-color:var(--navy);color:#fff}
.btn.navy:hover{background:var(--navy2)}
.btn.sm{padding:8px 14px;font-size:13.5px;border-radius:9px}
.btn.lg{padding:15px 26px;font-size:16px;border-radius:12px}
.btn.ghl{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.32);color:#fff}
.btn.ghl:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.6);color:#fff}
.util{background:var(--navy2);color:#9FB4D4;font-size:12.5px}
.util .wrap{display:flex;align-items:center;gap:20px;height:40px}
.util .bl{display:flex;align-items:center;gap:18px}
.util b{color:#fff;font-weight:700}
.util .dot{width:3px;height:3px;border-radius:50%;background:#3F5C8C}
.util .u-r{margin-left:auto;display:flex;gap:14px}
.util a:hover{color:#fff}
.hd{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.hd .wrap{display:flex;align-items:center;gap:30px;height:74px}
.logo{display:flex;align-items:center;gap:10px;flex:none}
.logo .mk{width:36px;height:36px;flex:none}
.logo .tx{display:flex;flex-direction:column;line-height:1}
.logo .tx b{font-size:20px;font-weight:800;letter-spacing:-.05em}
.logo .tx span{font-size:8.5px;font-weight:700;letter-spacing:.22em;color:var(--steel2);margin-top:4px}
.nav{display:flex;gap:26px;font-size:15px;font-weight:600;color:var(--ink2)}
.nav>a{position:relative;padding:8px 0;white-space:nowrap}
.nav>a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2.5px;background:var(--blue);transition:right .22s}
.nav>a:hover::after{right:0}
.nav>a.on{color:var(--red)}
.nav>a.on::after{background:var(--red);right:0}
.hd-act{margin-left:auto;display:flex;align-items:center;gap:10px;flex:none}
.iconb{width:40px;height:40px;border-radius:10px;border:1.5px solid var(--line);display:grid;place-items:center;color:var(--ink2);transition:.15s}
.iconb:hover{border-color:var(--steel2);color:var(--blue)}
.sh-head{position:relative;background:var(--navy);color:#fff;overflow:hidden}
.sh-head::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(760px 320px at 8% -20%,rgba(24,78,241,.5),transparent 64%),
             radial-gradient(520px 300px at 96% 120%,rgba(240,56,74,.24),transparent 62%)}
.sh-head .grid{position:absolute;inset:0;opacity:.09;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.55) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.55) 1px,transparent 1px);
  background-size:58px 58px;-webkit-mask-image:linear-gradient(180deg,transparent,#000 34%,#000 76%,transparent);
  mask-image:linear-gradient(180deg,transparent,#000 34%,#000 76%,transparent)}
.sh-head .wrap{position:relative;z-index:2;padding-top:44px;padding-bottom:40px}
.crumb{font-size:12.5px;color:#8FA6C4;display:flex;gap:8px;align-items:center}
.crumb a:hover{color:#fff}
.eb{display:inline-flex;align-items:center;gap:9px;font-size:12.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#88A3C8}
.eb i{width:22px;height:1.5px;background:currentColor;display:block}
.sh-head h1{font-size:38px;font-weight:800;letter-spacing:-.05em;line-height:1.2;margin-top:16px}
.sh-head .sub{margin-top:14px;font-size:15.5px;color:#B9CBE4;line-height:1.72;max-width:52em}
.sh-head .sub b{color:#fff;font-weight:600}
.hstats{display:flex;gap:30px;margin-top:26px;flex-wrap:wrap}
.hs{display:flex;align-items:baseline;gap:9px}
.hs b{font-family:var(--mono);font-size:27px;font-weight:700;letter-spacing:-.03em;line-height:1}
.hs span{font-size:13px;color:#9FB8DC}
.sbar{margin-top:26px;display:flex;gap:10px;align-items:center;background:#fff;border-radius:var(--r3);
  padding:12px;max-width:820px;box-shadow:var(--sh3)}
.sbar .lup{flex:1;display:flex;align-items:center;gap:11px;min-width:0;padding-left:8px}
.sbar .lup svg{color:var(--steel2);flex:none}
.sbar input{flex:1;min-width:0;border:0;outline:0;font-size:15.5px;font-weight:500;color:var(--ink);background:none}
.sbar input::placeholder{color:var(--steel2)}
.sbar select{flex:none;border:1.5px solid var(--line2);border-radius:var(--r);padding:11px 12px;font-size:14px;font-weight:600;
  color:var(--ink);background:#fff;cursor:pointer}
.sbar .go{flex:none}
.rstrip{position:sticky;top:74px;z-index:50;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line)}
.rstrip .rail{display:flex;gap:8px;overflow-x:auto;padding:12px 0;scrollbar-width:thin}
.rstrip .rail::-webkit-scrollbar{height:5px}
.rstrip .rail::-webkit-scrollbar-thumb{background:#C3CEDF;border-radius:100px}
.rt{flex:none;display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:700;color:var(--ink2);
  border:1.5px solid var(--line2);background:#fff;border-radius:100px;padding:8px 15px;transition:.15s;white-space:nowrap}
.rt b{font-family:var(--mono);font-size:11.5px;font-weight:700;color:var(--steel2)}
.rt:hover{border-color:var(--steel2);color:var(--ink)}
.rt.on{background:var(--blue);border-color:var(--blue);color:#fff}
.rt.on b{color:#BFD0FB}
.layout{display:grid;grid-template-columns:444px 1fr;gap:26px;align-items:start;padding:30px 0 70px}
.rail-l{position:sticky;top:158px}
.mapc{background:#fff;border:1px solid var(--line);border-radius:var(--r2);box-shadow:var(--sh2);overflow:hidden}
.mapc .mh{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}
.mapc .mh h3{font-size:15px;font-weight:800;letter-spacing:-.03em}
.mapc .mh .lg{margin-left:auto;font-size:11.5px;color:var(--steel2);display:flex;align-items:center;gap:6px}
.mapc .mh .lg i{width:9px;height:9px;border-radius:3px;background:var(--blue);display:block}
.mapc .mh .lg em{width:9px;height:9px;border-radius:3px;background:#DCE4F1;display:block;font-style:normal}
.rl{cursor:pointer}
.rl circle{fill:#fff;stroke:#C6D3E8;stroke-width:1.6;transition:.16s}
.rl text{font-family:inherit;font-weight:800;fill:var(--ink2);text-anchor:middle;font-size:12.5px;pointer-events:none}
.rl .cnt{font-family:var(--mono);font-weight:700;font-size:10.5px;fill:var(--steel2)}
.rl:hover circle{stroke:var(--blue);fill:#EAF0FE}
.rl.on circle{fill:var(--blue);stroke:var(--blue)}
.rl.on text{fill:#fff}
.rl.on .cnt{fill:#BFD0FB}
.mapf{padding:14px 20px;background:var(--paper);border-top:1px solid var(--line);display:flex;align-items:center;gap:10px}
.mapf p{font-size:11.5px;color:var(--steel);line-height:1.6}
.mapf .badge{margin-left:auto;flex:none;font-size:12px;font-weight:800;color:var(--blue);background:var(--blue-s);
  border:1px solid #CFDAFD;border-radius:100px;padding:6px 12px;font-family:var(--mono)}
.side-note{margin-top:14px;background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:16px 18px;box-shadow:var(--sh2)}
.side-note h4{font-size:13.5px;font-weight:800}
.side-note p{font-size:12.5px;color:var(--steel);line-height:1.7;margin-top:8px}
.side-note .rw{display:flex;gap:8px;margin-top:12px}
.pg{background:#fff;border:1px solid var(--line);border-radius:var(--r2);box-shadow:var(--sh2);overflow:hidden}
.pg-hd{padding:22px 24px;border-bottom:1px solid var(--line);display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap}
.pg-hd h2{font-size:25px;font-weight:800;letter-spacing:-.045em;display:flex;align-items:baseline;gap:10px}
.pg-hd h2 b{font-family:var(--mono);font-size:19px;color:var(--blue);font-weight:700}
.pg-hd .meta{font-size:13px;color:var(--steel);margin-top:8px}
.pg-nav{margin-left:auto;display:flex;gap:8px;flex:none}
.pg-nav button{width:38px;height:38px;border-radius:10px;border:1.5px solid var(--line2);display:grid;place-items:center;color:var(--ink2);transition:.15s}
.pg-nav button:hover:not(:disabled){border-color:var(--blue);color:var(--blue);background:var(--blue-s)}
.pg-nav button:disabled{opacity:.35;cursor:not-allowed}
.subchips{display:flex;gap:8px;flex-wrap:wrap;padding:16px 24px;border-bottom:1px solid var(--line);background:var(--paper)}
.sc{font-size:13px;font-weight:600;color:var(--ink2);border:1.5px solid var(--line2);background:#fff;border-radius:100px;
  padding:6px 13px;transition:.15s}
.sc b{font-family:var(--mono);font-size:11.5px;color:var(--steel2);margin-left:4px}
.sc:hover{border-color:var(--steel2)}
.sc.on{background:var(--navy);border-color:var(--navy);color:#fff}
.sc.on b{color:#9FB8DC}
.rows{max-height:640px;overflow-y:auto}
.rows::-webkit-scrollbar{width:11px}
.rows::-webkit-scrollbar-track{background:var(--paper)}
.rows::-webkit-scrollbar-thumb{background:#C3CEDF;border-radius:100px;border:3px solid #fff}
.row{display:grid;grid-template-columns:52px 1fr 150px 84px;gap:14px;align-items:center;
  padding:15px 24px;border-bottom:1px solid var(--line);transition:background .14s;width:100%;text-align:left}
.row:hover{background:var(--blue-s)}
.row.sel{background:var(--blue-s);box-shadow:inset 3px 0 0 var(--blue)}
.rn{font-family:var(--mono);font-size:13px;font-weight:700;color:var(--steel2)}
.rb{min-width:0}
.rb .nm{font-size:15px;font-weight:800;letter-spacing:-.03em;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rb .ad{font-size:12.5px;color:var(--steel);margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rp{font-family:var(--mono);font-size:13.5px;color:var(--ink2);text-align:right}
.rgo{justify-self:end;font-size:12.5px;font-weight:700;color:var(--blue);border:1.5px solid #C9D6FD;background:var(--blue-s);
  border-radius:8px;padding:6px 12px;transition:.15s}
.rgo:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.empty{padding:60px 24px;text-align:center}
.empty b{display:block;font-size:16px;font-weight:800}
.empty p{font-size:13.5px;color:var(--steel);margin-top:10px;line-height:1.7}
.pager{display:flex;align-items:center;gap:8px;padding:16px 24px;border-top:1px solid var(--line);flex-wrap:wrap}
.pg-ct{font-size:12.5px;color:var(--steel);margin-right:auto}
.pg-ct b{font-family:var(--mono);color:var(--ink)}
.pnum{min-width:36px;height:36px;border-radius:9px;border:1.5px solid var(--line2);font-size:13.5px;font-weight:700;
  color:var(--ink2);display:grid;place-items:center;padding:0 10px;transition:.15s}
.pnum:hover{border-color:var(--blue);color:var(--blue)}
.pnum.on{background:var(--navy);border-color:var(--navy);color:#fff}
.pnum:disabled{opacity:.35;cursor:not-allowed}
.scrim{position:fixed;inset:0;background:rgba(6,27,60,.42);opacity:0;visibility:hidden;transition:.22s;z-index:80}
.scrim.on{opacity:1;visibility:visible}
.dw{position:fixed;top:0;right:0;bottom:0;width:min(460px,100%);background:#fff;z-index:90;
  transform:translateX(102%);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;
  box-shadow:-30px 0 70px -30px rgba(6,27,60,.5)}
.dw.on{transform:none}
.dw-hd{position:relative;flex:none;padding:26px 26px 22px;background:var(--navy);color:#fff;overflow:hidden}
.dw-hd .grid{position:absolute;inset:0;opacity:.1;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.6) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.6) 1px,transparent 1px);
  background-size:44px 44px}
.dw-hd .in{position:relative;z-index:2}
.dw-hd .no{font-family:var(--mono);font-size:12px;font-weight:700;color:#7FE0C4;letter-spacing:.06em}
.dw-hd h3{font-size:22px;font-weight:800;letter-spacing:-.04em;margin-top:10px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.dw-hd .rg{font-size:13px;color:#AFC4E0;margin-top:9px}
.dw-x{position:absolute;top:18px;right:18px;z-index:3;width:36px;height:36px;border-radius:10px;
  background:rgba(255,255,255,.12);color:#fff;display:grid;place-items:center;transition:.15s}
.dw-x:hover{background:rgba(255,255,255,.26)}
.dw-bd{flex:1;overflow-y:auto;padding:24px 26px 30px}
.fld{padding:15px 0;border-bottom:1px solid var(--line)}
.fld:first-child{padding-top:0}
.fld .k{font-size:11.5px;font-weight:800;letter-spacing:.05em;color:var(--steel2)}
.fld .v{font-size:14.5px;color:var(--ink);line-height:1.68;margin-top:7px;font-weight:600}
.fld .v.sm{font-size:13.5px;font-weight:500;color:var(--ink2)}
.tel{display:flex;align-items:center;gap:10px;margin-top:8px}
.tel b{font-family:var(--mono);font-size:22px;font-weight:700;letter-spacing:-.02em}
.tel .cp{margin-left:auto;font-size:12px;font-weight:700;color:var(--blue);border:1.5px solid #C9D6FD;background:var(--blue-s);
  border-radius:8px;padding:6px 11px}
.sv{margin-top:10px;display:grid;gap:9px}
.svr{display:flex;align-items:center;gap:12px;border:1.5px solid var(--line);border-radius:var(--r);padding:13px 15px;transition:.15s}
.svr:hover{border-color:var(--blue);background:var(--blue-s)}
.svr .ic{width:34px;height:34px;border-radius:10px;flex:none;display:grid;place-items:center;background:var(--blue-s);color:var(--blue)}
.svr .tx{flex:1;min-width:0}
.svr .tx b{display:block;font-size:14px;font-weight:800;letter-spacing:-.02em}
.svr .tx span{display:block;font-size:12px;color:var(--steel);margin-top:3px}
.dw-ft{flex:none;padding:18px 26px;border-top:1px solid var(--line);background:var(--paper);display:flex;gap:10px}
.dw-ft .btn{flex:1}
.band{position:relative;overflow:hidden;border-radius:var(--r3);padding:52px 48px;color:#fff;background:var(--navy);margin-bottom:64px}
.band .bg{position:absolute;inset:0;background:url(../img/home/stores_band.jpg) center/cover no-repeat;opacity:.3}
.band::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,27,60,.95),rgba(6,27,60,.6) 58%,rgba(6,27,60,.82))}
.band .in{position:relative;z-index:2;display:flex;align-items:center;gap:40px}
.band h2{font-size:31px;font-weight:800;letter-spacing:-.05em;line-height:1.26}
.band p{font-size:14.5px;color:#B5C8E3;margin-top:13px;line-height:1.72;max-width:44em}
.band .act{margin-left:auto;display:flex;gap:12px;flex:none;flex-wrap:wrap}
.ft{background:var(--navy2);color:#94A9C9;padding:56px 0 32px}
.ft .top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:34px}
.ft .logo .tx b{color:#fff}
.ft .logo .tx span{color:#63799E}
.ft .top p{font-size:13px;line-height:1.78;margin-top:18px;max-width:30em;color:#8298BA}
.ft h4{font-size:13.5px;font-weight:800;color:#fff;margin-bottom:16px}
.ft .lk{display:flex;flex-direction:column;gap:11px;font-size:13.5px}
.ft .lk a:hover{color:#fff}
.ft .cs{margin-top:24px;padding-top:20px;border-top:1px solid #1B3358}
.ft .cs .n{font-family:var(--mono);font-size:24px;font-weight:700;color:#fff}
.ft .cs .h{font-size:12px;color:#8298BA;margin-top:5px}
.ft .bz{margin-top:18px;display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:#7288AC}
.ft .bz .dot{color:#31507E}
.fin{margin-top:18px;padding-top:16px;border-top:1px solid #1B3358;font-size:11.5px;color:#6B81A5;line-height:1.8}
.fin b{color:#9FB4D4}
@media (max-width:1080px){.layout{grid-template-columns:1fr}
.rail-l{position:static}
.ft .top{grid-template-columns:1fr 1fr}
.band .in{flex-direction:column;align-items:flex-start;gap:24px}
.band .act{margin-left:0}}
@media (max-width:820px){.util .bl{display:none}
.nav{display:none}
.sh-head h1{font-size:27px}
.sbar{flex-wrap:wrap}
.sbar .lup{flex-basis:100%}
.row{grid-template-columns:38px 1fr 84px;gap:10px;padding:13px 16px}
.rp{grid-column:2;text-align:left;font-size:12.5px}
.rb .ad{white-space:normal}
.rstrip{top:0}
.rail-l{top:0}
.pg-hd h2{font-size:21px}
.dw{width:100%}
.ft .top{grid-template-columns:1fr}
.hstats{gap:20px}
.hs b{font-size:22px}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ── 가맹점 찾기 전용 보정 ── */
.sound_only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;white-space:nowrap}
body#gim_stores{min-width:320px}
.hd-act .menu-btn{display:none}
.ft .cs .n a{color:#fff}
.mapc .kmap{display:block;width:100%;height:auto;padding:10px 14px;background:linear-gradient(170deg,#F6F9FE,#EAF1FB)}
.kmap .pa path{fill:#E4EAF6;stroke:#fff;stroke-width:1.3;stroke-linejoin:round;transition:fill .15s}
.kmap .pa.has path{fill:#CCDBFA}
.kmap g.pa,.kmap g.bd{cursor:pointer}
.kmap g.pa:hover path{fill:#B5CBF9}
.kmap g.pa:focus-visible path{stroke:#184EF1;stroke-width:2}
.kmap g.pa.sel path{fill:#8FB0F9;stroke:#184EF1;stroke-width:1.6}
.kmap .rl{font-size:11.5px;font-weight:700;fill:#7385A3;pointer-events:none}
.kmap .rl.has{fill:#2B4378}
.kmap .ld{stroke:#9AA8BE;stroke-width:1;stroke-dasharray:2 2}
.kmap .bd circle{fill:#184EF1;stroke:#fff;stroke-width:2}
.kmap .bd text{font-size:12px;font-weight:800;fill:#fff;pointer-events:none}
.row{grid-template-columns:104px 1fr 150px 84px}
.rn{font-family:inherit;font-size:12.5px;font-weight:700;color:var(--steel)}
.rb .ad{white-space:normal}
.tel a{color:inherit}
.tel .cp{cursor:pointer}
.mapl{display:flex;gap:9px;margin-top:10px}
.mapl .ml{flex:1;text-align:center;font-size:13.5px;font-weight:700;color:var(--ink2);border:1.5px solid var(--line);border-radius:var(--r);padding:11px 8px;transition:.15s}
.mapl .ml:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-s)}
.lbt{background:#fff;border:1px solid var(--line);border-radius:var(--r2);box-shadow:var(--sh2);overflow:hidden}
.lbr{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px;padding:15px 24px;border-bottom:1px solid var(--line);align-items:center}
.lbr:last-child{border-bottom:0}
.lbr .nm{font-size:15px;font-weight:700}
.lbr .pr{font-family:var(--mono);font-size:17px;font-weight:700}
.lbr .pr small{font-size:12px;color:var(--steel);margin-left:2px}
.lbr .ad{font-size:13.5px;color:var(--steel)}
.lbr.lbh{background:var(--navy);color:#fff;font-size:12.5px;font-weight:800}
.b2b{margin-top:30px;display:flex;align-items:center;gap:24px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r2);padding:24px 28px}
.b2b h3{font-size:17px;font-weight:800;letter-spacing:-.03em}
.b2b p{font-size:13.5px;color:var(--steel);margin-top:7px;line-height:1.7}
.b2b form{margin-left:auto;flex:none}
.gim_notice_error{margin:18px 0 0;background:#FDECEE;border:1px solid #F5C2C8;color:#CB1E31;border-radius:var(--r);padding:13px 16px;font-size:14px}
.sh-head .btn.go{flex:none}
@media (max-width:820px){
  .hd .wrap{height:64px;gap:14px}
  .hd-act .menu-btn{display:grid}
  .hd-act .hd-login{display:none}
  .hd.open .nav{display:flex;flex-direction:column;gap:2px;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--sh);padding:8px 26px 14px}
  .hd.open .nav>a,.hd.open .nav .navi>a{display:block;padding:12px 0}
  .hd.open .nav .drop{display:none}
  .rstrip{top:64px}
  .row{grid-template-columns:1fr 84px;gap:6px 10px}
  .rn{grid-column:1/-1}
  .rb{grid-column:1}
  .rp{grid-column:1;text-align:left}
  .rgo{grid-column:2;grid-row:2/4;align-self:center}
  .lbr{grid-template-columns:1fr 1fr;padding:13px 16px}
  .lbr .nm{grid-column:1/-1}
  .lbr.lbh{display:none}
  .b2b{flex-direction:column;align-items:flex-start}
  .b2b form{margin-left:0}
  .util .u-r{margin-left:0;gap:12px}
}

/* ═══════════ 정비예약 (GH-02) · 마이페이지 — 기존 gim_* 마크업을 시안 v7 톤으로 ═══════════ */
body#gim_reserve{min-width:320px}
.rv-head .wrap{padding-top:34px;padding-bottom:30px}
.rv-head h1{font-size:34px;margin-top:14px}
.rv-head .crumb{display:flex;gap:8px;align-items:center;font-size:13px;color:#88A3C8}
.rv-head .crumb a:hover{color:#fff}
.rv-head .crumb b{color:#fff;font-weight:600}
.rv-steps{background:#fff;border-bottom:1px solid var(--line)}
.rv-main{padding:34px 0 84px}
.rv-narrow{max-width:900px}

/* 진행바 */
.gim_stepbar{display:flex;list-style:none;margin:0;padding:18px 0;gap:0;counter-reset:none}
.gim_stepbar .gim_step{flex:1;display:flex;align-items:center;gap:10px;position:relative;color:var(--steel2);font-size:14px;font-weight:600;white-space:nowrap}
.gim_stepbar .gim_step:not(:last-child)::after{content:"";flex:1;height:2px;margin:0 14px;background:var(--line);border-radius:2px}
.gim_stepbar .gim_step.done:not(:last-child)::after{background:var(--navy)}
.gim_stepbar .gim_step:last-child{flex:0 0 auto}
.gim_stepbar .gim_step_no{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--paper);border:1.5px solid var(--line2);color:var(--steel);font:700 13px var(--mono);flex:none}
.gim_stepbar .gim_step.on{color:var(--ink);font-weight:800}
.gim_stepbar .gim_step.on .gim_step_no{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 0 0 4px var(--blue-s)}
.gim_stepbar .gim_step.done{color:var(--ink2)}
.gim_stepbar .gim_step.done .gim_step_no{background:var(--navy);border-color:var(--navy);color:#fff}

/* 카드 · 제목 */
#gim_reserve_wrap .gim_card,#gim_mypage_wrap .gim_card,#gim_fr_wrap .gim_card{background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:28px 30px;margin-bottom:18px;box-shadow:var(--sh2)}
#gim_reserve_wrap .gim_card>h2,#gim_mypage_wrap .gim_card>h2{font-size:19px;font-weight:800;letter-spacing:-.03em;margin-bottom:18px;color:var(--ink)}
.gim_card_error{border-color:#F3A5AE !important}
.gim_card_done{text-align:center;padding:44px 30px !important}
.gim_card_done>h2{font-size:24px !important}
.gim_card_done .gim_table{text-align:left;margin-top:18px}
.gim_rs_no{font-size:16px;color:var(--steel);margin-bottom:12px}
.gim_rs_no strong{font:800 22px var(--mono);color:var(--blue);letter-spacing:.02em;margin-left:6px}

/* 안내 · 오류 */
.gim_notice{margin:16px 0 0;padding:13px 16px;background:var(--blue-s);border-left:0;border-radius:var(--r);color:var(--navy3);font-size:14px;line-height:1.65}
.gim_notice a{color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.gim_notice strong{color:var(--blue-d);margin-right:6px}
.gim_notice_error{background:var(--red-s);color:#7B1623}
.gim_card>.gim_notice:first-child{margin-top:0}

/* 입력 */
.gim_reserve_form .gim_field{margin:0 0 16px}
.gim_reserve_form .gim_field label,.gim_field>label{display:block;margin-bottom:7px;font-size:13.5px;font-weight:700;color:var(--ink2)}
.gim_reserve_form input[type=text],.gim_reserve_form input[type=number],.gim_reserve_form input[type=date],.gim_reserve_form select,
.gim_filter_form select,.gim_filter_form input[type=date]{width:100%;max-width:420px;height:48px;padding:0 14px;border:1.5px solid var(--line2);border-radius:var(--r);background:#fff;color:var(--ink);font:inherit;font-size:15px;transition:border-color .15s,box-shadow .15s}
.gim_filter_form select,.gim_filter_form input[type=date]{width:auto;min-width:170px}
.gim_reserve_form input:focus,.gim_reserve_form select:focus,.gim_filter_form select:focus,.gim_filter_form input:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 4px var(--blue-s)}
.gim_reserve_form input::placeholder{color:var(--steel2)}
.gim_reserve_form input[type=radio]{accent-color:var(--blue);width:18px;height:18px;margin:0;flex:none}
.gim_radio_row{margin:0 0 10px}
.gim_radio_row label{display:flex;align-items:center;gap:10px;padding:14px 16px;border:1.5px solid var(--line);border-radius:var(--r);cursor:pointer;font-size:15px;font-weight:600;transition:.15s}
.gim_radio_row label:hover{border-color:var(--blue)}
.gim_radio_row label:has(input:checked){border-color:var(--blue);background:var(--blue-s)}
.gim_filter_form{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

/* 버튼 */
.gim_btn{display:inline-flex;align-items:center;justify-content:center;height:auto;line-height:1.3;padding:12px 20px;border-radius:var(--r);border:1.5px solid var(--line2);background:#fff;color:var(--ink);font-size:15px;font-weight:700;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s,background .16s,color .16s}
.gim_btn:hover{background:#fff;color:var(--ink);border-color:var(--steel2);transform:translateY(-1px);box-shadow:var(--sh2)}
.gim_btn_primary{background:var(--blue);border-color:var(--blue);color:#fff}
.gim_btn_primary:hover{background:var(--blue-d);border-color:var(--blue-d);color:#fff}
.gim_btn_large{padding:16px 32px;font-size:16.5px;border-radius:12px}
.gim_btn_small{padding:8px 14px;font-size:13.5px;border-radius:9px}
#gim_reserve_wrap form>.gim_btn_primary,#gim_reserve_wrap .gim_card>.gim_btn_primary,#gim_reserve_wrap form>.gim_btn{margin-top:6px}
.gim_cta_row{display:flex;align-items:center;flex-wrap:wrap;gap:12px}

/* 차량 · 서비스 선택 카드 */
.gim_vehicle_list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin-bottom:18px}
.gim_vehicle_card{position:relative;display:block;padding:16px 18px 16px 46px;border:1.5px solid var(--line);border-radius:var(--r);background:#fff;cursor:pointer;transition:.15s}
.gim_vehicle_card input{position:absolute;left:16px;top:19px}
.gim_vehicle_card:hover{border-color:var(--blue)}
.gim_vehicle_card:has(input:checked){border-color:var(--blue);background:var(--blue-s)}
.gim_vehicle_no{display:block;font:800 16px var(--mono);color:var(--ink);letter-spacing:.02em}
.gim_vehicle_summary,.gim_vehicle_summary_line{display:block;color:var(--steel);font-size:14px;margin-top:2px}
.gim_vehicle_oilspec{display:block;color:var(--blue-d);font-size:13px;font-weight:600;margin-top:6px}
.gim_vehicle_list>.gim_notice{grid-column:1/-1;margin:0}
.gim_service_card{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;margin-bottom:10px;border:1.5px solid var(--line);border-radius:var(--r);background:#fff;cursor:pointer;transition:.15s}
.gim_service_card input{margin:0;flex:none;accent-color:var(--blue);width:18px;height:18px}
.gim_service_card:hover{border-color:var(--blue)}
.gim_service_card:has(input:checked){border-color:var(--blue);background:var(--blue-s)}
.gim_service_name{flex:1;font-size:15.5px;font-weight:700}
.gim_service_price{color:var(--blue-d);font:800 15px var(--mono);white-space:nowrap;margin-left:12px}

/* 표 */
.gim_table{width:100%;border-collapse:collapse;margin-bottom:8px}
.gim_table th,.gim_table td{padding:14px 14px;border-bottom:1px solid var(--line);text-align:left;font-size:14.5px;vertical-align:middle}
.gim_table thead th{color:var(--steel);font-weight:700;font-size:12.5px;letter-spacing:.04em;background:var(--paper);border-bottom:1px solid var(--line2)}
.gim_table thead th:first-child{border-radius:var(--r) 0 0 var(--r)}
.gim_table thead th:last-child{border-radius:0 var(--r) var(--r) 0}
.gim_table_summary th{width:120px;color:var(--steel);font-weight:700;font-size:13.5px;background:var(--paper)}
.gim_table_summary tr:first-child th{border-radius:var(--r) 0 0 0}
.gim_table_summary tr:last-child th{border-radius:0 0 0 var(--r)}
.gim_row_pref{background:var(--blue-s)}
.gim_badge_pref{display:inline-block;margin-left:8px;padding:3px 9px;border-radius:100px;background:var(--blue);color:#fff;font-size:11.5px;font-weight:700;vertical-align:middle}

/* 시간 슬롯 */
.gim_slot_grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px}
.gim_slot_btn{height:50px;padding:0 10px;border:1.5px solid var(--line2);border-radius:var(--r);background:#fff;color:var(--ink);font:700 15px var(--mono);cursor:pointer;transition:.15s}
.gim_slot_btn:hover{border-color:var(--blue);background:var(--blue-s);color:var(--blue-d)}
.gim_slot_btn.full{background:var(--paper);color:var(--steel2);border-color:var(--line);cursor:not-allowed;text-decoration:line-through}
.gim_slot_btn.full:hover{background:var(--paper);color:var(--steel2);border-color:var(--line)}
.gim_slot_full_label{display:block;font:600 11px var(--mono);text-decoration:none}

/* 마이페이지 */
.gim_mypage_tabs{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 20px;padding:0;border:0}
.gim_mypage_tabs li a{display:block;padding:10px 18px;border:1.5px solid var(--line2);border-radius:100px;background:#fff;color:var(--steel);font-size:14.5px;font-weight:700;transition:.15s}
.gim_mypage_tabs li a:hover{border-color:var(--blue);color:var(--blue)}
.gim_mypage_tabs li.on a{background:var(--navy);border-color:var(--navy);color:#fff}
.gim_mypage_banner{padding:0 !important;border:0 !important;box-shadow:none !important;background:none !important}
.gim_mypage_banner .gim_notice{margin:0}
.gim_mypage_rs_row{border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;margin-bottom:12px;background:#fff}
.gim_status{display:inline-block;padding:4px 11px;border-radius:100px;font-size:12.5px;font-weight:700;color:#fff;white-space:nowrap}
.gim_status_REQ{background:var(--steel)}
.gim_status_CONF{background:var(--blue)}
.gim_status_IN{background:var(--navy)}
.gim_status_DONE{background:var(--ok)}
.gim_status_CANCEL{background:var(--steel2)}
.gim_status_NOSHOW{background:var(--red)}
.gim_status_HOLD{background:#B7791F}

@media (max-width:760px){
  .rv-head h1{font-size:28px}
  .rv-main{padding:22px 0 56px}
  .gim_stepbar{padding:14px 0}
  .gim_stepbar .gim_step_label{display:none}
  .gim_stepbar .gim_step.on .gim_step_label{display:inline}
  .gim_stepbar .gim_step:not(:last-child)::after{margin:0 8px}
  #gim_reserve_wrap .gim_card,#gim_mypage_wrap .gim_card,#gim_fr_wrap .gim_card{padding:22px 18px}
  .gim_reserve_form input[type=text],.gim_reserve_form input[type=number],.gim_reserve_form input[type=date],.gim_reserve_form select{max-width:none}
  .gim_filter_form select,.gim_filter_form input[type=date]{flex:1 1 140px}
  .gim_table_summary th{width:88px}
  .gim_table:not(.gim_table_summary) thead{display:none}
  .gim_table:not(.gim_table_summary) tr{display:block;padding:14px 0;border-bottom:1px solid var(--line)}
  .gim_table:not(.gim_table_summary) td{display:block;padding:3px 0;border:0}
  .gim_slot_grid{grid-template-columns:repeat(auto-fill,minmax(76px,1fr))}
}

/* ═══════════ 공통 페이지(게시판·회원·약관·가맹점 관리 등) — 그누보드 기본 요소를 시안 v7 톤으로 ═══════════ */
body{font-size:16px}
.gx-head .wrap{padding-top:34px;padding-bottom:30px}
.gx-head h1{font-size:34px;margin-top:14px}
.gx-head .crumb{display:flex;gap:8px;align-items:center;font-size:13px;color:#88A3C8}
.gx-head .crumb a:hover{color:#fff}
.gx-head .crumb b{color:#fff;font-weight:600}
.gx-main{padding:34px 0 84px;font-size:14.5px;line-height:1.65;color:var(--ink)}
.gx-main #wrapper{width:auto}
.gx-main #container_wr{width:auto;max-width:none;margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--r2);box-shadow:var(--sh2);padding:30px}
.gx-main #container{float:none;width:auto;min-height:260px;height:auto !important;margin:0;font-size:1em;position:static}
.gx-main #aside,.gx-main #container_title{display:none}
.gx-main a:hover{text-decoration:none}
.gx-main img{display:inline-block}
.gx-main h2,.gx-main h3{font-weight:800;letter-spacing:-.03em}
.gx-main hr{display:none}

/* 버튼 */
.gx-main .btn_submit,.gx-main a.btn_submit,.gx-main button.btn_submit,.gx-main input.btn_submit,
.gx-main .btn_b02,.gx-main a.btn_b02,.gx-main .btn_frmline,.gx-main a.btn_frmline,.gx-main button.btn_frmline,
.gx-main .btn_b03,.gx-main a.btn_b03,.gx-main .btn_b04,.gx-main a.btn_b04,.gx-main .btn_close,.gx-main a.btn_cancel,.gx-main .btn_cancel,.gx-main a.btn01,.gx-main a.btn02{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;height:auto;line-height:1.3;padding:10px 18px;border-radius:var(--r);
  border:1.5px solid var(--line2);background:#fff;color:var(--ink);font-size:14.5px;font-weight:700;width:auto;cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s,background .16s,color .16s}
.gx-main .btn_submit:hover,.gx-main .btn_b02:hover,.gx-main .btn_b03:hover,.gx-main .btn_b04:hover,.gx-main .btn_close:hover,.gx-main .btn_cancel:hover,.gx-main .btn_frmline:hover,.gx-main a.btn01:hover{
  border-color:var(--steel2);background:#fff;color:var(--ink);transform:translateY(-1px);box-shadow:var(--sh2)}
.gx-main .btn_submit,.gx-main a.btn_submit,.gx-main button.btn_submit,.gx-main input.btn_submit{background:var(--blue);border-color:var(--blue);color:#fff}
.gx-main .btn_submit:hover,.gx-main input.btn_submit:hover{background:var(--blue-d);border-color:var(--blue-d);color:#fff}
.gx-main .btn_b02,.gx-main a.btn_b02,.gx-main a.btn02,.gx-main .btn_frmline,.gx-main a.btn_frmline{background:var(--navy);border-color:var(--navy);color:#fff}
.gx-main .btn_b02:hover,.gx-main a.btn02:hover,.gx-main .btn_frmline:hover{background:var(--navy2);border-color:var(--navy2);color:#fff}
.gx-main .btn_b01,.gx-main a.btn_b01{color:var(--steel);font-weight:600}
.gx-main .btn_b01:hover{color:var(--blue)}
.gx-main .btn_admin,.gx-main a.btn_admin{color:var(--red);font-weight:700}
.gx-main .btn_confirm{text-align:center;margin-top:22px}
.gx-main .btn_confirm .btn_submit,.gx-main .btn_confirm .btn_cancel{min-width:120px;padding:13px 24px}

/* 입력 */
.gx-main .frm_input,.gx-main input[type=text],.gx-main input[type=password],.gx-main input[type=email],.gx-main input[type=tel],.gx-main input[type=number],.gx-main input[type=search],.gx-main select,.gx-main textarea{
  max-width:100%;height:46px;padding:0 14px;border:1.5px solid var(--line2);border-radius:var(--r);background:#fff;color:var(--ink);font:inherit;font-size:14.5px;transition:border-color .15s,box-shadow .15s}
.gx-main textarea{height:auto;padding:12px 14px;line-height:1.6}
.gx-main input[type=checkbox],.gx-main input[type=radio]{accent-color:var(--blue);width:auto;height:auto}
.gx-main .frm_input:focus,.gx-main input:focus,.gx-main select:focus,.gx-main textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 4px var(--blue-s)}
.gx-main ::placeholder{color:var(--steel2)}
.gx-main .full_input{width:100%}
.gx-main .frm_info,.gx-main .frm_info strong{color:var(--steel);font-size:13px}
.gx-main .tbl_frm01 th,.gx-main .form_01 h2{color:var(--ink2)}

/* 표 */
.gx-main .tbl_wrap table{border-top:0;border-bottom:1px solid var(--line);background:#fff}
.gx-main .tbl_head01 thead th{padding:14px 8px;height:auto;font-size:12.5px;font-weight:700;letter-spacing:.03em;color:var(--steel);background:var(--paper);border-bottom:1px solid var(--line2)}
.gx-main .tbl_head01 td{height:auto;padding:14px 8px;color:var(--ink2);border-top:1px solid var(--line);border-bottom:0}
.gx-main .tbl_head01 tbody tr:hover td{background:var(--paper)}
.gx-main .tbl_head01 a:hover{color:var(--blue);text-decoration:none}
.gx-main .tbl_frm01 th,.gx-main .tbl_frm01 td{border-color:var(--line)}
.gx-main .tbl_frm01 th{background:var(--paper)}

/* 페이지 번호 */
.gx-main .pg_wrap{float:none;display:block;margin:20px 0 0;text-align:center}
.gx-main .pg_page,.gx-main .pg_current{min-width:36px;height:36px;line-height:34px;padding:0 8px;border:1.5px solid var(--line2);border-radius:9px;background:#fff;color:var(--steel);font-size:14px;font-weight:700}
.gx-main .pg_page:hover{border-color:var(--blue);background:var(--blue-s);color:var(--blue)}
.gx-main .pg_current{background:var(--navy);border-color:var(--navy);color:#fff}
.gx-main .pg_start,.gx-main .pg_prev,.gx-main .pg_end,.gx-main .pg_next{background-color:#fff;border:1.5px solid var(--line2)}

/* 게시판 */
.gx-main #bo_list,.gx-main #bo_v,.gx-main #bo_w{margin:0}
.gx-main #bo_cate ul{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;padding:0;border:0;background:none}
.gx-main #bo_cate a{display:block;height:auto;line-height:1.3;padding:8px 16px;border:1.5px solid var(--line2);border-radius:100px;background:#fff;color:var(--steel);font-size:13.5px;font-weight:700}
.gx-main #bo_cate a:hover{border-color:var(--blue);color:var(--blue)}
.gx-main #bo_cate #bo_cate_on{background:var(--navy);border-color:var(--navy);color:#fff}
.gx-main #bo_list_total,.gx-main #bo_btn_top{font-size:13.5px;color:var(--steel)}
.gx-main .bo_tit a:hover{color:var(--blue)}
.gx-main #bo_v_title,.gx-main .bo_v_tit{font-size:22px;font-weight:800;letter-spacing:-.03em}
.gx-main #bo_v_info,.gx-main #bo_v_file,.gx-main #bo_v_link{color:var(--steel)}
.gx-main #bo_v_con{font-size:15.5px;line-height:1.8;color:var(--ink2)}
.gx-main .bo_sch,.gx-main #bo_sch{border:1px solid var(--line);border-radius:var(--r);background:#fff}
.gx-main .bo_sch .sch_input,.gx-main #bo_sch .sch_input{border:0;box-shadow:none;height:42px}
.gx-main .bo_sch .sch_btn,.gx-main #bo_sch .sch_btn{color:var(--blue)}

/* 로그인 · 회원가입 · 확인 */
.gx-main #mb_login,.gx-main .mbskin{max-width:560px;margin:0 auto}
.gx-main #mb_login h1,.gx-main .mbskin h1{font-size:22px;font-weight:800;margin:0 0 18px;letter-spacing:-.03em}
.gx-main #mb_login #login_fs input[type=text],.gx-main #mb_login #login_fs input[type=password]{width:100%;margin:0 0 10px}
.gx-main #mb_login #login_fs .btn_submit{width:100%;height:50px;margin-top:4px;font-size:16px}
.gx-main #mb_login_notmb,.gx-main #mb_login_op,.gx-main .mb_login_join{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
.gx-main #fregister section,.gx-main .register section{margin-bottom:18px}
.gx-main #fregister_term,.gx-main #fregister_private{border:1px solid var(--line);border-radius:var(--r)}
.gx-main #fregister textarea{height:150px}
.gx-main .fregister_agree{font-weight:600}

/* 콘텐츠(약관·회사소개) · FAQ · 검색 */
.gx-main #ctt{line-height:1.85;color:var(--ink2)}
.gx-main #ctt_con{font-size:15px}
.gx-main #faq_wrap .con_inner,.gx-main #faq_wrap h3 a{font-size:15px}
.gx-main #faq_wrap h3{border:1px solid var(--line);border-radius:var(--r);margin-bottom:8px;background:#fff}
.gx-main #faq_wrap h3 a{display:block;padding:14px 18px;color:var(--ink);font-weight:700}
.gx-main #faq_wrap .con_inner{padding:16px 20px;background:var(--paper);border-radius:0 0 var(--r) var(--r)}
.gx-main .sch_word,.gx-main #ssch_frm{border:1px solid var(--line);border-radius:var(--r)}
.gx-main .sch_res_list h2{font-size:17px}

/* 가맹점 관리(franchise/*) — 예약 화면과 같은 카드 톤 */
#gim_fr_wrap .gim_card{background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:26px 28px;margin-bottom:18px;box-shadow:var(--sh2)}
#gim_fr_wrap .gim_card>h2{font-size:18px;font-weight:800;letter-spacing:-.03em;margin-bottom:16px}
.gx-main .gim_fr_wrap .gim_fr_title{font-size:22px;font-weight:800;letter-spacing:-.03em;margin:0 0 16px}
.gx-main .gim_fr_nav{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 22px;padding:0;border:0}
.gx-main .gim_fr_nav li a{display:block;padding:10px 18px;border:1.5px solid var(--line2);border-radius:100px;background:#fff;color:var(--steel);font-size:14.5px;font-weight:700;transition:.15s}
.gx-main .gim_fr_nav li a:hover{border-color:var(--blue);color:var(--blue)}
.gx-main .gim_fr_nav li.on a{background:var(--navy);border-color:var(--navy);color:#fff}
.gim_week_grid{width:100%;border-collapse:collapse;font-size:13px}
.gim_week_grid th,.gim_week_grid td{border:1px solid var(--line);padding:8px;text-align:center}
.gim_week_grid th{background:var(--paper);color:var(--steel)}
.gim_week_cell_open a{color:var(--blue);font-weight:700}
.gim_week_cell_booked a{color:var(--navy);font-weight:700}
.gim_week_cell_full,.gim_week_cell_empty{color:var(--steel2)}
.gim_slot_manage_form{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-bottom:16px}
.gim_slot_manage_form .gim_field{margin:0}

@media (max-width:760px){
  .gx-head h1{font-size:28px}
  .gx-main{padding:22px 0 56px}
  .gx-main #container_wr{padding:20px 16px}
  .gx-main .tbl_wrap{overflow-x:auto}
}

/* default.css(기본 그누보드) 충돌 정리 */
h1,h2,h3,h4,h5,h6{font-family:inherit}
#wrapper.gx-w,.gx-main #wrapper{min-width:0}
#ft.ft{min-width:0;margin:0;text-align:left;background:var(--navy2)}
#gh_hd.hd{min-width:0}
@media (max-width:760px){.gx-main .tbl_head01 table{min-width:520px}.gx-main .tbl_head01 .td_subject{min-width:180px}}

/* 갤러리 게시판 목록 — 휴대폰 정렬 (2026-10-27 통합테스트 S13-03: 4열 고정이라 제목이 한 글자씩 줄바꿈되던 문제) */
.gx-main #bo_gall .gall_img{overflow:hidden;border-radius:8px;background:#eef1f6}
.gx-main #bo_gall .gall_img a{display:block;height:100%}
.gx-main #bo_gall .gall_img img{display:block;width:100%;height:100%;object-fit:cover}
.gx-main #bo_gall .gall_text_href a{word-break:keep-all;overflow-wrap:anywhere;line-height:1.4}
@media (max-width:900px){
  .gx-main #container_wr{padding:18px}
  .gx-main .gall_row .col-gn-4,.gx-main .gall_row .col-gn-5,.gx-main .gall_row .col-gn-6{width:33.3333%}
}
@media (max-width:640px){
  .gx-main{padding:20px 0 56px}
  .gx-main #container_wr{padding:12px}
  .gx-main .gall_row .col-gn-3,.gx-main .gall_row .col-gn-4,.gx-main .gall_row .col-gn-5,.gx-main .gall_row .col-gn-6{width:50%;padding-left:5px;padding-right:5px}
  .gx-main #bo_gall .gall_box{margin-bottom:22px}
  .gx-main #bo_gall .gall_img{height:auto!important;max-height:none!important;aspect-ratio:4/3}
  .gx-main #bo_gall .gall_text_href{margin:8px 0}
  .gx-main #bo_gall .gall_text_href a{font-size:14px}
  .gx-main #bo_gall .gall_info{font-size:12px}
}
.gx-main #gall_ul.gall_row{display:flex;flex-wrap:wrap;align-items:flex-start;list-style:none;margin:0;padding:0}
.gx-main #gall_ul.gall_row:after,.gx-main #gall_ul.gall_row:before{display:none}
.gx-main #gall_ul.gall_row .gall_li{float:none}
.gx-main #gall_ul.gall_row .box_clear{display:none}
