@import url("/assets/three-templates.css?v=20260908");
@import url("/assets/pickup-station.css?v=20260908");
@import url("/assets/stitch-cafe.css?v=20260908");
.site{--ac:#F0522B;--acs:#FFEDE7;--st:#131A2E;font-size:13px;color:var(--st);padding-bottom:0}
small{font-size:12px}
.s-hero{padding:44px 20px 24px;position:relative;background:var(--acs)}
.s-hero .cat{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--ac);font-weight:700}
.s-hero h2{font-size:25px;font-weight:800;letter-spacing:-.04em;margin:7px 0 8px;line-height:1.4}
.s-hero p{font-size:12.5px;color:#5A6478;line-height:1.6}
.s-photo{height:150px;background:linear-gradient(125deg,var(--ac),var(--st));display:grid;place-items:center;color:rgba(255,255,255,.62);font-size:12px;letter-spacing:.05em;position:relative;overflow:hidden}
.s-photo::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 22%,rgba(255,255,255,.28),transparent 55%)}
.s-photo span{position:relative;z-index:1;display:flex;align-items:center;gap:6px}
.s-sec{padding:22px 20px;border-top:1px solid #EDEFF3}
.s-lbl{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--ac);font-weight:700;margin-bottom:10px}
.s-sec h3{font-size:15px;font-weight:800;letter-spacing:-.03em;margin-bottom:9px}
.s-sec p{font-size:12px;color:#5A6478;line-height:1.72}
.prod{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.prod-c{border:1px solid #E8EBF0;border-radius:11px;overflow:hidden}
/* 사진 높이를 70px 로 박아 두면 칸이 넓어질수록 납작해진다 — 비율로 잡는다 */
.prod-im{aspect-ratio:4/3;background:linear-gradient(140deg,var(--acs),#E6E9F0)}
/* 사람 사진은 얼굴이 위쪽에 있다 */
.prod-person .prod-im img{object-position:50% 22%}
.prod-b{padding:8px 9px}
.prod-b b{font-size:12px;display:block;font-weight:700}
.prod-b i{font-style:normal;font-size:12px;color:var(--ac);font-weight:700;font-family:var(--mono)}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:12px}
.cal :is(i,a){font-style:normal;aspect-ratio:1;display:grid;place-items:center;font-size:12px;border-radius:7px;background:#F3F5F8;color:#5A6478;font-family:var(--mono);text-decoration:none}
.cal :is(i,a).on{background:var(--ac);color:#fff;font-weight:700}
.cal i.off{opacity:.32;aspect-ratio:auto;padding:4px 0;background:transparent}
.cal a:hover{background:var(--acs);color:var(--ac)}
.cal i.closed{opacity:.34;text-decoration:line-through;cursor:default}
.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.slots :is(i,a){font-style:normal;font-size:12px;text-align:center;padding:7px 0;border:1px solid #E4E7ED;border-radius:8px;font-family:var(--mono);color:#4A5468;text-decoration:none;line-height:1.35}
.slots :is(i,a).on{background:var(--ac);border-color:var(--ac);color:#fff;font-weight:700}
.slots a:hover{border-color:var(--ac);color:var(--ac);background:var(--acs)}
.slots i.full{opacity:.42;text-decoration:line-through;cursor:default}
.slots small{display:block;font-size:12px;opacity:.75;text-decoration:none}
.slots-none{margin:0 0 4px;font-size:12px;color:#7A8495;line-height:1.6}
/* 예약 화면으로 가는 버튼 — 날짜·시간을 안 고르고 바로 갈 수도 있게 */
.bookgo{display:flex;align-items:center;justify-content:center;gap:6px;min-height:46px;margin-top:12px;
  border-radius:var(--r,10px);background:var(--ac);color:#fff;font-size:14px;font-weight:800;text-decoration:none}
.bookgo:after{content:"→";font-weight:400}
.bookgo:hover{filter:brightness(1.06)}
.bookgo-note{margin:9px 0 0;font-size:12px;color:#7A8495;line-height:1.6}
.svc{display:grid;gap:7px}
.svc div{display:flex;justify-content:space-between;font-size:12px;padding:9px 11px;background:#F5F7FA;border-radius:9px}
.svc b{font-weight:600}
.svc i{font-style:normal;font-family:var(--mono);color:var(--ac);font-weight:700}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.gal i{aspect-ratio:1;border-radius:7px;background:linear-gradient(135deg,var(--acs),#DDE2EB)}
.info-r{display:flex;gap:9px;font-size:12px;padding:7px 0;border-bottom:1px dashed #E8EBF0;color:#5A6478}
.info-r b{width:52px;color:var(--st);font-weight:600;flex:none}
.map{height:96px;border-radius:11px;background:
  linear-gradient(#E9EDF3,#E9EDF3) padding-box,
  repeating-linear-gradient(0deg,#DAE0E9 0 1px,transparent 1px 22px),
  repeating-linear-gradient(90deg,#DAE0E9 0 1px,transparent 1px 22px);
  background-blend-mode:normal;display:grid;place-items:center;margin-bottom:11px;position:relative;overflow:hidden}
.map::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,#DCE2EA 0 1px,transparent 1px 20px),repeating-linear-gradient(90deg,#DCE2EA 0 1px,transparent 1px 20px)}
.map span{position:relative;z-index:1;width:15px;height:15px;border-radius:50% 50% 50% 0;background:var(--ac);transform:rotate(-45deg);box-shadow:0 3px 10px rgba(0,0,0,.2)}
.rev{border-left:2px solid var(--acs);padding-left:11px;margin-bottom:11px}
.rev b{font-size:12px;display:block}
.rev p{font-size:12px;color:#5A6478;margin-top:2px}
.rev .st{color:var(--ac);font-size:12px;letter-spacing:.08em}
.cpn{background:var(--st);color:#fff;border-radius:12px;padding:14px 16px;display:flex;justify-content:space-between;align-items:center}
.cpn b{font-size:13px;display:block}
.cpn small{font-size:12px;opacity:.66}
.cpn i{font-style:normal;background:var(--ac);padding:6px 11px;border-radius:7px;font-size:12px;font-weight:700}
.s-foot{padding:18px 20px;background:#F5F7FA;font-size:12px;color:#8C95A6;line-height:1.65}
.s-foot .sf-top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 12px}
.s-foot .sf-top b{font-size:12px;color:#5A6478}
.s-foot .sf-policy{white-space:nowrap}
.s-foot .sf-biz{margin:9px 0 0}
.s-foot .sf-biz>div{padding:1.5px 0;word-break:keep-all}
.s-foot .sf-biz dt{display:inline;opacity:.72;margin-right:6px}
.s-foot .sf-biz dd{display:inline;margin:0}
.s-foot .sf-demo{margin-top:10px;padding-top:9px;border-top:1px solid rgba(140,149,166,.24);font-weight:700}
.actionbar{
  position:sticky;bottom:0;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);
  border-top:1px solid #E8EBF0;padding:10px 14px;display:flex;gap:8px;z-index:4}
.actionbar button{flex:1;padding:12px 0;border-radius:11px;font-weight:700;font-size:13px;background:var(--ac);color:#fff}
.actionbar button.sec{flex:none;width:52px;background:#F0F2F6;color:var(--st)}

/* ---------- PUBLISH ---------- */
.pub{max-width:900px;margin:0 auto;padding:64px 32px 80px;text-align:center}
.pub-ok{width:60px;height:60px;border-radius:50%;background:var(--teal);display:grid;place-items:center;margin:0 auto 22px;color:#fff}
.pub h2{font-size:34px;font-weight:800;letter-spacing:-.04em;margin-bottom:10px}
.pub p{color:var(--muted);font-size:15px;margin-bottom:32px}
.urlbox{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;display:flex;align-items:center;gap:12px;max-width:560px;margin:0 auto 16px;box-shadow:var(--shadow)}
.urlbox .u{flex:1;text-align:left;font-family:var(--mono);font-size:15px;font-weight:500}
.urlbox .u small{display:block;font-family:'Pretendard Variable';font-size:12px;color:var(--muted);margin-top:3px;letter-spacing:0}
.qr{width:54px;height:54px;border-radius:8px;background:
  repeating-conic-gradient(var(--ink) 0 25%, #fff 0 50%) 0 0/12px 12px;flex:none;border:3px solid #fff;outline:1px solid var(--line)}
.pub-next{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:760px;margin:38px auto 0}
.nx{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 20px;text-align:left;transition:.15s}
.nx:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:var(--shadow)}
.nx .k{font-family:var(--mono);font-size:12px;color:var(--brand);letter-spacing:.1em;font-weight:700}
.nx b{display:block;font-size:15.5px;font-weight:800;letter-spacing:-.02em;margin:7px 0 5px}
.nx p{font-size:12px;color:var(--muted);line-height:1.55;margin:0}

/* ---------- ADMIN ---------- */
.adm{display:grid;grid-template-columns:224px 1fr;min-height:calc(100vh - 52px)}
.side{background:var(--ink);padding:22px 14px;color:#fff}
.shop{display:flex;gap:11px;align-items:center;padding:0 8px 18px;border-bottom:1px solid var(--line-dark);margin-bottom:16px}
.shop-av{width:38px;height:38px;border-radius:11px;background:linear-gradient(140deg,var(--brand),#8E2C13);display:grid;place-items:center;font-weight:800;font-size:15px;flex:none}
.shop b{font-size:13.5px;font-weight:700;display:block;letter-spacing:-.02em}
.shop small{font-size:12px;color:#7E8DAA;font-family:var(--mono)}
.snav{display:grid;gap:2px}
.snav-g{font-family:var(--mono);font-size:12px;color:#5D6D8E;letter-spacing:.11em;padding:14px 10px 6px;font-weight:700}
.snav button{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:9px;font-size:13px;color:#A9B6CE;font-weight:500;transition:.13s;width:100%;text-align:left}
.snav button:hover{background:var(--ink-2);color:#fff}
.snav button.on{background:var(--brand);color:#fff;font-weight:600}
.snav .dotnew{width:6px;height:6px;border-radius:50%;background:var(--brand);margin-left:auto}
.snav button.on .dotnew{background:#fff}
.main{padding:30px 36px 70px;overflow-y:auto}
.main-h{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:26px;flex-wrap:wrap;gap:14px}
.main-h h2{font-size:26px;font-weight:800;letter-spacing:-.035em}
.main-h p{color:var(--muted);font-size:13.5px;margin-top:3px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:26px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px 20px}
.kpi .k{font-size:12px;color:var(--muted);font-weight:600}
.kpi .v{font-size:27px;font-weight:800;letter-spacing:-.045em;margin-top:5px;font-family:var(--mono)}
.kpi .v small{font-size:14px;font-family:'Pretendard Variable';font-weight:700;margin-left:1px}
.kpi .d{font-size:12px;margin-top:4px;font-weight:600}
.up{color:var(--teal)} .dn{color:var(--brand)}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-bottom:18px}
.card-h{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}
.card-h b{font-size:14.5px;font-weight:800;letter-spacing:-.02em}
.card-h .more{font-size:12px;color:var(--muted);font-weight:600}
.two{display:grid;grid-template-columns:1.35fr 1fr;gap:18px;align-items:start}
table{width:100%;border-collapse:collapse;font-size:13px}
th{text-align:left;font-size:12px;color:var(--muted);font-weight:700;padding:10px 20px;background:#F7F8FB;font-family:var(--mono);letter-spacing:.05em;border-bottom:1px solid var(--line)}
td{padding:13px 20px;border-bottom:1px solid #F0F2F6}
tr:last-child td{border-bottom:none}
td b{font-weight:700}
td small{display:block;color:var(--muted);font-size:12px;margin-top:1px}
.st-chip{display:inline-block;font-size:12px;font-weight:700;padding:4px 9px;border-radius:20px}
.c-new{background:var(--brand-soft);color:var(--brand)}
.c-ok{background:var(--teal-soft);color:var(--teal)}
.c-wait{background:var(--amber-soft);color:var(--amber)}
.c-off{background:#EFF1F5;color:var(--muted)}
.mini-btn{font-size:12px;font-weight:700;padding:6px 11px;border-radius:7px;background:var(--ink);color:#fff}
.mini-btn.g{background:#EFF1F5;color:var(--ink)}
.tl{padding:6px 20px 16px}
.tl-i{display:flex;gap:13px;padding:11px 0;border-bottom:1px dashed var(--line)}
.tl-i:last-child{border:none}
.tl-t{font-family:var(--mono);font-size:12px;color:var(--muted);width:46px;flex:none;padding-top:2px}
.tl-b b{font-size:13px;font-weight:700}
.tl-b small{display:block;font-size:12px;color:var(--muted)}
.bar-wrap{padding:18px 20px}
.bar-row{display:flex;align-items:center;gap:11px;margin-bottom:11px;font-size:12px}
.bar-row .lb{width:70px;color:var(--muted);flex:none}
.bar-row .bg{flex:1;height:9px;background:#F0F2F6;border-radius:6px;overflow:hidden}
.bar-row .fl{height:100%;border-radius:6px;background:var(--ink)}
.bar-row .vl{width:52px;text-align:right;font-family:var(--mono);font-weight:600;flex:none}

/* editor */
.ed{display:grid;grid-template-columns:1fr 380px;gap:22px;align-items:start}
.ed-blocks{display:grid;gap:9px}
.eb{background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 16px;display:flex;align-items:center;gap:13px}
.eb-grip{color:#C2C9D6;cursor:grab}
.eb b{font-size:13.5px;flex:1;font-weight:600}
.eb b small{display:block;font-size:12px;color:var(--muted);font-weight:400;margin-top:1px}
.sw-l{width:40px;height:23px;border-radius:20px;background:#DDE1EA;position:relative;transition:.18s;flex:none}
.sw-l::after{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fff;transition:.18s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.sw-l.on{background:var(--brand)}
.sw-l.on::after{transform:translateX(17px)}
.ed-side{position:sticky;top:70px}
.phone-sm{width:300px;height:600px;border-width:8px;border-radius:34px}
.phone-sm .phone-notch{width:100px;height:21px}

/* AI tools */
.ai{display:grid;grid-template-columns:400px 1fr;gap:24px;align-items:start}
.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}
.panel h3{font-size:15px;font-weight:800;letter-spacing:-.025em;margin-bottom:4px}
.panel .ph{font-size:12.5px;color:var(--muted);margin-bottom:20px}
.lf{display:grid;gap:6px;margin-bottom:16px}
.lf label{font-size:12px;font-weight:700;color:var(--ink)}
.lf input,.lf textarea,.lf select{border:1px solid var(--line);border-radius:10px;padding:11px 13px;font-size:13.5px;background:#FBFCFD}
.lf textarea{min-height:78px;resize:vertical;line-height:1.6}
.lf input:focus,.lf textarea:focus,.lf select:focus{outline:2px solid var(--brand);outline-offset:0;background:#fff}
.chips{display:flex;flex-wrap:wrap;gap:7px}
.chip{font-size:12px;padding:7px 12px;border-radius:20px;border:1px solid var(--line);background:#fff;font-weight:600;color:var(--muted);transition:.13s}
.chip:hover{border-color:var(--ink-3)}
.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.btn-ai{width:100%;background:var(--ink);color:#fff;padding:14px;border-radius:12px;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;gap:9px;transition:.15s}
.btn-ai:hover{background:var(--ink-2)}
.stage{background:#fff;border:1px solid var(--line);border-radius:16px;min-height:520px;position:relative;overflow:hidden}
.stage-h{padding:14px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}
.stage-h b{font-size:13.5px;font-weight:800}
.empty{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:var(--muted);padding:40px}
.empty b{display:block;font-size:15px;color:var(--ink);margin-bottom:6px;font-weight:700}
.empty p{font-size:12.5px;max-width:280px;line-height:1.6}
.loading{display:none;position:absolute;inset:0;background:rgba(255,255,255,.95);z-index:3;place-items:center;text-align:center}
.loading.on{display:grid}
.spin{width:34px;height:34px;border:3px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:sp .8s linear infinite;margin:0 auto 14px}
@keyframes sp{to{transform:rotate(360deg)}}
.loading b{font-size:13.5px;display:block}
.loading small{font-size:12px;color:var(--muted);font-family:var(--mono)}

/* detail page output */
.dp{padding:24px;display:none}
.dp.on{display:block}
.dp-inner{max-width:430px;margin:0 auto;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.dp-hero{padding:34px 26px;background:linear-gradient(150deg,#FFEDE7,#EFF1F6);text-align:center}
.dp-hero .kk{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--brand);font-weight:700}
.dp-hero h4{font-size:24px;font-weight:800;letter-spacing:-.04em;margin:9px 0 8px;line-height:1.25}
.dp-hero p{font-size:12.5px;color:#5A6478;line-height:1.65}
.dp-b{padding:24px 26px;border-top:1px solid #EEF0F4}
.dp-b .lb{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--brand);font-weight:700;margin-bottom:8px}
.dp-b h5{font-size:15.5px;font-weight:800;letter-spacing:-.03em;margin-bottom:8px}
.dp-b p{font-size:12.5px;color:#5A6478;line-height:1.75}
.dp-pts{display:grid;gap:9px;margin-top:12px}
.dp-pt{display:flex;gap:10px;font-size:12.5px;align-items:flex-start}
.dp-pt i{font-style:normal;font-family:var(--mono);font-size:12px;color:var(--brand);font-weight:700;padding-top:2px}
.dp-spec{display:grid;gap:0;margin-top:10px;border:1px solid #EEF0F4;border-radius:10px;overflow:hidden}
.dp-spec div{display:flex;font-size:12px;border-bottom:1px solid #F2F4F7}
.dp-spec div:last-child{border:none}
.dp-spec b{width:96px;background:#F7F8FB;padding:9px 12px;font-weight:600;flex:none}
.dp-spec span{padding:9px 12px;color:#5A6478}
.warnbox{margin-top:16px;background:var(--amber-soft);border:1px solid #F0DCA8;border-radius:10px;padding:12px 14px;font-size:12px;color:#7A5504;line-height:1.6}
.warnbox b{display:block;margin-bottom:3px;font-size:12px}

/* shortform */
.sf{padding:24px;display:none}
.sf.on{display:grid;grid-template-columns:236px 1fr;gap:24px}
.vert{width:236px;aspect-ratio:9/16;border-radius:20px;background:linear-gradient(165deg,#1B2540,#4A2216);position:relative;overflow:hidden;box-shadow:var(--shadow-lg);flex:none}
.vert::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 68% 26%,rgba(240,82,43,.5),transparent 58%)}
.vert-ui{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;padding:16px;color:#fff}
.vert-cap{font-size:16px;font-weight:800;letter-spacing:-.03em;line-height:1.3;text-shadow:0 2px 12px rgba(0,0,0,.55);margin-bottom:9px}
.vert-cap em{font-style:normal;background:var(--brand);padding:0 5px;border-radius:4px}
.vert-meta{font-size:12px;opacity:.85;font-family:var(--mono)}
.vert-prog{position:absolute;left:16px;right:16px;bottom:9px;height:3px;background:rgba(255,255,255,.28);border-radius:3px;overflow:hidden;z-index:3}
.vert-prog i{display:block;height:100%;background:#fff;width:38%;animation:prg 6s linear infinite}
@keyframes prg{from{width:0}to{width:100%}}
.vert-top{position:absolute;top:14px;left:16px;right:16px;display:flex;gap:4px;z-index:3}
.vert-top i{flex:1;height:2.5px;background:rgba(255,255,255,.3);border-radius:2px}
.vert-top i.on{background:#fff}
.sf-r{display:grid;gap:14px;align-content:start}
.cutlist{display:grid;gap:8px}
.cut{display:flex;gap:12px;align-items:center;background:#FBFCFD;border:1px solid var(--line);border-radius:11px;padding:11px 13px}
.cut .tm{font-family:var(--mono);font-size:12px;color:var(--brand);font-weight:700;width:42px;flex:none}
.cut b{font-size:12.5px;font-weight:600;flex:1}
.cut small{color:var(--muted);font-size:12px}
.cut .th{width:34px;height:44px;border-radius:6px;flex:none;background:linear-gradient(150deg,#FFD9CC,#C9D0DC)}
.exports{display:flex;gap:8px;flex-wrap:wrap}

/* settle */
.settle-sum{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-bottom:18px}
.ss{padding:22px 24px;border-right:1px solid var(--line)}
.ss:last-child{border:none}
.ss .k{font-size:12px;color:var(--muted);font-weight:600}
.ss .v{font-size:25px;font-weight:800;font-family:var(--mono);letter-spacing:-.04em;margin-top:5px}
.ss .s{font-size:12px;color:var(--muted);margin-top:3px}

/* ═══ 레이아웃 골격 6종 ═══ */
.site{font-family:var(--bf,'Pretendard Variable');--r:11px}
/* 제목 굵기는 그 글씨에 실제로 있는 굵기만 쓴다 (가짜 굵기로 번지는 것을 막는다) */
.site :is(h2,h3,h4){font-family:var(--df,'Pretendard Variable');font-weight:var(--dw,800)}
.site .prod-c,.site .gal i,.site .map,.site .cpn{border-radius:var(--r)}

/* 01 정직 — 흰 바탕, 선으로 구분, 정보 우선 */
.lay-plain .s-hero{background:#fff;padding:38px 20px 20px;border-bottom:2px solid var(--st)}
.lay-plain .s-hero h2{font-size:24px}
.lay-plain .s-sec{border-top:1px solid #E7EAEF}
.lay-plain .s-photo{height:130px}

/* 02 사진앞 — 풀블리드 사진 위 글자 */
.lay-photo{--r:15px}
.lay-photo .s-hero{background:linear-gradient(150deg,var(--ac),var(--st));padding:0;min-height:300px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;position:relative}
.lay-photo .s-hero::before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 74% 20%,rgba(255,255,255,.22),transparent 58%)}
.lay-photo .s-hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(transparent 30%,rgba(0,0,0,.7))}
.lay-photo .s-hero > *:not(.heroimg){position:relative;z-index:2;padding-left:22px;padding-right:22px}
.lay-photo .heroimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;padding:0;margin:0;z-index:0;border-radius:0}
.lay-photo .s-hero .cat{color:#fff;opacity:.82}
.lay-photo .s-hero h2{font-size:25px;padding-top:2px}
.lay-photo .s-hero p{color:rgba(255,255,255,.95);padding-bottom:24px;text-shadow:0 1px 8px rgba(0,0,0,.45)}
.lay-photo .s-photo{display:none}
.lay-photo .s-sec{border-top:none;padding:26px 22px}
.lay-photo .s-sec + .s-sec{border-top:1px solid #EFF1F5}

/* 03 카드 — 섹션마다 흰 카드가 떠 있음 */
.lay-card{background:#F1F3F7;--r:14px;padding-bottom:70px}
.lay-card .s-hero{background:#fff;margin:var(--gap) var(--gap) 0;border-radius:20px 20px 0 0;padding:30px 20px 18px}
.lay-card .s-photo{margin:0 var(--gap);border-radius:0 0 20px 20px;height:140px}
.lay-card .s-sec{background:#fff;margin:12px;border-radius:18px;border-top:none;padding:20px}
.lay-card .s-foot{margin:var(--gap);border-radius:18px}
.lay-card .prod-c{border-color:#EEF0F4;background:#FAFBFC}

/* 04 매거진 — 명조 대응, 각진 모서리, 큰 여백 */
.lay-mag{--r:0px}
.lay-mag .s-hero{background:#fff;padding:52px 24px 26px;text-align:center;border-bottom:1px solid var(--st)}
.lay-mag .s-hero .cat{letter-spacing:.24em}
.lay-mag .s-hero h2{font-size:26px;line-height:1.35;letter-spacing:-.02em;margin:14px 0 12px}
.lay-mag .s-hero p{font-size:12px}
.lay-mag .s-photo{height:190px}
.lay-mag .s-sec{padding:32px 24px;border-top:1px solid #E4E7EC}
.lay-mag .s-lbl{border-bottom:1px solid var(--ac);padding-bottom:7px;margin-bottom:14px;display:block}
.lay-mag .s-sec h3{font-size:17px;letter-spacing:-.01em}
.lay-mag .s-sec p{line-height:1.95}
.lay-mag .actionbar button{border-radius:0}

/* 05 간판 — 색 블록, 굵고 크게 */
.lay-sign{--r:6px}
.lay-sign .s-hero{background:var(--st);color:#fff;padding:34px 20px 26px}
.lay-sign .s-hero .cat{color:var(--ac);background:#fff;display:inline-block;padding:3px 8px;border-radius:4px}
.lay-sign .s-hero h2{font-size:31px;line-height:1.12;margin-top:12px}
.lay-sign .s-hero p{color:rgba(255,255,255,.72)}
.lay-sign .s-photo{height:150px}
.lay-sign .s-sec{border-top:5px solid var(--ac);padding:20px}
.lay-sign .s-lbl{background:var(--ac);color:#fff;display:inline-block;padding:4px 9px;border-radius:4px}
.lay-sign .s-sec h3{font-size:19px}
.lay-sign .actionbar button{border-radius:7px;font-size:14.5px;padding:14px 0}
.lay-sign .svc div{background:var(--acs)}

/* 06 명함 — 밀도 높고 짧게, 연락 우선 */
.lay-compact{--r:9px;font-size:12.5px}
.lay-compact .s-hero{background:#fff;padding:26px 18px 14px;display:flex;gap:14px;align-items:center;border-bottom:1px solid #E7EAEF}
.lay-compact .s-hero .badgephoto{width:62px;height:62px;border-radius:14px;background:linear-gradient(140deg,var(--ac),var(--st));flex:none}
.lay-compact .s-hero h2{font-size:19px;margin:3px 0 4px}
.lay-compact .s-hero p{font-size:12px}
.lay-compact .s-photo{display:none}
.lay-compact .s-sec{padding:16px 18px;border-top:1px solid #EEF0F4}
.lay-compact .s-sec h3{font-size:14px;margin-bottom:7px}
.lay-compact .quickrow{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:12px 18px;background:#F6F8FA}
.lay-compact .quickrow i{font-style:normal;text-align:center;font-size:12px;padding:10px 0;background:#fff;border:1px solid #E7EAEF;border-radius:9px;font-weight:600}
.lay-compact .gal{grid-template-columns:repeat(4,1fr)}

/* ═══ 실사진 ═══ */
.s-photo{padding:0}
.s-photo.imgwrap{display:block;background:#DDE2EA;background-image:none}
.s-photo.imgwrap::after{display:none}
.s-photo.imgwrap > span{display:none}
.imgwrap > img{display:block;width:100%;height:100%;object-fit:cover;margin:0;padding:0;border-radius:inherit}
.site img{max-width:100%}
.badgephoto.imgwrap > img{border-radius:14px}
.s-photo img,.gal i img,.prod-im img,.heroimg,.filmshot img,.splitim img{
  width:100%;height:100%;object-fit:cover;display:block;background:#DDE2EA;filter:saturate(.96) contrast(1.03);transition:transform .35s ease}
.gal i:hover img,.prod-c:hover img{transform:scale(1.035)}
.gal i,.prod-im{overflow:hidden}
.imgwrap{position:relative;overflow:hidden;background:#DDE2EA;display:block;line-height:0}
.bgshot{position:absolute;inset:0;z-index:0;overflow:hidden}
.bgshot img{width:100%;height:100%;object-fit:cover;display:block}
.sl.t-photo{background:#111}

/* 07 분할 — 사진과 글이 좌우로 갈림 */
.lay-split{--r:10px}
.lay-split .s-hero{background:#fff;padding:0;display:grid;grid-template-columns:1fr 1.15fr;align-items:stretch;border-bottom:1px solid #E7EAEF}
.lay-split .s-hero .splitim{background:#DDE2EA;min-height:150px}
.lay-split .s-hero .splitim > img{position:absolute;inset:0}
.lay-split .s-hero .txt{padding:22px 18px}
.lay-split .s-hero h2{font-size:19px;margin:6px 0 6px}
.lay-split .s-hero p{font-size:12px}
.lay-split .s-photo{display:none}
/* 세로 라벨은 왼쪽에 띄워 둔다.
   예전에는 격자로 짜고 라벨에 span 20 을 줬는데, 내용이 서너 줄뿐인 칸에도
   빈 줄 열일곱 개와 그 사이 간격(12px×19)이 그대로 남아 아래가 텅 비었다. */
.lay-split .s-sec{position:relative;padding:20px 18px 20px 44px;border-top:1px solid #EDEFF3}
.lay-split .s-lbl{writing-mode:vertical-rl;font-size:12px;letter-spacing:.2em;margin:0}
.lay-split .s-sec>.s-lbl{position:absolute;left:16px;top:22px}
.lay-split .s-sec>:not(.s-lbl){min-width:0}
.lay-split .s-foot,.lay-split .actionbar{display:block}
.lay-split .actionbar{display:flex}

/* 08 미니멀 — 극도로 담백하게, 여백으로 말한다 */
.lay-min{--r:3px;background:#fff}
.lay-min .s-hero{background:#fff;padding:66px 26px 22px;text-align:left}
.lay-min .s-hero .cat{font-size:12px;letter-spacing:.3em;color:#78818F}
.lay-min .s-hero h2{font-size:21px;font-weight:600;letter-spacing:.01em;margin:18px 0 10px}
.lay-min .s-hero p{font-size:12px;color:#6E7787}
.lay-min .s-photo{height:230px}
.lay-min .s-sec{padding:40px 26px;border-top:none}
.lay-min .s-lbl{font-size:12px;letter-spacing:.3em;color:#78818F;margin-bottom:16px}
.lay-min .s-sec h3{font-size:14px;font-weight:600;letter-spacing:.01em;margin-bottom:12px}
.lay-min .s-sec p{font-size:12px;line-height:2.05;color:#66707F}
.lay-min .gal{gap:2px}
.lay-min .actionbar button{background:var(--st);border-radius:2px;font-weight:600}
.lay-min .actionbar button.sec{background:#F0F2F6;color:var(--st)}

/* 09 필름 — 세로 사진이 이어지는 인스타 느낌 */
.lay-film{--r:0px;background:#0F0F10;color:#fff}
.lay-film .s-hero{background:#0F0F10;color:#fff;padding:26px 18px 16px}
.lay-film .s-hero h2{font-size:23px}
.lay-film .s-hero p{color:#9A9A9E}
.lay-film .s-photo{height:340px}
.lay-film .s-sec{background:#0F0F10;border-top:1px solid #232326;padding:22px 18px}
.lay-film .s-sec h3{color:#fff}
.lay-film .s-lbl{color:#E2E2E6}
.lay-film .s-sec p,.lay-film .info-r{color:#9A9A9E}
.lay-film .info-r{border-bottom-color:#232326}
.lay-film .info-r b{color:#fff}
.lay-film .svc div{background:#1A1A1D;color:#E4E4E7}
.lay-film .prod-c{border-color:#232326;background:#1A1A1D}
.lay-film .prod-b b{color:#fff}
.lay-film .filmshot{position:relative;margin-bottom:3px;height:210px;overflow:hidden;display:block}
.lay-film .filmshot > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lay-film .filmshot span{position:absolute;left:14px;bottom:12px;font-size:12px;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.7)}
.lay-film .cal :is(i,a){background:#1A1A1D;color:#B4B4B8}
.lay-film .slots :is(i,a){border-color:#2C2C30;color:#B4B4B8}
.lay-film .bookgo-note,.lay-film .slots-none{color:#8A8A90}
.lay-film .rev{border-left-color:#2C2C30}
.lay-film .rev b{color:#fff}
.lay-film .s-foot{background:#0A0A0B;color:#6A6A70}
.lay-film .actionbar{background:rgba(15,15,16,.96);border-top-color:#232326}
.lay-film .actionbar button.sec{background:#232326;color:#fff}
.lay-film .map{filter:invert(.9) hue-rotate(180deg)}

/* 10 메뉴판 — 어두운 바탕에 점선 리더 */
.lay-menu{--r:6px;background:var(--st);color:#fff}
.lay-menu .s-hero{background:var(--st);color:#fff;text-align:center;padding:34px 20px 18px;border-bottom:1px double rgba(255,255,255,.28)}
.lay-menu .s-hero .cat{color:var(--ac);background:#fff;display:inline-block;padding:2px 9px;border-radius:3px}
.lay-menu .s-hero h2{font-size:26px;margin:12px 0 8px}
.lay-menu .s-hero p{color:rgba(255,255,255,.62)}
.lay-menu .s-photo{height:160px;opacity:.85}
.lay-menu .s-sec{background:var(--st);border-top:1px solid rgba(255,255,255,.14);padding:22px 20px}
.lay-menu .s-sec h3{color:#fff;text-align:center;font-size:16px;letter-spacing:.06em;margin-bottom:14px}
.lay-menu .s-lbl{text-align:center;display:block;color:rgba(255,255,255,.5)}
.lay-menu .s-sec p,.lay-menu .info-r{color:rgba(255,255,255,.66)}
.lay-menu .info-r{border-bottom-color:rgba(255,255,255,.14)}
.lay-menu .info-r b{color:#fff}
.lay-menu .prod{grid-template-columns:1fr;gap:0}
.lay-menu .prod-c{border:none;border-radius:0;display:flex;align-items:center;gap:11px;padding:9px 0;border-bottom:1px dotted rgba(255,255,255,.24)}
.lay-menu .prod-im{width:44px;height:44px;border-radius:6px;flex:none}
.lay-menu .prod-b{flex:1;display:flex;justify-content:space-between;align-items:baseline;padding:0}
.lay-menu .prod-b b{color:#fff}
.lay-menu .prod-b i{color:var(--ac);background:#fff;padding:1px 7px;border-radius:3px}
.lay-menu .svc div{background:transparent;border-bottom:1px dotted rgba(255,255,255,.24);border-radius:0;padding:10px 0;color:#fff}
.lay-menu .svc i{color:#fff}
.lay-menu .rev{border-left-color:rgba(255,255,255,.24)}
.lay-menu .rev b{color:#fff}
.lay-menu .rev p{color:rgba(255,255,255,.66)}
.lay-menu .s-foot{background:rgba(0,0,0,.35);color:rgba(255,255,255,.45)}
.lay-menu .actionbar{background:rgba(0,0,0,.75);border-top-color:rgba(255,255,255,.16)}
.lay-menu .actionbar button.sec{background:rgba(255,255,255,.14);color:#fff}
.lay-menu .cal :is(i,a){background:rgba(255,255,255,.1);color:rgba(255,255,255,.8)}
.lay-menu .slots :is(i,a){border-color:rgba(255,255,255,.22);color:rgba(255,255,255,.8)}
.lay-menu .bookgo-note,.lay-menu .slots-none{color:rgba(255,255,255,.6)}

/* 11 신뢰 — 검사 출신 변호사·세무·노무처럼 "믿을 만한가"가 먼저인 업종.
   어두운 머리 사진 위 한 문장, 아래로 01·02·03 번호를 매긴 순서 */
.lay-trust{--r:5px;background:#fff;counter-reset:trustsec}
.lay-trust .s-hero{background:var(--st);color:#fff;padding:0;min-height:290px;
  display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}
.lay-trust .s-hero .heroimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.32;z-index:0}
.lay-trust .s-hero:after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(transparent 20%,rgba(0,0,0,.55))}
.lay-trust .s-hero>*:not(.heroimg){position:relative;z-index:2;padding-left:24px;padding-right:24px}
.lay-trust .s-hero .cat{color:#fff;opacity:.72;letter-spacing:.24em;padding-top:26px}
.lay-trust .s-hero h2{font-size:26px;line-height:1.32;letter-spacing:-.03em;margin:14px 0 10px}
.lay-trust .s-hero p{color:rgba(255,255,255,.8);font-size:12.5px;line-height:1.8;padding-bottom:30px}
.lay-trust .s-photo{display:none}
.lay-trust .s-sec{counter-increment:trustsec;padding:28px 24px;border-top:1px solid #E6E9EF}
.lay-trust .s-lbl{display:flex;align-items:center;gap:9px;margin-bottom:12px}
.lay-trust .s-lbl:before{content:counter(trustsec,decimal-leading-zero);
  font-family:var(--mono);font-size:12px;color:#fff;background:var(--st);
  padding:3px 7px;border-radius:3px;letter-spacing:.04em}
.lay-trust .s-sec h3{font-size:18px;letter-spacing:-.035em;margin-bottom:11px}
.lay-trust .s-sec p{font-size:12.5px;line-height:1.9}
.lay-trust .svc div{background:#fff;border:1px solid #E6E9EF;border-left:3px solid var(--ac);border-radius:0;padding:12px 13px}
.lay-trust .prod{gap:9px}
.lay-trust .prod-c{border-color:#E6E9EF;border-radius:5px;box-shadow:none}
.lay-trust .rev{border-left-color:var(--ac)}
.lay-trust .actionbar .main{border-radius:5px;letter-spacing:.02em}

/* 12 스튜디오 — 필라테스·요가·에스테틱처럼 여백과 정갈함이 곧 인상인 곳.
   따뜻한 종이색 바탕에 가운데 정렬, 글씨는 얇고 자간은 넓게 */
.lay-studio{--r:2px;background:#F7F4EE}
.lay-studio .s-hero{background:#F7F4EE;padding:56px 26px 18px;text-align:center}
.lay-studio .s-hero .cat{font-size:12px;letter-spacing:.34em;color:#7E7460}
.lay-studio .s-hero h2{font-size:23px;font-weight:500;letter-spacing:.01em;line-height:1.5;margin:20px 0 12px;color:#3A342A}
.lay-studio .s-hero p{font-size:12px;line-height:2.05;color:#6E6555}
.lay-studio .s-photo{height:250px;margin-top:10px}
.lay-studio .s-sec{background:transparent;border-top:none;padding:42px 26px}
.lay-studio .s-sec+.s-sec{border-top:1px solid #E7DFD1}
.lay-studio .s-lbl{display:block;text-align:center;font-size:12px;letter-spacing:.34em;color:#7E7460;margin-bottom:16px}
.lay-studio .s-sec h3{text-align:center;font-size:16px;font-weight:500;letter-spacing:.01em;margin-bottom:14px;color:#3A342A}
.lay-studio .s-sec p{font-size:12px;line-height:2.1;color:#6A6152}
.lay-studio .prod-c{background:#FCFAF6;border-color:#E7DFD1;border-radius:2px}
.lay-studio .prod-b b{color:#3A342A;font-weight:600}
.lay-studio .svc div{background:#FCFAF6;border:1px solid #E7DFD1;border-radius:2px;padding:12px 13px}
.lay-studio .info-r{border-bottom-color:#E7DFD1}
.lay-studio .rev{border-left-color:#D8CDB9}
.site.lay-studio .gal .gal-item{border-radius:2px;background:#EDE6D9}
.site.lay-studio .point-notice{background:#F0EADD;border-color:#E1D7C4}
.site.lay-studio>.s-foot{background:#F0EADD;color:#7C7261}
.site.lay-studio>.s-foot .sf-top{border-bottom-color:#E1D7C4}
.site.lay-studio .actionbar{background:rgba(247,244,238,.96);border-top-color:#E7DFD1}

/* 13 작업물 — 인테리어·시공·간판처럼 "해놓은 것"이 곧 설명인 업종.
   사진을 한 장씩 크게 세로로 이어 붙인다 */
.lay-works{--r:0px;background:#fff}
.lay-works .s-hero{background:#12130F;color:#fff;padding:0;min-height:320px;
  display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}
.lay-works .s-hero .heroimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.lay-works .s-hero:after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(transparent 28%,rgba(0,0,0,.8))}
.lay-works .s-hero>*:not(.heroimg){position:relative;z-index:2;padding-left:22px;padding-right:22px}
.lay-works .s-hero .cat{color:var(--ac);background:#fff;display:inline-block;padding:3px 8px;margin-bottom:12px}
.lay-works .s-hero h2{font-size:27px;line-height:1.18;letter-spacing:-.045em;margin:0 0 8px}
.lay-works .s-hero p{color:rgba(255,255,255,.78);font-size:12.5px;padding-bottom:26px}
.lay-works .s-photo{display:none}
.lay-works .s-sec{padding:26px 22px;border-top:1px solid #ECEEF2}
.lay-works .s-lbl{display:inline-block;background:var(--st);color:#fff;padding:4px 9px;margin-bottom:11px}
.lay-works .s-sec h3{font-size:19px;letter-spacing:-.04em}
.lay-works .prod{grid-template-columns:1fr;gap:3px}
.lay-works .prod-c{border:none;border-radius:0}
.lay-works .prod-im{aspect-ratio:16/10}
.lay-works .prod-b{padding:11px 2px}
.lay-works .svc div{background:#F4F5F7;border-radius:0;border-left:3px solid var(--st)}
.site.lay-works .gal{grid-auto-columns:92%;gap:3px}
.site.lay-works .gal .gal-item{border-radius:0;aspect-ratio:3/2}
.lay-works .actionbar .main{border-radius:0;letter-spacing:.04em}

/* 14 진료 — 치과·한의원·피부과처럼 겁먹지 않게 하는 게 먼저인 곳.
   푸른기 도는 바탕에 흰 카드, 모서리를 크게 굴린다 */
.lay-clinic{--r:16px;background:#F1F6FA}
.lay-clinic .s-hero{background:#fff;text-align:center;padding:34px 22px 24px;border-radius:0 0 28px 28px}
.lay-clinic .s-hero .cat{display:inline-block;background:var(--acs);color:var(--ac);
  padding:4px 12px;border-radius:20px;font-size:12px;letter-spacing:.1em}
.lay-clinic .s-hero h2{font-size:23px;letter-spacing:-.035em;margin:13px 0 9px}
.lay-clinic .s-hero p{font-size:12.5px;line-height:1.8}
.lay-clinic .s-photo{height:180px;margin:var(--gap) var(--gap) 0;border-radius:20px}
.lay-clinic .s-sec{background:#fff;margin:14px;padding:22px 20px;border-top:none;border-radius:22px}
.lay-clinic .s-lbl{letter-spacing:.18em;margin-bottom:9px}
.lay-clinic .s-sec h3{font-size:17px;letter-spacing:-.03em;margin-bottom:11px}
.lay-clinic .s-sec p{line-height:1.85}
.lay-clinic .svc div{background:#F1F6FA;border-radius:14px;padding:12px 14px}
.lay-clinic .prod-c{border-color:#E4EDF4;border-radius:16px;background:#FBFDFE}
.lay-clinic .info-r{border-bottom-color:#EAF0F5}
.lay-clinic .rev{border-left-color:var(--acs)}
.site.lay-clinic .gal .gal-item{border-radius:18px}
.site.lay-clinic .point-notice{border-radius:22px;margin:0 var(--gap);border:1px solid var(--acs)}
.site.lay-clinic>.s-foot{background:transparent;padding:6px var(--pad) 24px}
.lay-clinic .actionbar .main{border-radius:16px}

/* ══ 링크모음 계열 (리틀리 형식) ══════════════════════════════════════
   읽히는 화면이 아니라 눌리는 화면이다. 프로필 사진 → 이름 → 한 줄 소개 →
   큰 버튼 세로 스택. 인스타 프로필 링크 한 칸에서 손님을 예약·주문·카톡·전화로
   흘려보내는 것이 목적이라, 한 줄에 버튼 하나만 두어 엄지로 누르기 쉽게 한다.
   버튼 목록은 렌더러가 섹션 이름표에서 그대로 만든다(op_site_anchors). */
.lay-linkfam{--r:14px}
.lay-link{background:#F3F3F1}

/* ── 머리: 가운데 정렬 ── */
.lay-linkfam .s-hero{text-align:center;padding:36px 22px 16px;background:transparent}
.lay-linkfam .s-hero .cat{font-size:12px;letter-spacing:.22em}
.lay-linkfam .s-hero h2{font-size:22px;letter-spacing:-.035em;margin:11px 0 7px}
.lay-linkfam .s-hero p{font-size:12.5px;line-height:1.75;max-width:420px;margin:0 auto}

/* 프로필 사진 — 인스타와 눈에 익은 둥근 모양 */
.s-hero>.avatar{width:96px;height:96px;margin:0 auto 14px;border-radius:50%;
  flex:none;background:linear-gradient(140deg,var(--ac),var(--st))}
.s-hero>.avatar>img{border-radius:50%;object-position:50% 38%}

/* ── 링크 버튼 ── */
.linkstack{display:grid;gap:9px;padding:6px 22px 22px}
.lk{display:flex;align-items:center;gap:10px;min-height:54px;padding:15px 18px;
  border-radius:14px;text-decoration:none;font-size:13.5px;font-weight:700;
  letter-spacing:-.02em;line-height:1.35;transition:transform .14s ease,filter .14s ease}
.lk:active{transform:scale(.985)}
.lk>span{flex:1;min-width:0;overflow-wrap:anywhere;text-align:center}
.lk>em{font-style:normal;flex:none;font-size:12.5px;opacity:.5;font-family:var(--mono)}
/* 화살표만 있는 오른쪽 칸과 균형을 맞춰 글씨가 가운데로 오게 한다 */
.lk::before{content:"";flex:none;width:14px}

/* ══ 버튼 세트 ═════════════════════════════════════════════════════════
   알약형 흰 버튼 · 글씨 가운데 · 기호 오른쪽.
   좌우 여백은 손대지 않는다 — .site .lk{padding-left:var(--pad)} 가 선을 쥔다. */
.lay-link .lk{border-radius:999px;background:#fff;color:var(--st);
  border:1px solid #E4E4E0;box-shadow:0 1px 2px rgba(19,26,46,.05)}
.lay-link .lk:hover{border-color:#CFCFC9}
.lay-link .lk-main{background:var(--ac);color:#fff;border-color:transparent;
  box-shadow:0 8px 20px color-mix(in srgb,var(--ac) 26%,transparent)}
.lay-link .lk-main>em{opacity:.85}

/* ── 본문 칸: 흰 카드로 떠 있게 ── */
.lay-linkfam .s-sec{background:#fff;margin-bottom:12px;border-radius:18px;border-top:none;
  padding-top:20px;padding-bottom:20px}
.lay-linkfam .s-photo{margin-bottom:12px;border-radius:18px}
.lay-linkfam .s-lbl{letter-spacing:.16em}

/* ══ 링크모음 본문 ═════════════════════════════════════════════════════
   한때 다크·유리·아이콘·타일·라인·파스텔 여섯 벌을 더 뒀는데, 버튼 목록 아래가
   서로 비슷해 결국 같은 스타일로 보였다. 형식은 한 벌만 남긴다.
   좌우 여백(--gap · --pad)은 건드리지 않는다 — 선이 갈린다. */
.lay-link .s-lbl{display:inline-block;background:var(--acs);color:var(--ac);
  padding:4px 9px;border-radius:20px;font-size:12px;letter-spacing:.14em}
.lay-link .s-sec h3{position:relative;padding-left:11px}
.lay-link .s-sec h3::before{content:"";position:absolute;left:0;top:.18em;bottom:.18em;
  width:3px;border-radius:2px;background:var(--ac)}
.lay-link .prod-im{aspect-ratio:4/3}
.lay-link .rev{border-left:2px solid var(--acs);padding-left:12px}

/* ══ 홈페이지 좌우 선을 한 값으로 ═══════════════════════════════════════
   띠마다(머리 · 칸 · 공지 · 적립 안내 · 바닥 · 링크 버튼) padding 을 따로 적어 두어
   같은 화면에서 글 시작점이 14 · 16 · 20 · 22 · 30px 로 갈렸다.
   17개 짜임새 전부 그랬고 링크모음은 다섯 종류까지 벌어졌다.

   --gap  카드를 페이지 끝에서 띄우는 거리 (카드형 짜임새만 0 이 아니다)
   --pad  카드 안쪽 여백
   글이 시작되는 자리 = --gap + --pad → 모든 띠가 이 값을 쓴다.
   카드 바깥 선(--gap)과 글 선(--gap+--pad) 두 줄만 남는다 — 그게 카드 UI 다. */
.site{--gap:0px;--pad:20px}
/* 짜임새별 값은 좁은 화면 것이다. 넓은 화면 값은 아래 PC 묶음에서 다시 정한다 —
   여기서 클래스 두 개로 선언해 두면 PC 쪽(body>.site = 클래스1+태그1)이 못 이긴다. */
@media(max-width:767px){
  .site.lay-card{--gap:12px;--pad:20px}
  .site.lay-clinic{--gap:14px;--pad:20px}
  .site.lay-linkfam{--gap:14px;--pad:18px}
  .site.lay-mag{--pad:24px}
  .site.lay-min{--pad:26px}
  .site.lay-studio{--pad:26px}
  .site.lay-photo,.site.lay-works{--pad:22px}
  .site.lay-trust{--pad:24px}
  .site.lay-compact,.site.lay-film,.site.lay-split{--pad:18px}
}

.site>.s-sec{margin-left:var(--gap);margin-right:var(--gap);
  padding-left:var(--pad);padding-right:var(--pad)}
.site>.s-hero,.site>.point-notice,.site>.s-foot{
  margin-left:var(--gap);margin-right:var(--gap);
  padding-left:var(--pad);padding-right:var(--pad)}
/* 링크 버튼·공지는 스스로 상자를 가진 자식이 있다 — 바깥 선을 카드와 맞추고
   글은 자식의 안쪽 여백이 맞춘다 */
.site>.linkstack,.site>.s-notice{padding-left:var(--gap);padding-right:var(--gap)}
.site>.quickrow{padding-left:var(--pad);padding-right:var(--pad)}
.site .lk{padding-left:var(--pad);padding-right:var(--pad)}
.site .s-notice .nt{padding-left:var(--pad);padding-right:var(--pad)}
/* 사진이 배경으로 깔리는 머리는 끝까지 가야 한다 — 글만 안쪽으로 들인다 */
.site.lay-photo .s-hero,.site.lay-trust .s-hero,.site.lay-works .s-hero{
  padding-left:0;padding-right:0}
.site.lay-photo .s-hero>*:not(.heroimg),.site.lay-trust .s-hero>*:not(.heroimg),
.site.lay-works .s-hero>*:not(.heroimg){
  padding-left:var(--pad);padding-right:var(--pad)}
/* ── 실서비스 추가분 (프로토타입은 자리표시자였던 부분) ── */
.site{max-width:520px;margin:0 auto;background:#fff;min-height:100vh}
/* 위 .site 규칙이 짜임새(.lay-*)보다 뒤에 와서 페이지 바탕색을 흰색으로 덮고 있었다.
   둘 다 클래스 하나라 나중에 선언된 쪽이 이긴다. 그래서 "흰 카드가 떠 있는" 짜임새는
   카드와 페이지가 같은 흰색이 되어 카드 경계가 사라졌고, 어두운 짜임새는
   칸 사이 여백만 하얗게 남았다. 한 단계 더 세게 잡아 의도한 바탕을 돌려준다. */
.site.lay-card{background:#F1F3F7}
.site.lay-film{background:#0F0F10}
.site.lay-menu{background:var(--st)}
.site.lay-studio{background:#F7F4EE}
.site.lay-clinic{background:#F1F6FA}
.site.lay-link{background:#F3F3F1}
/* 태블릿 — 링크모음은 좁은 한 줄이 맞다. 기본 틀(520px)보다 살짝 넓혀 준다.
   PC(900px 이상)는 아래 묶음에서 600px 로 다시 정한다. */
/* 큰 폰 · 작은 태블릿(600~767) — 모든 짜임새가 같은 640px 틀. 768 부터는 PC 배치 */
@media(min-width:600px) and (max-width:767px){
  body>.site{max-width:640px;
    box-shadow:0 0 0 1px rgba(19,26,46,.05),0 20px 60px rgba(19,26,46,.10)}
}
.imgwrap{overflow:hidden;position:relative;background:linear-gradient(135deg,var(--acs),#DDE2EB)}
.imgwrap img{width:100%;height:100%;object-fit:cover;display:block}
.ph-fill{display:block;width:100%;height:100%;background:linear-gradient(135deg,var(--acs),#DDE2EB)}
.s-photo{height:200px}
.s-photo img,.s-hero .heroimg{width:100%;height:100%;object-fit:cover;display:block}
.prod-im{position:relative}
.prod-c{display:block;color:inherit;text-decoration:none}
.gal i{display:block;overflow:hidden}
.gal i img{width:100%;height:100%;object-fit:cover}
.map{display:block;height:120px;border-radius:var(--r);background:linear-gradient(135deg,var(--acs),#DDE2EB);position:relative}
.map span{position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--ac)}
.actionbar{position:sticky;bottom:0;display:flex;gap:8px;padding:10px 14px;background:rgba(255,255,255,.94);border-top:1px solid #E8EBF0;backdrop-filter:blur(6px);z-index:9}
.actionbar a{display:flex;align-items:center;justify-content:center;text-decoration:none;flex:1;padding:13px 0;border-radius:11px;font-weight:700;font-size:14px;background:var(--ac);color:#fff}
.actionbar a.sec{flex:none;width:54px;background:#F0F2F6;color:var(--st)}
.actionbar span.sec{display:flex;align-items:center;justify-content:center;flex:0 0 54px;width:54px;background:#F0F2F6;color:var(--st);border-radius:11px;font-size:17px;min-height:52px}
.quickrow{display:flex;gap:8px;padding:0 20px 16px;background:var(--acs)}
.quickrow a,.quickrow i{flex:1;text-align:center;font-style:normal;font-size:12px;font-weight:700;padding:9px 0;border-radius:8px;background:#fff;color:var(--st);text-decoration:none}
.badgephoto{width:72px;height:72px;border-radius:14px;flex:none}
.splitim{width:44%;min-height:180px}
.filmshot{position:relative;height:280px}
.filmshot span{position:absolute;left:14px;bottom:12px;color:#fff;font-size:12px;font-weight:700;text-shadow:0 1px 6px rgba(0,0,0,.7)}
.s-foot a{color:inherit;text-decoration:underline}
.info-r a{color:var(--ac);text-decoration:none;font-weight:700}
.freeimg{border-radius:var(--r);margin:10px 0;max-height:320px}
.freebtn{display:inline-block;background:var(--ac);color:#fff;text-decoration:none;padding:11px 20px;border-radius:10px;font-weight:700;font-size:13px;margin:8px 0}
.freediv{height:1px;background:#E8EBF0;margin:14px 0}
.s-free h3{margin-top:6px}

/* 2026-08 public-page readability and responsive pass */
.site,.site *{box-sizing:border-box}
.site{width:100%;min-height:100vh;min-height:100dvh;padding-bottom:0;display:flex;flex-direction:column;font-size:14px;line-height:1.5;overflow-wrap:break-word;
  /* Jua·Black Han Sans 는 굵기가 한 종류다. 없는 굵기를 요구하면 브라우저가 글자를
     겹쳐 그려(가짜 굵기) 제목이 번진다 — 흉내내지 말고 있는 굵기를 쓰게 한다. */
  font-synthesis:none;-webkit-font-synthesis:none}
.site :where(a,button,input,select,textarea):focus-visible{outline:3px solid var(--ac);outline-color:color-mix(in srgb,var(--ac) 42%,transparent);outline-offset:2px}
.site button,.site input,.site select,.site textarea{font-family:inherit}
.site .s-lbl{font-size:12px;line-height:1.4}
.site .s-sec h3{font-size:16px;line-height:1.4}
.site .s-sec p{font-size:13.5px;line-height:1.75}
.site .prod-b b,.site .prod-b i{font-size:13px;line-height:1.45}
.site .svc div{gap:12px;align-items:flex-start;font-size:13.5px;line-height:1.45}
.site .svc b{min-width:0}.site .svc i{flex:none;text-align:right}
.site .info-r{font-size:13px;line-height:1.55}.site .info-r b{width:64px}
.site .rev b,.site .rev p{font-size:13px}.site .rev .st{font-size:12px}
.site .verified-review{display:inline-flex;align-items:center;min-height:22px;margin-left:7px;padding:3px 7px;border-radius:999px;background:var(--acs);color:var(--ac);font-size:12px;font-weight:800;vertical-align:middle}
.site .gal-hint{float:right;margin-top:3px;color:#5A6478;font-size:12px;font-weight:600}
.site .gal{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.site .gal::-webkit-scrollbar{display:none;width:0;height:0}
.site .gal .gal-item{display:block;aspect-ratio:4/3;border-radius:14px;overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always;background:#E8EBF0}
.site .gal .gal-item img{width:100%;height:100%;object-fit:cover;display:block}
.site .slots i,.site .cal i{font-size:12px}
.site .slots i{min-height:38px;display:grid;place-items:center;padding:8px 2px}
.site .cpn small{font-size:12px}.site .cpn i{font-size:12px}
.site .cpn{justify-content:flex-start;gap:12px;min-width:0}
.site .cpn-l{flex:none;min-width:58px;text-align:center;border-right:1px dashed rgba(255,255,255,.24);padding-right:12px}
.site .cpn-l b{font-size:20px;line-height:1.3;color:#fff}.site .cpn-l i{display:block;background:transparent;padding:3px 0 0;color:rgba(255,255,255,.68);font-size:12px}
.site .cpn-r{flex:1;min-width:0}.site .cpn-r b{font-size:13.5px;line-height:1.4}.site .cpn-r i{display:block;background:transparent;padding:3px 0 0;color:rgba(255,255,255,.68);font-size:12px;line-height:1.45}
.site .cpn-b{flex:none;min-width:60px;min-height:46px;padding:11px 13px;border-radius:10px;background:var(--ac);color:#fff;text-decoration:none;font-size:13.5px;font-weight:800;display:flex;align-items:center;justify-content:center}
.site.lay-split .s-hero .splitim{width:auto;min-width:0;position:relative}
.phone .site.lay-split .s-hero{grid-template-columns:1fr}
.phone .site.lay-split .s-hero .splitim{min-height:190px}
.phone .site.lay-split .s-hero .txt{padding:20px 18px}
.phone .site.lay-split .s-sec{display:block;padding:22px 18px}
.phone .site.lay-split .s-lbl{writing-mode:horizontal-tb;margin:0 0 10px}
.phone .site.lay-split .s-sec>.s-lbl{position:static}
.site>.s-foot{margin-top:auto;padding:18px var(--pad) 22px;background:#F3F5F8;color:#6C7789;font-size:12px;line-height:1.6}
.site>.s-foot a{color:#465166;text-underline-offset:2px}
.site>.s-foot .sf-top{padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid #E3E7EE}
.site>.s-foot .sf-top b{font-size:13.5px;color:#2C3444;letter-spacing:-.2px}
.site>.s-foot .sf-policy{font-size:12px}
/* 라벨 폭을 고정해 칼같이 맞추면 좁은 화면에서 값이 두세 글자씩 쪼개진다.
   한 줄에 한 항목씩, 라벨을 값 앞에 붙여 통째로 줄바꿈되게 둔다. */
.site>.s-foot .sf-biz{margin:0;display:block}
.site>.s-foot .sf-biz>div{display:flex;gap:7px;align-items:flex-start;padding:2.5px 0;word-break:keep-all}
.site>.s-foot .sf-biz dt{display:block;flex:none;color:#666F7E;margin-right:0}
.site>.s-foot .sf-biz dd{display:block;min-width:0;overflow-wrap:anywhere;margin:0;color:#5D6878}
.site>.s-foot .sf-demo{color:#616A79;font-weight:600;font-size:12px}

.site .point-notice{min-height:48px;padding:12px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--acs);background:color-mix(in srgb,var(--acs) 72%,#fff);border-top:1px solid var(--acs);border-bottom:1px solid var(--acs);border-top-color:color-mix(in srgb,var(--ac) 15%,transparent);border-bottom-color:color-mix(in srgb,var(--ac) 15%,transparent);color:var(--st);font-size:12.5px}
.site .point-notice b{flex:none;color:var(--ac);font-size:13px}
.site .actionbar{padding:10px 14px;padding-bottom:calc(10px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px rgba(19,26,46,.08)}
.site .actionbar :is(a,button){min-height:52px;padding:13px 16px;border:0;display:flex;align-items:center;justify-content:center;flex:1;font-size:15.5px;line-height:1.25;text-decoration:none;box-shadow:none;cursor:pointer;transition:transform .16s ease,filter .16s ease}
.site .actionbar .sec{flex:0 0 54px;width:54px;padding-left:0;padding-right:0}
.site .actionbar .sec[aria-pressed="true"]{background:var(--acs);color:var(--ac)}
.site .actionbar .main{box-shadow:0 8px 20px color-mix(in srgb,var(--ac) 22%,transparent)}
.site .actionbar a:active,.site .actionbar button:active{transform:translateY(1px);filter:brightness(.94)}
.site .freebtn{
 width:100%;min-width:0;min-height:58px;margin:12px 0;
 padding:16px 24px!important;border-radius:13px;
 display:flex;align-items:center;justify-content:center;
 font-size:16px!important;line-height:1.35;font-weight:800;text-align:center!important;
 box-shadow:0 8px 20px rgba(19,26,46,.14);
 box-shadow:0 8px 20px color-mix(in srgb,var(--ac) 20%,transparent);
 transition:transform .16s ease,filter .16s ease
}
.site .freebtn:hover{filter:brightness(1.04)}
.site .freebtn:active{transform:translateY(1px);filter:brightness(.95)}

/* 프로토타입은 button, 실서비스는 a를 사용하므로 레이아웃별 하단 스타일을 둘 다 맞춘다. */
.site.lay-mag .actionbar :is(a,button){border-radius:0}
.site.lay-sign .actionbar .main{border-radius:7px;font-size:15.5px}
.site.lay-min .actionbar .main{background:var(--st);border-radius:3px;font-weight:700}
.site.lay-min .actionbar .sec{background:#F0F2F6;color:var(--st);border-radius:3px}
.site.lay-film>.s-foot{background:#0A0A0B;color:#AAAAB2}.site.lay-film>.s-foot a{color:#D1D1D6}
.site.lay-film .point-notice{background:#17171A;border-color:#2B2B30;color:#D5D5DA}.site.lay-film .point-notice b{color:var(--ac)}
.site.lay-film .actionbar{background:rgba(15,15,16,.97);border-color:#2B2B30}.site.lay-film .actionbar .sec{background:#26262B;color:#fff}
.site.lay-menu>.s-foot{background:var(--st);color:rgba(255,255,255,.78)}.site.lay-menu>.s-foot a{color:#fff}
/* 어두운 짜임새의 사업자정보 — 밝은 바탕용 글자색이 그대로 남으면 아무것도 안 보인다 */
.site.lay-film>.s-foot .sf-top,.site.lay-menu>.s-foot .sf-top{border-bottom-color:rgba(255,255,255,.18)}
.site.lay-film>.s-foot .sf-top b,.site.lay-menu>.s-foot .sf-top b{color:#fff}
.site.lay-film>.s-foot .sf-biz dt,.site.lay-menu>.s-foot .sf-biz dt{color:rgba(255,255,255,.52)}
.site.lay-film>.s-foot .sf-biz dd,.site.lay-menu>.s-foot .sf-biz dd{color:rgba(255,255,255,.88)}
.site.lay-film>.s-foot .sf-demo,.site.lay-menu>.s-foot .sf-demo{color:rgba(255,255,255,.66);border-top-color:rgba(255,255,255,.18)}
.site.lay-menu .point-notice{background:var(--st);border-color:rgba(255,255,255,.15);color:rgba(255,255,255,.9)}.site.lay-menu .point-notice b{color:#fff}
.site.lay-menu .actionbar{background:rgba(0,0,0,.78);border-color:rgba(255,255,255,.16)}.site.lay-menu .actionbar .sec{background:rgba(255,255,255,.14);color:#fff}

@media(min-width:768px){
 body:has(>.site),body:has(>.fw){background:linear-gradient(135deg,#E9EDF4,#F7F8FA);padding:0 16px}
 body>.site,body>.fw{box-shadow:0 0 0 1px rgba(19,26,46,.05),0 24px 70px rgba(19,26,46,.12)}
}

@media(max-width:430px){
 /* 작은 화면에서는 안쪽 여백만 줄인다 — 띠마다 따로 적으면 또 갈린다 */
 .site{--pad:16px}
 .site.lay-card,.site.lay-clinic{--gap:10px;--pad:16px}
 .site.lay-linkfam{--gap:12px;--pad:15px}
 .site .prod{gap:8px}.site .prod-b{padding:9px 8px}
 .site .svc div{padding:10px}.site .cpn{padding:13px 10px;gap:9px}.site .cpn-l{min-width:52px;padding-right:9px}.site .cpn-b{min-width:48px;padding-left:8px;padding-right:8px}
 .site .actionbar{padding-left:10px;padding-right:10px}
 .site .gal{grid-auto-columns:89%}
 .site.lay-sign .s-hero h2{font-size:28px}
 .site.lay-split .s-hero{grid-template-columns:1fr}
 .site.lay-split .s-hero .splitim{min-height:190px}
 .site.lay-split .s-hero .txt{padding:20px 18px}
 .site.lay-split .s-sec{display:block;padding:22px 18px}
 .site.lay-split .s-lbl{writing-mode:horizontal-tb;margin:0 0 10px}
 .site.lay-split .s-sec>.s-lbl{position:static}
}

/* 가게 공지 — 머리 바로 아래 */
.site .s-notice{display:grid;gap:8px;margin:14px 0 4px}
.site .s-notice .nt{background:#fff;border:1px solid rgba(0,0,0,.07);border-left:3px solid var(--ac);
  border-radius:12px;padding:11px var(--pad)}
.site .s-notice .nt b{display:block;font-size:13.5px;line-height:1.5;color:var(--st);font-weight:800}
.site .s-notice .nt b i{display:inline-block;font-style:normal;font-size:12px;font-weight:800;letter-spacing:.04em;
  color:#fff;background:var(--ac);border-radius:6px;padding:2px 6px;margin-right:6px;vertical-align:1px}
.site .s-notice .nt p{margin:6px 0 0;font-size:12.5px;line-height:1.75;color:#6B7280;word-break:keep-all}

/* ══════════════════════════════════════════════════════════════
   결제 링크 — 무엇을 사는지 한눈에 (선물하기 형식)
   ══════════════════════════════════════════════════════════════ */
.gift{background:#fff}
.gift-shop{display:flex;align-items:center;gap:10px;padding:14px 20px;border-bottom:1px solid #F0F2F6}
.gift-shop .gs-mark{width:36px;height:36px;border-radius:12px;background:var(--ac);color:#fff;
  display:grid;place-items:center;font-size:17px;font-weight:800;flex:none}
.gift-shop .gs-b{flex:1;min-width:0}
.gift-shop .gs-b b{display:block;font-size:14.5px;line-height:1.3}
.gift-shop .gs-b small{display:block;font-size:12px;color:#8A94A5;margin-top:2px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gift-shop .gs-link{flex:none;font-size:12px;color:var(--ac);font-weight:700;text-decoration:none;
  padding:8px 11px;border:1px solid #E7EAF0;border-radius:10px}
.gift-img{position:relative;aspect-ratio:1;background:#F2F4F7;overflow:hidden}
.gift-img img{width:100%;height:100%;object-fit:cover;display:block}
.gift-img .gift-tag{position:absolute;left:14px;top:14px;font-style:normal;font-size:12px;font-weight:700;
  color:#fff;background:rgba(20,24,33,.66);backdrop-filter:blur(6px);border-radius:999px;padding:6px 11px}
.gift-body{padding:20px}
.gift-name{font-size:19px;font-weight:800;line-height:1.45;letter-spacing:-.02em;word-break:keep-all}
.gift-price{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap;margin-top:12px}
.gift-price b{font-size:29px;font-weight:800;letter-spacing:-.03em}
.gift-price span{font-size:16px;font-weight:700}
.gift-price .gp-open{font-size:17px;font-weight:800;color:var(--ac)}
.gift-price small{width:100%;font-size:12px;color:#8A94A5;margin-top:3px}
.gift-descr{margin-top:14px;padding:14px;background:#F7F8FA;border-radius:12px;
  font-size:13.5px;line-height:1.8;color:#4B5563;word-break:keep-all}
.gift-facts{margin-top:16px;border-top:1px solid #F0F2F6}
.gift-facts>div{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid #F5F6F9;font-size:13px}
.gift-facts>div span{flex:0 0 86px;color:#8A94A5}
.gift-facts>div b{flex:1;font-weight:700;word-break:keep-all}
.gift-form{padding-top:18px}
.gift-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.gift-chips button{min-height:40px;padding:9px 13px;border:1px solid #DDE2EA;background:#fff;
  border-radius:11px;font-size:13px;font-family:inherit;color:inherit;cursor:pointer}
.gift-chips button:active{background:#F2F4F7}
.gift-hint{font-size:12px;color:#8A94A5;margin-top:7px}
.gift-trust{margin:6px 0 16px;padding:14px;background:#F7F8FA;border-radius:14px}
.gift-trust .gt-h{font-size:12.5px;font-weight:800;margin-bottom:9px}
.gift-trust .gt-row{display:flex;gap:9px;font-size:12.5px;line-height:1.65;color:#5A6478;padding:3px 0}
.gift-trust .gt-row i{flex:none;width:18px;height:18px;border-radius:50%;background:var(--ac);color:#fff;
  font-style:normal;font-size:12px;font-weight:800;display:grid;place-items:center;margin-top:2px}
.gift-cta{margin-top:2px}
.gift-safe{margin-top:10px;text-align:center;font-size:12px;color:#98A2B3}
.gift-info{padding-top:0}
.gift-info details{border:1px solid #EDEFF3;border-radius:13px;margin-bottom:9px;overflow:hidden;background:#fff}
.gift-info summary{padding:14px 16px;font-size:13.5px;font-weight:700;cursor:pointer;list-style:none;
  display:flex;align-items:center;justify-content:space-between}
.gift-info summary::-webkit-details-marker{display:none}
.gift-info summary:after{content:"▾";color:#98A2B3;font-size:12px}
.gift-info details[open] summary:after{content:"▴"}
.gift-info .gi-b{padding:2px 16px 15px}
.gift-info .gi-b>div{display:flex;gap:12px;padding:7px 0;font-size:12.5px;border-top:1px solid #F5F6F9}
.gift-info .gi-b>div span{flex:0 0 92px;color:#8A94A5}
.gift-info .gi-b>div b{flex:1;font-weight:600;word-break:break-word}
.gift-info .gi-b a{color:var(--ac)}
.gift-info .gi-text{font-size:12.5px;line-height:1.85;color:#4B5563;white-space:normal}
.gift-info .gi-text a{display:inline-block;margin-top:8px;font-weight:700}
@media(max-width:420px){
  .gift-body{padding:16px}
  .gift-name{font-size:17.5px}
  .gift-price b{font-size:26px}
  .gift-facts>div span{flex:0 0 74px}
}

/* ══════════════════════════════════════════════════════════════
   온라인 쇼핑몰 진열
   ══════════════════════════════════════════════════════════════ */
.s-sec.mall .m-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.s-sec.mall .m-head h3{margin:0}
.s-sec.mall .m-all{font-size:12px;color:var(--ac);font-weight:700;text-decoration:none}
.m-ship{margin:9px 0 0;font-size:12px;color:var(--ac);background:color-mix(in srgb,var(--ac) 9%,#fff);
  border-radius:9px;padding:8px 11px;line-height:1.55}
.m-cats{display:flex;gap:6px;overflow-x:auto;margin:11px 0 2px;padding-bottom:3px;scrollbar-width:none}
.m-cats::-webkit-scrollbar{display:none}
.m-cats a{flex:none;font-size:12px;color:#5A6478;background:#F2F4F7;border-radius:999px;padding:7px 12px;text-decoration:none}
.m-cats a.on{background:var(--ac);color:#fff;font-weight:700}
.m-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.m-grid.tpl-showcase .m-card.big{grid-column:1/-1}
.m-look{display:grid;gap:12px;margin-top:12px}
.m-card{display:block;text-decoration:none;color:inherit;border:1px solid #EDEFF3;border-radius:13px;overflow:hidden;background:#fff}
.m-card .m-im{position:relative;aspect-ratio:1;background:#F2F4F7}
.m-card .m-im img{width:100%;height:100%;object-fit:cover;display:block}
.m-card.big .m-im{aspect-ratio:4/3}
.m-card .m-out{position:absolute;inset:0;display:grid;place-items:center;font-style:normal;font-size:13px;
  font-weight:800;color:#fff;background:rgba(20,24,33,.5)}
.m-card.out{opacity:.75}
.m-card .m-b{padding:10px 11px}
.m-card .m-b b{display:block;font-size:13px;line-height:1.4;font-weight:700}
.m-card .m-b small{display:block;font-size:12px;color:#8A94A5;margin-top:3px;line-height:1.5}
.m-card .m-b i{display:block;font-style:normal;margin-top:6px;font-size:13.5px;font-weight:800;color:var(--ac);font-family:var(--mono)}
.m-list{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;gap:8px;margin-top:12px}
.m-row{display:flex;min-width:0;width:100%;align-items:center;gap:11px;padding:10px;border:1px solid #EDEFF3;border-radius:12px;
  text-decoration:none;color:inherit;background:#fff}
.m-row-im{width:58px;height:58px;border-radius:9px;overflow:hidden;flex:none;background:#F2F4F7}
.m-row-im img{width:100%;height:100%;object-fit:cover;display:block}
.m-row-b{flex:1;min-width:0}
.m-row-b b{display:block;font-size:13px}
.m-row-b small{display:block;font-size:12px;color:#8A94A5;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.m-row-p{flex:none;font-size:13px;font-weight:800;color:var(--ac);font-family:var(--mono)}
.m-more{display:flex;align-items:center;justify-content:center;min-height:50px;margin-top:14px;
  border-radius:12px;background:var(--ac);color:#fff;font-size:14.5px;font-weight:700;text-decoration:none}
.m-empty{padding:28px 0;text-align:center;color:#8A94A5;font-size:13px}

/* 상품 상세 — 옵션 · 수량 · 후기 */
.p-opts{margin-bottom:16px}
.p-opt-h,.p-rv-h{font-size:13px;font-weight:800;margin-bottom:9px}
.p-opt-g{margin-bottom:12px}
.p-opt-g>b{display:block;font-size:12.5px;margin-bottom:6px}
.p-opt-g>b em{font-style:normal;font-size:12px;color:#D92D20;margin-left:5px}
.p-opt{display:flex;align-items:center;gap:9px;padding:11px 12px;border:1px solid #E5E9F0;
  border-radius:11px;margin-bottom:6px;font-size:13px;cursor:pointer}
.p-opt input{width:18px;height:18px;accent-color:var(--ac)}
.p-opt span{flex:1}
.p-opt i{font-style:normal;font-size:12px;color:var(--ac);font-weight:700}
.p-opt:has(input:checked){border-color:var(--ac);background:color-mix(in srgb,var(--ac) 6%,#fff)}
.p-buy{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:14px;background:#F7F8FA;border-radius:13px;margin-bottom:12px}
.p-qty{display:flex;align-items:center;gap:10px;font-size:13px;color:#5A6478}
.p-qty-c{display:flex;align-items:center;border:1px solid #E0E5EC;border-radius:10px;overflow:hidden;background:#fff}
.p-qty-c button{border:0;background:#fff;width:42px;height:42px;font-size:19px;cursor:pointer}
.p-qty-c b{width:38px;text-align:center;font-size:14px}
.p-total{display:flex;align-items:baseline;gap:8px}
.p-total span{font-size:12.5px;color:#8A94A5}
.p-total b{font-size:19px;font-weight:800;color:var(--ac)}
.p-rv{margin-top:22px}
.p-rv-i{padding:12px;border:1px solid #EDEFF3;border-radius:12px;margin-bottom:7px;font-size:12.5px;line-height:1.7}
.p-rv-i b{color:#F2A93B;display:block;font-size:12px}
.p-rv-i small{display:block;color:#8A94A5;margin-top:4px;font-size:12px}
.p-more{margin-top:22px}

/* 쇼핑몰 주문 — 회원바 · 배송지 */
.m-memberbar{display:flex;align-items:center;gap:10px;justify-content:space-between;
  padding:11px 16px;background:color-mix(in srgb,var(--ac) 8%,#fff);font-size:12.5px}
.m-memberbar b{font-size:13px}
.m-memberbar a{color:var(--ac);font-weight:700;text-decoration:none;white-space:nowrap}
.m-ship-h{font-size:13px;font-weight:800;margin:18px 0 10px;padding-top:14px;border-top:1px solid #EDEFF3}
.m-same{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#5A6478;margin:0 0 12px;cursor:pointer}
.m-same input{width:18px;height:18px;accent-color:var(--ac)}
.m-same b{color:inherit}
.flx2{display:flex;gap:8px;flex-wrap:wrap}
.m-ship-why{font-size:12px;color:var(--ac);padding:2px 0 6px}

/* 쇼핑몰 회원 · 내 주문 */
.my-tabs{display:flex;gap:6px;background:#F2F4F7;border-radius:12px;padding:4px;margin-bottom:16px}
.my-tabs a{flex:1;text-align:center;padding:11px;border-radius:9px;font-size:13.5px;font-weight:700;
  color:#5A6478;text-decoration:none}
.my-tabs a.on{background:#fff;color:var(--st);box-shadow:0 1px 3px rgba(16,24,40,.08)}
.my-note{background:#F7F8FA;border-radius:12px;padding:13px 14px;font-size:12.5px;line-height:1.75;
  color:#5A6478;margin-bottom:16px}
.my-note b{display:block;color:var(--st);font-size:13px;margin-bottom:4px}
.my-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.my-top b{font-size:17px}
.my-top small{display:block;font-size:12px;color:#8A94A5;margin-top:3px}
.my-out{min-height:40px;padding:9px 13px;border:1px solid #E5E9F0;background:#fff;border-radius:10px;
  font-size:12px;color:#5A6478;cursor:pointer;font-family:inherit}
.my-kpi{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:20px}
.my-kpi>div{background:#F7F8FA;border-radius:12px;padding:12px}
.my-kpi span{display:block;font-size:12px;color:#8A94A5}
.my-kpi b{display:block;font-size:15px;margin-top:4px}
.my-h{font-size:13px;font-weight:800;margin:20px 0 10px}
.my-empty{padding:22px;text-align:center;color:#8A94A5;font-size:13px;background:#F7F8FA;border-radius:12px}
.my-empty a{color:var(--ac);font-weight:700}
.my-o{border:1px solid #EDEFF3;border-radius:13px;padding:14px;margin-bottom:9px}
.my-o-h{display:flex;align-items:center;justify-content:space-between;gap:9px}
.my-o-h b{font-size:13.5px}
.my-o-m{font-size:12px;color:#8A94A5;margin-top:5px}
.my-o-a{font-size:12px;color:#5A6478;margin-top:6px;line-height:1.6}
.my-o-t{margin-top:8px;font-size:12px;background:#F7F8FA;border-radius:9px;padding:8px 10px}
.my-o-t a{color:var(--ac);font-weight:700;margin-left:6px}
.my-o-b{display:flex;gap:6px;margin-top:10px}
.my-btn{flex:1;text-align:center;min-height:42px;display:flex;align-items:center;justify-content:center;
  border:1px solid #E5E9F0;border-radius:10px;font-size:12.5px;color:#5A6478;text-decoration:none}
.my-btn.on{background:var(--ac);color:#fff;border-color:transparent;font-weight:700}
.my-addr{margin-top:4px}

/* 우편번호 찾기 */
.zip-row{display:flex;gap:7px}
.zip-row input{flex:1;min-width:0}
.zip-btn{flex:none;min-height:48px;padding:0 15px;border:1px solid var(--ac);background:#fff;color:var(--ac);
  border-radius:10px;font-size:13.5px;font-weight:700;font-family:inherit;cursor:pointer;white-space:nowrap}
.zip-btn:disabled{opacity:.6}
.zip-note{font-size:12px;color:#D92D20;margin-top:5px;line-height:1.6}
@media(max-width:380px){.zip-btn{padding:0 11px;font-size:12.5px}}

/* ══════════════════════════════════════════════════════════════
   랜딩 — 가게 종류 4가지 · 온라인 쇼핑몰 설명
   ══════════════════════════════════════════════════════════════ */
.lp-tpl{background:#182238;border:1px solid #26334C;border-radius:16px;padding:16px}
.lp-tpl b{display:block;margin-top:12px;font-size:14px;color:#fff}
.lp-tpl small{display:block;margin-top:4px;font-size:12px;color:#8FA0BC}
.lp-tpl-view{display:grid;gap:5px;background:#0E1626;border-radius:11px;padding:9px;min-height:74px}
.lp-tpl-view i{background:#31405C;border-radius:5px;display:block}
.lp-tpl-view.tpl-grid{grid-template-columns:1fr 1fr}
.lp-tpl-view.tpl-grid i{height:26px}
.lp-tpl-view.tpl-showcase{grid-template-columns:1fr 1fr}
.lp-tpl-view.tpl-showcase i:first-child{grid-column:1/-1;height:32px}
.lp-tpl-view.tpl-showcase i{height:21px}
.lp-tpl-view.tpl-catalog{grid-template-columns:1fr}
.lp-tpl-view.tpl-catalog i{height:12px}
.lp-tpl-view.tpl-lookbook{grid-template-columns:1fr}
.lp-tpl-view.tpl-lookbook i{height:29px}
.lp-tpl-view.tpl-lookbook i:nth-child(n+3){display:none}


/* 장바구니 페이지 */
/* ── 쇼핑몰 장바구니 · 주문서 ─────────────────────────────
   담기(/order) → 장바구니(/cart) → 주문서(/checkout) 세 걸음.
   줄마다 사진·이름·수량·금액 자리를 고정해 길이가 달라도 어긋나지 않게 한다. */
.cart-empty{padding:48px 20px;text-align:center;background:#F7F8FA;border-radius:16px}
.cart-empty b{display:block;font-size:16px}
.cart-empty p{margin:8px 0 18px;font-size:13px;color:#8A94A5}
.cart-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px}
.cart-head b{font-size:15px;font-weight:800}
.cart-clear{border:0;background:none;color:#8A94A5;font-size:12.5px;font-family:inherit;cursor:pointer;
  text-decoration:none;padding:0;min-height:36px;display:inline-flex;align-items:center;white-space:nowrap}
.cart-clear:hover{color:#5A6478}
.cart-lines{display:grid;gap:10px}
.cart-line{display:grid;grid-template-columns:76px minmax(0,1fr) 34px;column-gap:12px;align-items:start;
  border:1px solid #E9ECF2;border-radius:14px;padding:12px;background:#fff}
.cart-line.out{background:#FFFBFA;border-color:#F3D5D0}
.cart-line .cl-im{grid-column:1;grid-row:1 / span 2;width:76px;height:76px;border-radius:11px;
  overflow:hidden;background:#F2F4F7;display:block}
.cart-line .cl-im img{width:100%;height:100%;object-fit:cover;display:block}
.cart-line .cl-b{grid-column:2;min-width:0;display:grid;gap:4px}
.cart-line .cl-n{font-size:14px;font-weight:700;color:inherit;text-decoration:none;line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cart-line .cl-o{font-size:12px;color:#8A94A5;line-height:1.5}
.cart-line .cl-w{font-size:12px;color:#D92D20}
.cart-line .cl-r{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px}
.cart-line .cl-q{display:flex;align-items:center;border:1px solid #E0E5EC;border-radius:9px;overflow:hidden;background:#fff}
.cart-line .cl-q button{border:0;background:#fff;width:38px;height:36px;font-size:17px;color:#566176;cursor:pointer;font-family:inherit}
.cart-line .cl-q button:hover{background:#F5F7FA}
.cart-line .cl-q span{width:34px;text-align:center;font-size:13px;font-weight:700}
.cart-line .cl-r b{font-size:14.5px;font-weight:800;white-space:nowrap}
.cart-line .cl-x{grid-column:3;grid-row:1;justify-self:end;border:0;background:none;color:#B6BDC9;
  font-size:14px;cursor:pointer;width:32px;height:32px;border-radius:8px;line-height:1;font-family:inherit}
.cart-line .cl-x:hover{background:#F2F4F7;color:#5A6478}
.cart-sum{margin-top:18px;padding:16px;background:#F7F8FA;border-radius:14px}
.cart-sum>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:13.5px;padding:5px 0}
.cart-sum>div>b{white-space:nowrap}
.cart-sum .why{display:block;font-size:12px;color:var(--ac);padding:2px 0 6px}
.cart-sum .tot{margin-top:9px;padding-top:12px;border-top:1px solid #E5E9F0;font-size:16px;font-weight:800}
.cart-note{margin-top:10px;font-size:12px;color:#8A94A5;line-height:1.7}
.cart-mem{margin:12px 0;font-size:12.5px;color:#5A6478;background:color-mix(in srgb,var(--ac) 7%,#fff);
  border-radius:10px;padding:11px 13px;line-height:1.6}
.cart-mem b{color:inherit}

/* 주문서(/checkout) — 상품은 눈으로만 확인하고, 고치는 일은 장바구니에서 */
.ck-step{display:flex;align-items:center;gap:7px;margin:0 0 18px;font-size:12px;color:#98A1B0}
.ck-step b{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;
  border-radius:50%;background:#E9ECF2;color:#8A94A5;font-size:12px;font-weight:800}
.ck-step b.on{background:var(--ac);color:#fff}
.ck-step i{font-style:normal;color:#C9CFD9}
.ck-lines{display:grid;gap:8px;margin-bottom:22px}
.ck-line{display:grid;grid-template-columns:52px minmax(0,1fr) auto;column-gap:11px;align-items:center;
  border:1px solid #EDEFF3;border-radius:12px;padding:10px 12px;background:#fff}
.ck-line .ck-im{width:52px;height:52px;border-radius:9px;overflow:hidden;background:#F2F4F7;display:block}
.ck-line .ck-im img{width:100%;height:100%;object-fit:cover;display:block}
.ck-line .ck-b{min-width:0;display:grid;gap:2px}
.ck-line .ck-b b{font-size:13.5px;font-weight:700;line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ck-line .ck-b i{font-style:normal;font-size:12px;color:#8A94A5}
.ck-line .ck-b em{font-style:normal;font-size:12px;color:#98A1B0}
.ck-line .ck-p{font-size:13.5px;font-weight:800;white-space:nowrap}
.ck-h{font-size:15px;margin:24px 0 12px;padding-top:18px;border-top:1px solid #EDEFF3}
.ck-h:first-of-type{margin-top:4px;padding-top:0;border-top:0}
.order-error{display:none;margin-bottom:14px;padding:11px 13px;border:1px solid #FFD0D0;border-radius:10px;
  background:#FFF0F0;color:#C43232;font-size:12.5px;line-height:1.6}
.order-error.on{display:block}

@media(min-width:768px){
 .cart-line{grid-template-columns:88px minmax(0,1fr) 34px;padding:14px}
 .cart-line .cl-im{width:88px;height:88px}
 .cart-line .cl-n{font-size:15px}
 .cart-sum{padding:20px 22px}
 .ck-line{grid-template-columns:60px minmax(0,1fr) auto;padding:12px 14px}
 .ck-line .ck-im{width:60px;height:60px}
}
.m-more-row{display:flex;gap:8px;margin-top:14px}
.m-more-row .m-more{flex:1;margin-top:0}
.m-more-row .m-more.g{background:#F2F4F7;color:var(--st)}
.p-rv-avg{float:right;font-size:12px;color:var(--ac);font-weight:800}
.p-rv-avg small{color:#8A94A5;font-weight:400;margin-left:3px}
.p-rv-v{font-style:normal;font-size:12px;font-weight:700;color:var(--ac);
  background:color-mix(in srgb,var(--ac) 10%,#fff);border-radius:6px;padding:2px 5px;margin-left:4px}

/* 랜딩 — 5분 흐름 */


/* 랜딩 — 업종 3종 자세히 */


/* ══════════════════════════════════════════════════════════════
   넓은 화면 — 같은 HTML 을 PC 배치로 편다.
   좁을 때는 지금 그대로(모바일 한 줄), 900px 부터 아래 규칙이 얹힌다.
   ══════════════════════════════════════════════════════════════ */
.site .s-topbar{display:none}

@media(min-width:768px){
 /* ── 틀 ── */
 body>.site{max-width:1080px;font-size:14px}
 body>.site{box-shadow:0 0 0 1px rgba(19,26,46,.05),0 30px 90px rgba(19,26,46,.10)}

 /* ── 넓은 화면의 띠 여백 (변수 한 쌍으로) ── */
 body>.site{--gap:0px;--pad:40px}
 body>.site.lay-card{--gap:16px}
 body>.site.lay-clinic{--gap:20px}
 body>.site.lay-mag,body>.site.lay-menu,body>.site.lay-studio{--pad:96px}
 /* 링크모음은 넓은 화면에서도 좁은 한 줄이 맞다 — 띠마다 폭을 따로 묶으면
    카드 238 · 버튼 332px 처럼 선이 갈린다. 틀 자체를 좁혀 한 번에 해결한다. */
 body>.site.lay-linkfam{max-width:1080px;--gap:14px;--pad:22px}
 /* 다른 짜임새처럼 위쪽 막대는 틀 전체 폭에 메뉴를 보여주고, 그 아래 내용만 640 으로 모은다 */
 body>.site.lay-linkfam>*:not(.s-topbar){width:calc(100% - 2*var(--gap));max-width:640px;margin-left:auto;margin-right:auto}
 body>.site.lay-linkfam>.linkstack,body>.site.lay-linkfam>.s-notice{padding-left:0;padding-right:0}

 /* ── 위쪽 고정 막대 — 아래 고정 막대를 대신한다 ── */
 body>.site .s-topbar{
   display:flex;align-items:center;gap:22px;position:sticky;top:0;z-index:6;
   padding:0 40px;height:64px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);
   border-bottom:1px solid #E8EBF0}
 body>.site .s-topbar .tb-name{font-size:16px;font-weight:800;letter-spacing:-.03em;
   color:var(--st);text-decoration:none;white-space:nowrap}
 body>.site .s-topbar .tb-nav{display:flex;gap:20px;margin-left:8px;overflow:hidden}
 body>.site .s-topbar .tb-nav a{font-size:13px;font-weight:600;color:#5A6478;text-decoration:none;white-space:nowrap}
 body>.site .s-topbar .tb-nav a:hover{color:var(--ac)}
 body>.site .s-topbar .tb-cta{margin-left:auto;flex:none;background:var(--ac);color:#fff;
   text-decoration:none;font-size:13.5px;font-weight:700;padding:11px 20px;border-radius:var(--r)}
 body>.site .actionbar{display:none}

 /* ── 머리 ── */
 body>.site .s-hero{padding:60px var(--pad) 40px}
 body>.site .s-hero h2{font-size:38px;line-height:1.45}
 /* 글줄이 너무 길면 읽기 나쁘니 620px 로 묶는다. 다만 상자만 왼쪽에 붙으면
    가운데 정렬 짜임새에서 소개 글이 왼쪽으로 치우친다 — 그래서 상자 위치도 맞춘다. */
 body>.site .s-hero p{font-size:15px;line-height:1.85;max-width:620px;margin-right:auto}
 body>.site.lay-mag .s-hero p,body>.site.lay-menu .s-hero p,
 body>.site.lay-studio .s-hero p,body>.site.lay-clinic .s-hero p{margin-left:auto}
 body>.site .s-photo{height:400px}
 body>.site .s-notice{margin:20px var(--gap) 0}

 /* ── 칸: 이름표는 왼쪽, 내용은 오른쪽 ── */
 body>.site .s-sec{display:grid;grid-template-columns:132px minmax(0,1fr);gap:0 36px;
   padding:48px var(--pad);scroll-margin-top:64px}
 body>.site .s-sec>.s-lbl{grid-column:1;grid-row:1;position:static;writing-mode:horizontal-tb;
   align-self:start;margin:5px 0 0;font-size:12px;letter-spacing:.16em}
 body>.site .s-sec>:not(.s-lbl){grid-column:2;min-width:0}
 body>.site .s-sec h3{font-size:22px;margin-bottom:16px}
 body>.site .s-sec p{font-size:14px;line-height:1.95}

 /* ── 내용물 ── */
 body>.site .prod{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
 /* 넓은 화면에서는 세로로 길게 — 상품도 사람도 이 비율이 잘 보인다 */
 body>.site .prod-im{aspect-ratio:4/5}
 body>.site.lay-menu .prod-im{aspect-ratio:auto}   /* 메뉴판은 작은 썸네일 그대로 */
 body>.site.lay-works .prod-im{aspect-ratio:16/10} /* 작업물은 가로가 맞다 */
 body>.site .prod-b{padding:13px 14px}
 body>.site .prod-b b{font-size:14.5px}
 body>.site .svc{grid-template-columns:1fr 1fr;gap:9px}
 body>.site .gal{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-flow:row;
   gap:12px;overflow-x:visible;overflow-y:visible;padding:0;scroll-snap-type:none}
 body>.site .gal .gal-item{aspect-ratio:4/3;scroll-snap-align:none}
 body>.site .gal-hint{display:none}
 body>.site .info-r{font-size:13.5px}
 body>.site .map{height:220px}
 body>.site .point-notice{padding:16px var(--pad);font-size:13.5px}
 body>.site>.s-foot{padding:30px var(--pad) 40px;font-size:12px}
 body>.site>.s-foot .sf-biz{columns:2;column-gap:40px}
 body>.site>.s-foot .sf-biz>div{break-inside:avoid}

 /* ── 가운데로 모으는 짜임새는 왼쪽 이름표를 쓰지 않는다 ── */
 body>.site.lay-menu .s-sec,body>.site.lay-studio .s-sec,body>.site.lay-mag .s-sec{
   display:block;padding-left:var(--pad);padding-right:var(--pad)}
 body>.site.lay-menu .s-sec>.s-lbl,body>.site.lay-studio .s-sec>.s-lbl,body>.site.lay-mag .s-sec>.s-lbl{margin-bottom:14px}

 body>.site.lay-studio .s-sec p,body>.site.lay-menu .s-sec p{max-width:640px;margin-left:auto;margin-right:auto}

 /* ── 사진이 배경으로 깔리는 머리 ── */
 body>.site.lay-photo .s-hero,body>.site.lay-trust .s-hero,body>.site.lay-works .s-hero{min-height:440px}
 body>.site.lay-photo .s-hero>*:not(.heroimg),
 body>.site.lay-trust .s-hero>*:not(.heroimg),
 body>.site.lay-works .s-hero>*:not(.heroimg){padding-left:var(--pad);padding-right:var(--pad)}
 body>.site.lay-works .s-hero h2{font-size:44px}
 body>.site.lay-trust .s-hero h2{font-size:38px}

 /* ── 짜임새별 잔손질 ── */
 body>.site.lay-card .s-hero{margin:var(--gap) var(--gap) 0;padding:40px var(--pad) 28px}
 body>.site.lay-card .s-sec{margin:var(--gap);padding:36px var(--pad)}
 body>.site.lay-card .s-photo{margin:0 var(--gap)}
 body>.site.lay-clinic .s-sec{margin:18px var(--gap);padding:36px var(--pad)}
 body>.site.lay-clinic .s-photo{margin:var(--gap) var(--gap) 0}

 /* ── 링크모음 계열 — 넓은 화면에서도 좁은 한 줄을 지킨다 ──
    이름표를 왼쪽 칸으로 빼는 기본 PC 배치를 쓰면 가운데 정렬이 깨진다.
    링크 버튼도 1000px 로 늘어나면 누를 곳이 아니라 띠처럼 보인다 — 480px 로 묶는다. */
 /* 이름표를 왼쪽 칸으로 빼는 기본 PC 배치를 쓰면 가운데 정렬이 깨진다.
    폭은 틀(max-width:600px)에서 이미 좁혔으므로 여기서 또 묶지 않는다 —
    띠마다 폭을 따로 주면 카드 242 · 버튼 336px 처럼 선이 갈렸다. */
 body>.site.lay-linkfam .s-sec{display:block;padding:30px var(--pad)}
 body>.site.lay-linkfam .s-sec>.s-lbl{margin-bottom:14px}
 body>.site.lay-linkfam .s-hero{padding:52px var(--pad) 20px}
 body>.site.lay-linkfam .s-hero h2{font-size:30px}
 body>.site.lay-linkfam .s-hero p{font-size:14.5px;max-width:520px;margin-left:auto;margin-right:auto}
 body>.site .s-hero>.avatar{width:120px;height:120px;margin-bottom:18px}
 body>.site .linkstack{padding:8px var(--gap) 30px;gap:10px}
 body>.site .lk{min-height:60px;font-size:14.5px}


 /* 링크모음은 틀이 600px 이라 위쪽 막대에 메뉴 여덟 개가 안 들어간다.
    글자가 잘려 "이…" 처럼 보였다. 이 화면은 아래 버튼 목록이 곧 메뉴이므로
    막대에는 가게 이름과 주 버튼만 남긴다. */
 body>.site.lay-linkfam .s-topbar{gap:18px;padding:0 40px}
 body>.site.lay-linkfam .s-topbar .tb-cta{margin-left:auto}
 body>.site.lay-split .s-hero{grid-template-columns:1fr 1.1fr}
 body>.site.lay-split .s-hero .txt{padding:48px var(--pad)}
 body>.site.lay-split .s-hero .splitim{min-height:380px}
 body>.site.lay-compact .s-hero{padding:var(--pad)}
 body>.site.lay-compact .quickrow{padding:16px var(--pad);grid-template-columns:repeat(3,minmax(0,220px))}
 body>.site.lay-film .filmshot{height:420px}
 body>.site.lay-min .s-hero{padding:96px var(--pad) 30px}
 body>.site.lay-min .s-sec{padding:64px var(--pad)}
 body>.site.lay-works .prod{grid-template-columns:1fr 1fr;gap:6px}
 body>.site.lay-menu .prod{grid-template-columns:1fr 1fr;gap:0 40px}

 /* ── 어두운·종이색 짜임새는 위쪽 막대도 같은 바탕으로 ── */
 body>.site.lay-film .s-topbar{background:rgba(15,15,16,.94);border-bottom-color:#232326}
 body>.site.lay-film .s-topbar .tb-name{color:#fff}
 body>.site.lay-film .s-topbar .tb-nav a{color:#9A9A9E}
 body>.site.lay-menu .s-topbar{background:color-mix(in srgb,var(--st) 92%,transparent);border-bottom-color:rgba(255,255,255,.16)}
 body>.site.lay-menu .s-topbar .tb-name{color:#fff}
 body>.site.lay-menu .s-topbar .tb-nav a{color:rgba(255,255,255,.66)}
 body>.site.lay-menu .s-topbar .tb-cta{background:#fff;color:var(--ac)}
 body>.site.lay-studio .s-topbar{background:rgba(247,244,238,.94);border-bottom-color:#E7DFD1}
 body>.site.lay-studio .s-topbar .tb-name{color:#3A342A;font-weight:500;letter-spacing:.02em}
 body>.site.lay-studio .s-topbar .tb-nav a{color:#857A67}
 body>.site.lay-clinic .s-topbar{background:rgba(255,255,255,.94)}

 /* ── 쇼핑몰 진열 ── */
 body>.site .s-sec.mall{display:block;padding:48px var(--pad)}
 body>.site .m-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
 body>.site .m-cats{flex-wrap:wrap;overflow:visible}

 /* ── 후기·쿠폰 ── */
 body>.site .rev{padding-left:18px}
 body>.site .cpn{padding:18px 22px}
}

/* 900~1060px 사이에서는 위쪽 메뉴가 빽빽해진다 — 앞의 네 칸만 남긴다 */
@media(min-width:768px) and (max-width:1060px){
 body>.site .s-topbar{padding:0 24px;gap:16px}
 body>.site .s-topbar .tb-nav{gap:14px}
 body>.site .s-topbar .tb-nav a:nth-child(n+5){display:none}
 /* 이 구간만 여백을 줄인다 — 띠마다 따로 적으면 또 갈린다 */
 body>.site{--pad:28px}
 body>.site.lay-mag,body>.site.lay-menu,body>.site.lay-studio{--pad:56px}
 body>.site .prod,body>.site .m-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* 아주 넓은 화면에서는 상품·사진을 한 줄 더 */
@media(min-width:1180px){
 body>.site .prod{grid-template-columns:repeat(4,minmax(0,1fr))}
 body>.site .gal{grid-template-columns:repeat(4,1fr)}
 body>.site.lay-works .prod,body>.site.lay-menu .prod{grid-template-columns:1fr 1fr}
}


/* ══════════════════════════════════════════════════════════════
   오시는 길 — 실제 지도(카카오맵). 지도 위 껍데기는 우리가 그린다.
   기본 컨트롤·저작권 배지는 그대로 두되, 테두리·핀·라벨은 가게 색을 따른다.
   ══════════════════════════════════════════════════════════════ */
.site .mapbox{position:relative;border-radius:var(--r);overflow:hidden;background:#EDF0F4;
  border:1px solid #E4E8EE;box-shadow:0 1px 2px rgba(19,26,46,.04)}
.site .mapview{height:190px;width:100%;background:#EDF0F4}
.site iframe.mapview{display:block;border:0;max-width:100%}   /* 지도는 같은 도메인 iframe(site/map.php) — 타일 · 핀이 바깥 문서 흐름에 섞이지 않는다 */
.site .map-inner,.site .map-inner .mapview{height:100%}
.site .mapview.on{background:transparent}
.site .map-pin{width:34px;height:44px;pointer-events:none;filter:drop-shadow(0 6px 12px rgba(19,26,46,.28));
  background:none;border:0}
/* Leaflet(브이월드) 기본 껍데기를 우리 톤으로 */
.site .mapview .leaflet-container{background:#EDF0F4;font:inherit}
.site .mapview .leaflet-control-attribution{background:rgba(255,255,255,.8);font-size:12px;color:#8A94A5;padding:1px 6px}
.site .mapview .leaflet-control-attribution a{color:#5A6478}
.site .mapbox .map-badge{position:absolute;left:10px;top:10px;z-index:2;max-width:calc(100% - 76px);
  padding:8px 12px;border-radius:10px;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);
  box-shadow:0 4px 14px rgba(19,26,46,.14);pointer-events:none}
.site .map-badge b{display:block;font-size:12.5px;font-weight:800;letter-spacing:-.02em;color:var(--st);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.site .map-badge span{display:block;margin-top:2px;font-size:12px;color:#7A8495;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.site .mapbox .map-zoom{position:absolute;right:10px;top:10px;z-index:2;display:grid;gap:1px;
  border-radius:9px;overflow:hidden;box-shadow:0 4px 14px rgba(19,26,46,.16)}
.site .map-zoom button{width:44px;height:44px;border:0;background:rgba(255,255,255,.96);
  color:var(--st);font-size:15px;line-height:1;cursor:pointer;font-family:inherit}
.site .map-zoom button:hover{background:#fff;color:var(--ac)}
.site .map-go{display:flex;gap:7px;margin-top:9px;flex-wrap:wrap}
.site .map-go a{flex:1 1 120px;min-width:0;min-height:44px;display:flex;align-items:center;justify-content:center;overflow-wrap:anywhere;text-align:center;
  border:1px solid #E4E8EE;border-radius:var(--r);background:#fff;color:var(--st);
  font-size:12.5px;font-weight:700;text-decoration:none}
.site .map-go a:hover{border-color:var(--ac);color:var(--ac)}

/* 어두운 짜임새는 지도도 같이 눕힌다 */
.site.lay-film .mapbox,.site.lay-menu .mapbox{border-color:rgba(255,255,255,.16);background:#15151A}
.site.lay-film .mapview,.site.lay-menu .mapview{filter:invert(.92) hue-rotate(180deg) saturate(.8)}
.site.lay-film .map-badge,.site.lay-menu .map-badge{background:rgba(20,20,24,.9)}
.site.lay-film .map-badge b,.site.lay-menu .map-badge b{color:#fff}
.site.lay-film .map-zoom button,.site.lay-menu .map-zoom button{background:rgba(28,28,33,.96);color:#fff}
.site.lay-film .map-go a,.site.lay-menu .map-go a{background:transparent;border-color:rgba(255,255,255,.2);color:#fff}
.site.lay-studio .mapbox{border-color:#E7DFD1}
.site.lay-studio .map-go a{background:#FCFAF6;border-color:#E7DFD1;color:#3A342A}

@media(min-width:768px){
 body>.site .mapview{height:320px}
 body>.site .map-badge{left:14px;top:14px;padding:10px 14px}
 body>.site .map-badge b{font-size:14px}
 body>.site .map-badge span{font-size:12px}
 body>.site .map-zoom{right:14px;top:14px}
 body>.site .map-zoom button{width:36px;height:36px;font-size:16px}
 body>.site .map-go{gap:9px;margin-top:11px}
 body>.site .map-go a{min-height:46px;font-size:13.5px;flex:0 1 200px}
}


/* ══════════════════════════════════════════════════════════════
   사진 크게 보기 — 사진첩을 눌렀을 때 파일 주소로 넘기지 않고 여기서 본다
   ══════════════════════════════════════════════════════════════ */
.site .gal .gal-item{border:0;padding:0;cursor:zoom-in;font:inherit;color:inherit;width:100%}
.site .filmshot.gal-item{border:0;padding:0;cursor:zoom-in;width:100%;font:inherit;color:inherit;text-align:left}
html.lb-lock{overflow:hidden}
.op-lb{position:fixed;inset:0;z-index:60;display:none;align-items:center;justify-content:center;
  gap:6px;padding:20px;background:rgba(10,12,18,.92);backdrop-filter:blur(6px)}
.op-lb.on{display:flex}
.op-lb .lb-f{flex:1;min-width:0;margin:0;display:flex;flex-direction:column;align-items:stretch;
  justify-content:center;gap:12px;max-height:100%}
.op-lb img{display:block;margin-inline:auto;max-width:100%;max-height:calc(100vh - 120px);
  object-fit:contain;border-radius:10px;box-shadow:0 24px 70px rgba(0,0,0,.5);background:#1A1C22}
.op-lb figcaption{color:rgba(255,255,255,.86);font-size:13px;line-height:1.6;text-align:center;
  max-width:640px;margin-inline:auto;word-break:keep-all}
.op-lb button{border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;font-family:inherit;
  border-radius:999px;display:grid;place-items:center;transition:background .15s ease}
.op-lb button:hover{background:rgba(255,255,255,.24)}
.op-lb .lb-x{position:absolute;right:16px;top:16px;width:42px;height:42px;font-size:16px}
.op-lb :is(.lb-p,.lb-n){flex:none;width:46px;height:46px;font-size:26px;line-height:1;padding-bottom:4px}
.op-lb.one :is(.lb-p,.lb-n){display:none}
@media(max-width:620px){
 .op-lb{padding:12px;gap:2px}
 .op-lb img{max-height:calc(100vh - 150px)}
 .op-lb :is(.lb-p,.lb-n){position:absolute;bottom:16px;width:52px;height:52px}
 .op-lb .lb-p{left:16px}.op-lb .lb-n{right:16px}
 .op-lb figcaption{font-size:12.5px;padding:0 56px}
}


/* ══════════════════════════════════════════════════════════════
   상품 상세정보 · 상품 정보 고시 (쇼핑몰 상품 상세)
   ══════════════════════════════════════════════════════════════ */
.p-detail{margin-top:26px;padding-top:22px;border-top:1px solid #EDEFF3}
.p-detail-txt{font-size:13.5px;line-height:1.95;color:#3F4756;word-break:keep-all}
.p-detail-im{margin:18px 0 0}
.p-detail-im img{width:100%;height:auto;display:block;border-radius:12px;background:#F2F4F7}
.p-detail-im figcaption{margin-top:8px;font-size:12px;color:#8A94A5;line-height:1.6;text-align:center}
.p-notice{margin-top:26px;padding-top:22px;border-top:1px solid #EDEFF3}
.p-notice .p-rv-h small{margin-left:7px;font-size:12px;font-weight:600;color:#8A94A5}
.p-notice-l{margin:0;display:grid;gap:1px;background:#EDEFF3;border-radius:12px;overflow:hidden}
.p-notice-l>div{display:flex;gap:12px;padding:11px 13px;background:#fff;font-size:12.5px;line-height:1.6}
.p-notice-l dt{flex:0 0 40%;max-width:180px;color:#7A8494;word-break:keep-all}
.p-notice-l dd{margin:0;flex:1;min-width:0;color:#2F3742;word-break:keep-all}

/* 관리자 상세 이미지 목록 */
body.adm-dark .dt-list{display:grid;gap:9px;margin-top:12px}
body.adm-dark .dt-row{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff}
body.adm-dark .dt-im{flex:none;width:64px;height:64px;border-radius:9px;overflow:hidden;background:var(--bg);
  display:grid;place-items:center;color:var(--mut);font-size:12px}
body.adm-dark .dt-im img{width:100%;height:100%;object-fit:cover;display:block}
body.adm-dark .dt-b{flex:1;min-width:0;display:grid;gap:4px}
body.adm-dark .dt-b code{font-size:12px;color:var(--sub);background:var(--bg);border-radius:5px;padding:2px 6px;justify-self:start}
body.adm-dark .dt-b p{margin:0;font-size:12.5px;color:var(--sub);line-height:1.6}

@media(min-width:768px){
 .p-notice-l dt{flex-basis:200px;max-width:200px}
 .p-notice-l>div{font-size:13px;padding:12px 16px}
 .p-detail-txt{font-size:14.5px;line-height:2}
}


/* 상품 사진 여러 장 — 옆으로 넘겨보기 */
.gift-imgs{position:relative;aspect-ratio:auto;background:transparent;overflow:visible}
.gift-imgs .gi-track{display:grid;grid-auto-flow:column;grid-auto-columns:100%;overflow-x:auto;
  scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;border-radius:inherit}
.gift-imgs .gi-track::-webkit-scrollbar{display:none}
.gift-imgs .gi-one{scroll-snap-align:start;aspect-ratio:1;border:0;padding:0;margin:0;
  background:#F2F4F7;cursor:zoom-in;overflow:hidden;display:block}
.gift-imgs .gi-one img{width:100%;height:100%;object-fit:cover;display:block}
.gift-imgs .gi-dots{position:absolute;left:0;right:0;bottom:4px;display:flex;gap:0;justify-content:center;flex-wrap:wrap}
.gift-imgs .gi-dots button{flex:0 0 44px;min-width:44px;min-height:44px;height:44px;padding:0;border:0;border-radius:50%;cursor:pointer;background:transparent;display:grid;place-items:center;box-shadow:none}
.gift-imgs .gi-dots button::before{content:"";display:block;width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.65);box-shadow:0 1px 3px rgba(0,0,0,.3);transition:width .2s}
.gift-imgs .gi-dots button.on::before{width:20px;border-radius:999px;background:#fff}
.gift-imgs .gi-dots button:focus-visible{outline:2px solid #fff;outline-offset:-4px}
/* 화살표 — 손가락으로도 누를 수 있게 넉넉히 */
.gift-imgs .gi-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;
  width:38px;height:38px;border:0;border-radius:50%;cursor:pointer;font-size:22px;line-height:1;
  padding-bottom:3px;background:rgba(255,255,255,.86);color:#2F3742;
  box-shadow:0 2px 10px rgba(19,26,46,.18);opacity:0;transition:opacity .18s ease}
.gift-imgs:hover .gi-nav,.gift-imgs:focus-within .gi-nav{opacity:1}
.gift-imgs .gi-prev{left:10px}
.gift-imgs .gi-next{right:10px}
.gift-imgs .gi-count{position:absolute;right:10px;top:10px;z-index:2;padding:3px 9px;border-radius:999px;
  background:rgba(20,24,33,.56);color:#fff;font-size:12px;font-family:var(--mono);letter-spacing:.02em}
.gift-imgs .gi-count b{font-weight:700}
@media(hover:none){ .gift-imgs .gi-nav{opacity:1;width:34px;height:34px;font-size:19px} }

/* 관리자 구성 고르기 */
body.adm-dark .tplpick{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:9px}
body.adm-dark .tplopt{display:block;position:relative;border:1px solid var(--line);border-radius:14px;
  padding:12px 13px;background:#fff;cursor:pointer}
body.adm-dark .tplopt input{position:absolute;right:12px;top:13px;accent-color:var(--brand);width:17px;height:17px}
body.adm-dark .tplopt>span{display:block;padding-right:26px}
body.adm-dark .tplopt b{display:block;font-size:13.5px;color:var(--ink);line-height:1.45}
body.adm-dark .tplopt small{display:block;font-size:12px;color:var(--mut);margin-top:3px;line-height:1.55}
body.adm-dark .tplopt em{display:inline-block;margin-top:7px;font-style:normal;font-size:12px;
  font-weight:700;padding:2px 7px;border-radius:999px}
body.adm-dark .tplopt .tpl-have{background:var(--brand-soft);color:var(--brand-deep)}
body.adm-dark .tplopt .tpl-gen{background:var(--amber-soft);color:var(--amber)}
body.adm-dark .tplopt:has(input:checked){border-color:var(--brand);background:var(--brand-soft)}


/* ── 사진 후기 ─────────────────────────────────────────────── */
.rev-shots{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
.rev-shots button{width:72px;height:72px;padding:0;border:0;border-radius:10px;overflow:hidden;
  background:#F2F4F7;cursor:zoom-in;display:block;flex:none}
.rev-shots button img{width:100%;height:100%;object-fit:cover;display:block}
.rev-shots button:hover img{transform:scale(1.04)}
.p-rv-i .p-rv-ph{font-style:normal;margin-left:6px;padding:1px 6px;border-radius:5px;
  background:#EEF2F7;color:#5A6478;font-size:12px;font-weight:700}
.lay-film .rev-shots button,.lay-menu .rev-shots button{background:rgba(255,255,255,.1)}

/* 후기 쓰기 화면 — 고른 사진 미리보기 */
.rv-file{width:100%;min-height:48px;padding:11px;border:1px dashed #CDD4DE;border-radius:10px;
  background:#FAFBFC;font-size:13.5px;font-family:inherit}
.rv-prev{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}
.rv-prev img{width:76px;height:76px;object-fit:cover;border-radius:10px;background:#F2F4F7;display:block}

@media(min-width:768px){
 .rev-shots button{width:92px;height:92px;border-radius:12px}
 .rv-prev img{width:96px;height:96px}
}

/* ── 자주 묻는 질문 (AI 검색 노출 — 입력된 값으로만 자동 생성) ── */
.s-sec.faq .faq-i{border-bottom:1px dashed #E8EBF0}
.s-sec.faq .faq-i summary{cursor:pointer;list-style:none;display:flex;gap:8px;align-items:flex-start;padding:9px 0;font-size:12.5px;font-weight:700;color:var(--st);line-height:1.5}
.s-sec.faq .faq-i summary::-webkit-details-marker{display:none}
.s-sec.faq .faq-i summary:before{content:"Q";flex:none;font-family:var(--mono);font-size:12px;color:var(--ac);margin-top:2px}
.s-sec.faq .faq-i[open] summary{color:var(--ac)}
.s-sec.faq .faq-i p{margin:0 0 11px 18px;font-size:12px;color:#5A6478;line-height:1.75}


/* ══ 링크모음 스타일 3종 (기본 · 사진배경 · 카드형) ═══════════════════════════
   목업의 열 벌을 넣었다가 비슷한 것이 많아 셋만 남겼다(2026-09-07). 남긴 셋은 버튼이 놓이는 방식이
   서로 다르다: 흰 알약 / 대표 사진 위 유리 버튼 / 버튼마다 사진. 좌우 여백(--gap · --pad)은 건드리지 않는다. */
.lk .lk-th{display:none}

/* ── 사진배경: 대표 사진을 페이지 배경(인라인 background-image)으로 깔고 유리 버튼 ── */
.site.lay-linkphoto{background-color:#17140F;background-size:cover;background-position:50% 20%;background-repeat:no-repeat;color:#fff;position:relative}
.site.lay-linkphoto::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(rgba(12,10,9,.6),rgba(12,10,9,.86))}
.lay-linkphoto>*{position:relative;z-index:1}
.lay-linkphoto .s-hero{padding-top:46px}
.lay-linkphoto .s-hero .cat{color:#FFD9C9}
.lay-linkphoto .s-hero h2{color:#fff}
.lay-linkphoto .s-hero p{color:rgba(255,255,255,.92)}
.lay-linkphoto .s-hero>.avatar{border:3px solid rgba(255,255,255,.55)}
.lay-linkphoto .lk{background:rgba(255,255,255,.14);color:#fff;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.24);border-radius:16px}
.lay-linkphoto .lk::before{display:none}
.lay-linkphoto .lk>span{text-align:left}
.lay-linkphoto .lk>em{color:#fff;opacity:.8}
.lay-linkphoto .lk-main{background:#fff;color:#111;border-color:#fff}
.lay-linkphoto .lk-main>em{color:#111}
.lay-linkphoto .s-sec{background:rgba(255,255,255,.1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;border:1px solid rgba(255,255,255,.14)}
.lay-linkphoto .s-sec h3{color:#fff}
.lay-linkphoto .s-lbl{color:#FFD9C9}
.lay-linkphoto .s-sec p,.lay-linkphoto .info-r{color:rgba(255,255,255,.82)}
.lay-linkphoto .info-r b{color:#fff}
.lay-linkphoto .prod-c{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16)}
.lay-linkphoto .prod-b b,.lay-linkphoto .rev b{color:#fff}
.lay-linkphoto .rev{border-left-color:rgba(255,255,255,.35)}
.lay-linkphoto .gal i{border-radius:12px}
.lay-linkphoto>.s-foot{background:transparent;color:rgba(255,255,255,.7)}
.lay-linkphoto .actionbar{background:rgba(20,16,14,.9);border-top-color:rgba(255,255,255,.12)}

/* ── 카드형: 버튼마다 사진이 붙는다 ── */
.site.lay-linkcard{background:#F4F4F6}
.lay-linkcard .lk{background:#fff;color:var(--st);border-radius:18px;gap:13px;padding-top:11px;padding-bottom:11px;
  box-shadow:0 1px 3px rgba(0,0,0,.06)}
.lay-linkcard .lk::before{display:none}
.lay-linkcard .lk .lk-th{display:block;width:52px;height:52px;border-radius:14px;flex:none}
.lay-linkcard .lk>span{text-align:left}
.lay-linkcard .lk>em{opacity:.35}
.lay-linkcard .lk-main{background:var(--ac);color:#fff;padding-top:13px;padding-bottom:13px}
.lay-linkcard .lk-main .lk-th{box-shadow:0 0 0 2px rgba(255,255,255,.4)}
.lay-linkcard .lk-main>em{opacity:.9}
.lay-linkcard .s-sec{border-radius:18px;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.lay-linkcard .s-lbl{color:var(--ac)}
.lay-linkcard .prod-im{aspect-ratio:1;border-radius:14px}
.lay-linkcard .rev{border-left:0;background:#F6F6F8;padding:12px 14px;border-radius:12px}
.lay-linkcard .gal{grid-template-columns:repeat(2,1fr);gap:8px}
.lay-linkcard .gal i{border-radius:14px}
.lay-linkcard .info-r{border-bottom-style:solid;border-bottom-color:#EEEEF1}
.lay-linkcard>.s-foot{background:#fff;border-radius:18px 18px 0 0}


/* ── 버튼 모양 — 사장님 선택이 스타일의 기본값을 덧씌운다 ── */
.site.lay-linkfam.shape-round .lk{border-radius:999px}
.site.lay-linkfam.shape-soft .lk{border-radius:12px}
.site.lay-linkfam.shape-sharp .lk{border-radius:3px}

/* ── 넓은 화면: 어두운 스타일의 위쪽 막대 ── */
@media(min-width:768px){
 body>.site.lay-linkphoto .s-topbar{
   background:rgba(19,18,17,.92);border-bottom-color:rgba(255,255,255,.14)}
 body>.site.lay-linkphoto .s-topbar .tb-name{color:#fff}
}

/* ── 어두운 바닥의 사업자 표기 · 적립 안내 — 바탕이 어두우면 글자도 밝게 ── */
.site.lay-linkphoto>.s-foot .sf-top{border-bottom-color:rgba(255,255,255,.18)}
.site.lay-linkphoto>.s-foot .sf-top b{color:#fff}
.site.lay-linkphoto>.s-foot .sf-biz dt{color:rgba(255,255,255,.66);opacity:1}
.site.lay-linkphoto>.s-foot .sf-biz dd{color:rgba(255,255,255,.92)}
.site.lay-linkphoto>.s-foot .sf-demo{color:rgba(255,255,255,.72);border-top-color:rgba(255,255,255,.18)}
.site.lay-linkphoto>.s-foot a{color:#fff}
.site.lay-linkphoto .point-notice{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.16);color:#F2EFEA}
.site.lay-linkphoto .point-notice b{color:#FFD9C9}

/* ══ 랜딩 v3 — 세 주제를 크게, 스크롤마다 한 화면 ═══════════════════════════ */
.lp3-hero{background:var(--ink,#131A2E);color:#fff;padding:112px 0 80px;position:relative;overflow:hidden}   /* 헤더(절대 배치 · 약 80px) 아래 32px — 150px 은 위가 너무 비었다 */
.lp3-deco{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.lp3-deco:before{content:"";position:absolute;width:min(640px,55%);aspect-ratio:1;border:1px solid rgba(255,255,255,.06);border-radius:50%;right:4%;top:-140px;
  box-shadow:0 0 0 110px rgba(255,255,255,.018),0 0 0 220px rgba(255,255,255,.012)}
.lp3-hero .lp-shell{position:relative}
.lp3-hero h1{font-size:56px;line-height:1.12;letter-spacing:-.05em;margin:22px 0 18px;font-weight:900;max-width:820px}
.lp3-hero h1 em{font-style:normal;color:var(--brand,#F0522B)}
.lp3-hero>.lp-shell>p{font-size:16.5px;line-height:1.8;color:#AAB5C9;margin:0;max-width:640px;word-break:keep-all}
.lp3-themes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:56px}
.lp3-themes a{position:relative;display:block;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:24px 24px 22px;
  text-decoration:none;color:#fff;transition:.16s}
.lp3-themes a:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.22);transform:translateY(-3px)}
.lp3-themes span{font:700 12px var(--mono,ui-monospace);letter-spacing:.12em;color:var(--brand,#F0522B)}
.lp3-themes b{display:block;margin-top:12px;font-size:21px;letter-spacing:-.03em;line-height:1.3}
.lp3-themes small{display:block;margin-top:9px;font-size:13px;line-height:1.7;color:#AAB5C9;word-break:keep-all}
.lp3-themes i{display:block;margin-top:16px;font-style:normal;font-size:12px;font-weight:800;color:#7F93B4}

.lp3-theme{padding:104px 0;background:#fff}
.lp3-theme.dark{background:var(--ink,#131A2E);color:#fff}
.lp3-theme-in{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.lp3-theme-in.rev .lp3-copy{order:2}.lp3-theme-in.rev .lp3-visual{order:1}
.lp3-copy h2{font-size:40px;line-height:1.22;letter-spacing:-.05em;margin:0 0 18px}
.lp3-copy>p{font-size:15px;line-height:1.85;color:#5A6478;margin:0;word-break:keep-all}
.lp3-copy>p b{color:#131A2E;display:inline-block}
.lp3-theme.dark .lp3-copy>p{color:#AAB5C9}.lp3-theme.dark .lp3-copy>p b{color:#fff}
.lp3-pts{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:11px}
.lp3-pts li{position:relative;padding-left:20px;font-size:13.5px;line-height:1.7;color:#4B5563;word-break:keep-all}
.lp3-pts li:before{content:"✓";position:absolute;left:0;top:1px;color:var(--brand,#F0522B);font-weight:800;font-size:12px}
.lp3-pts li b{color:#131A2E}
.lp3-theme.dark .lp3-pts li{color:#B7C1D3}.lp3-theme.dark .lp3-pts li b{color:#fff}
.lp3-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:26px}
.lp3-steps>div{background:#F5F6F9;border:1px solid #E7EAF0;border-radius:14px;padding:14px 13px}
.lp3-steps>div.on{background:#FFF3EE;border-color:#FFD2C2}
.lp3-steps i{display:block;font-style:normal;font:700 12px var(--mono,ui-monospace);color:#8A94A5;letter-spacing:.06em}
.lp3-steps b{display:block;margin-top:7px;font-size:13px;letter-spacing:-.02em}
.lp3-steps>div.on b{color:#B33B14}
.lp3-steps small{display:block;margin-top:4px;font-size:12px;color:#8A94A5;line-height:1.5}
.lp3-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:22px}
.lp3-chips span{font-size:12.5px;font-weight:700;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14)}
.lp3-note{display:block;margin-top:16px;font-size:12px;color:#7F93B4;line-height:1.6}
.lp3-note.center{text-align:center;margin-top:12px}
.lp3-visual{justify-self:center;position:relative;width:min(100%,360px)}
.lp3-visual .lp-phone{margin:0 auto}
.lp3-visual .lp-phone iframe{width:100%;height:100%;border:0;display:block;background:#fff}
.lp3-theme:not(.dark) .lp-phone-note{color:#5A6478}.lp3-theme:not(.dark) .lp-phone{box-shadow:0 30px 80px rgba(19,26,46,.22)}
.lp3-open{display:flex;align-items:center;justify-content:center;min-height:44px;text-align:center;margin-top:8px;font-size:12.5px;font-weight:800;color:#131A2E;text-decoration:none}
.lp3-open span{color:var(--brand,#F0522B);margin-left:5px}
.lp3-theme.dark .lp3-open{color:#fff}
/* AI 답변 예시 */
.lp3-ai{display:grid;gap:12px}
.lp3-ai .q{display:flex;justify-content:flex-end}
.lp3-ai .q span{background:#131A2E;color:#fff;border-radius:18px 18px 4px 18px;padding:12px 16px;font-size:14px;font-weight:700;max-width:80%;word-break:keep-all}
.lp3-ai .a{background:#fff;border:1px solid #E7EAF0;border-radius:18px 18px 18px 4px;padding:18px 20px;box-shadow:0 18px 50px rgba(19,26,46,.10)}
.lp3-ai .a i{display:block;font-style:normal;font:700 12px var(--mono,ui-monospace);letter-spacing:.06em;color:#8A94A5;margin-bottom:10px}
.lp3-ai .a b{display:block;font-size:17px;letter-spacing:-.02em}
.lp3-ai .a p{margin:4px 0 10px;font-size:13px;color:#5A6478}
.lp3-ai .a ul{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.lp3-ai .a li{font-size:12.5px;color:#4B5563;padding-left:14px;position:relative}
.lp3-ai .a li:before{content:"·";position:absolute;left:2px;color:var(--brand,#F0522B);font-weight:900}
.lp3-ai .a .faq{margin-top:11px;font-size:12px;color:#1D51C4;background:#EEF3FF;border-radius:9px;padding:8px 10px}
.lp3-ai .a .faq em{font-style:normal;font-weight:800;margin-right:4px}
.lp3-ai .a small{display:block;margin-top:11px;font:600 12px var(--mono,ui-monospace);color:#8A94A5;overflow-wrap:anywhere}
.lp3-ai .task{background:#131A2E;color:#fff;border-radius:14px;padding:15px 16px 14px;box-shadow:0 14px 34px rgba(0,0,0,.18)}
.lp3-ai .task .c{display:flex;gap:6px}
.lp3-ai .task .c span{font:800 12px var(--mono,ui-monospace);padding:4px 8px;border-radius:7px;background:rgba(255,255,255,.1);color:#B7C1D3}
.lp3-ai .task .c span.hot{background:#FFE9E1;color:#B33B14}
.lp3-ai .task b{display:block;margin-top:9px;font-size:14px;letter-spacing:-.02em}
.lp3-ai .task small{display:block;margin-top:5px;font-size:12px;line-height:1.65;color:#AAB5C9;word-break:keep-all}

.lp3-sec{padding:96px 0}
.lp3-kinds{background:#F7F8FA}
.lp3-sec-h{margin-bottom:34px;max-width:720px}
.lp3-sec-h h2{font-size:34px;line-height:1.25;letter-spacing:-.045em;margin:0}
.lp3-sec-h p{margin:12px 0 0;font-size:14px;line-height:1.8;color:#5A6478;word-break:keep-all}
.lp3-sec-h p b{color:#131A2E;font-family:var(--mono,ui-monospace)}
.lp3-kinds-g{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.lp3-kind{display:flex;flex-direction:column;background:#fff;border:1px solid #E7EAF0;border-radius:18px;padding:22px 20px;text-decoration:none;color:inherit;transition:.16s}
.lp3-kind:hover{border-color:var(--brand,#F0522B);transform:translateY(-3px)}
.lp3-kind i{font-style:normal;display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:#F4F6FA;color:#5A6478;font-size:18px}
.lp3-kind b{display:block;margin-top:14px;font-size:16.5px;letter-spacing:-.02em}
.lp3-kind small{display:block;margin-top:2px;font-size:12px;color:#8A94A5}
.lp3-kind p{margin:12px 0 0;font-size:12.5px;line-height:1.7;color:#4B5563;word-break:keep-all}
.lp3-kind em{display:block;margin-top:auto;padding-top:14px;font-style:normal;font-size:12px;color:#8A94A5}
.lp3-kind span{display:block;margin-top:8px;font-size:12px;font-weight:800;color:var(--brand,#F0522B)}
.lp3-lays{background:#fff}
.lp3-lay-g{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.lp3-lay{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid #E7EAF0;border-radius:14px;overflow:hidden;transition:.16s}
.lp3-lay:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(19,26,46,.12)}
.lp3-lay .im{aspect-ratio:4/3;background:linear-gradient(145deg,#DCE2EA,#B9C2D0) center/cover}
.lp3-lay b{display:block;margin:10px 12px 0;font-size:13px;letter-spacing:-.02em}
.lp3-lay small{display:block;margin:2px 12px 0;font-size:12px;color:#5A6478;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lp3-lay em{display:block;margin:6px 12px 11px;font-style:normal;font-size:12px;color:#8A94A5;letter-spacing:.04em}
.lp3-lays .lp-center{margin-top:28px}
.lp3-more{background:#F7F8FA;padding:80px 0}
.lp3-more-g{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 28px}
.lp3-more-g>div{padding:16px 0;border-top:1px solid #E7EAF0}
.lp3-more-g b{display:block;font-size:14.5px;letter-spacing:-.02em}
.lp3-more-g small{display:block;margin-top:4px;font-size:12.5px;line-height:1.65;color:#5A6478;word-break:keep-all}

@media(max-width:1000px){
  .lp3-themes{grid-template-columns:1fr}
  .lp3-theme-in{grid-template-columns:1fr;gap:40px}
  .lp3-theme-in.rev .lp3-copy{order:1}.lp3-theme-in.rev .lp3-visual{order:2}
  .lp3-kinds-g{grid-template-columns:1fr 1fr}
  .lp3-lay-g{grid-template-columns:repeat(4,1fr)}
  .lp3-more-g{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .lp3-hero{padding:96px 0 56px}
  .lp3-hero h1{font-size:34px}
  .lp3-hero>.lp-shell>p{font-size:14.5px}
  .lp3-theme{padding:64px 0}
  .lp3-copy h2{font-size:28px}
  .lp3-steps{grid-template-columns:1fr 1fr}
  .lp3-sec{padding:60px 0}
  .lp3-sec-h h2{font-size:26px}
  .lp3-kinds-g{grid-template-columns:1fr}
  .lp3-lay-g{grid-template-columns:repeat(2,1fr)}
  .lp3-more-g{grid-template-columns:1fr}
}

/* ── 랜딩 v3 — 검증 스크립트(responsive-check) 기준: 글씨 12px 하한 · 터치 44px · 미리보기 안 요소가 화면 밖으로 안 나가게 ── */
body.lp3 .lp-kicker{font-size:12px;letter-spacing:.12em}
body.lp3 .lp-h nav>a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 6px}
body.lp3 .lp-h nav>a.btn{padding:0 15px}
body.lp3 .lp-logo{min-height:44px;display:inline-flex;align-items:center}
body.lp3 .brand-copy small{font-size:12px}
body.lp3 .lp-h .lp-logo.brand-lockup .brand-slogan{font-size:12px}
body.lp3 .lp-textlink{display:inline-flex;align-items:center;min-height:44px}
body.lp3 .lp-ft div a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;justify-content:center;padding:0 12px;font-size:12px}
body.lp3 .lp-ft{flex-wrap:wrap}
body.lp3 .lp-ft .brand-lockup{min-height:44px;display:inline-flex;align-items:center}
body.lp3 .lp-ft p{font-size:12px}
body.lp3 .lp-final span,body.lp3 .lp-final small{font-size:12px}
body.lp3 .lp3-copy b{font-size:inherit}
body.lp3 .lp-phone-note{font-size:12px}
/* 폰 미리보기 — 실제 가게 페이지는 9~11px 라벨을 쓰지만 소개 화면에서는 12px 하한으로 올린다 */
body.lp3 .lp-phone .site{font-size:12px}
body.lp3 .lp-phone .site .cat,body.lp3 .lp-phone .site .s-lbl,body.lp3 .lp-phone .site .s-foot,body.lp3 .lp-phone .site .sf-top b,
body.lp3 .lp-phone .site .sf-policy,body.lp3 .lp-phone .site .info-r,body.lp3 .lp-phone .site .s-sec p,body.lp3 .lp-phone .site .prod-b i,
body.lp3 .lp-phone .site .prod-b small,body.lp3 .lp-phone .site .rev,body.lp3 .lp-phone .site .rev small,body.lp3 .lp-phone .site .s-notice p,
body.lp3 .lp-phone .site .s-notice i,body.lp3 .lp-phone .site .point-notice,body.lp3 .lp-phone .site .faq-i p,body.lp3 .lp-phone .site .faq-i summary,
body.lp3 .lp-phone .site small,body.lp3 .lp-phone .site i,body.lp3 .lp-phone .site em,body.lp3 .lp-phone .site .sf-demo,body.lp3 .lp-phone .site .lk>em{font-size:12px}
body.lp3 .lp-phone .site .gal{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;overflow:hidden}
body.lp3 .lp-phone .site .gal .gal-item{width:auto;min-width:0}
body.lp3 .lp-phone .site .rev-shots button{width:30%;height:auto;aspect-ratio:1}
body.lp3 .lp-phone .site .sf-top{align-items:center}
body.lp3 .lp-phone .site .sf-policy{display:inline-flex;align-items:center;min-height:44px}
body.lp3 .lp-phone .site .st{font-size:12px}
/* 한글 장문 스트레스(--long-text) — 긴 라벨이 와도 줄바꿈으로 버틴다. nowrap 금지 */
body.lp3 .lp-h{flex-wrap:wrap;row-gap:4px}
body.lp3 .lp-h nav{display:flex;flex-wrap:wrap;align-items:center;min-width:0;justify-content:flex-end;gap:0 2px}
body.lp3 .lp-h nav>a,body.lp3 .btn{white-space:normal;overflow-wrap:anywhere;height:auto;text-align:center}
body.lp3 .lp-h .lp-logo{min-width:0;max-width:100%}
body.lp3 .lp-h .brand-slogan{white-space:normal}
body.lp3 .lp-phone .site .sf-top{flex-wrap:wrap}
body.lp3 .lp-phone .site .cpn-b{white-space:normal;overflow-wrap:anywhere;height:auto}
.s-foot .sf-policy{white-space:normal;overflow-wrap:anywhere}
body.lp3 .lp-phone .site .cpn{flex-wrap:wrap}
body.lp3 .lp-phone .site .cpn-b{flex:0 1 auto;max-width:100%;min-width:44px}

/* ── 검증 스크립트(responsive-check) 기준 보정 — 터치 44px · 줄바꿈 허용 ── */
.s-foot .sf-top{align-items:center}
.s-foot .sf-policy{display:inline-flex;align-items:center;min-height:44px}
.site .slots :is(i,a){min-height:44px;display:grid;place-items:center;padding:8px 2px}
.site .cal :is(i,a){min-height:44px}
@media(max-width:360px){.site .cal{margin-left:calc(-1*var(--pad) + 2px);margin-right:calc(-1*var(--pad) + 2px);gap:0}}
.site .cpn b{overflow-wrap:anywhere}
body>.site .s-topbar .tb-name{white-space:normal;min-width:0;overflow-wrap:anywhere;line-height:1.25}
/* 위쪽 막대 링크 — 태블릿(터치)에서도 44px 높이 */
body>.site .s-topbar a{display:inline-flex;align-items:center;min-height:44px}
body>.site .s-topbar .tb-nav a{padding:0 2px;min-width:44px;justify-content:center}

/* ── 거래 화면(.fw · 주문 · 정책 · 견본 · 위저드) — 터치 44px · 줄바꿈 ── */
body .pol-tabs{flex-wrap:wrap;overflow:visible}
body .pol-tabs a{min-height:44px;display:inline-flex;align-items:center}
.fw label,.ordui label,.ffld label{display:flex;align-items:flex-end;min-height:44px;margin-bottom:2px}
.fw input:not([type=checkbox]):not([type=radio]),.fw select,.fw textarea,.fw button,.fw .btn,
.ordui input:not([type=checkbox]):not([type=radio]),.ordui select,.ordui button,.ordui .btn{min-height:44px}
.ordui .add-btn,.ordui .qty button,.fw .qty button{min-width:44px;min-height:44px}
.ordui .drawer-head button{min-height:44px;padding:0 10px}
.samples-tools .sel{flex-wrap:wrap;overflow:visible}
.samples-tools .sel a,.samples-intro a{min-height:44px;display:inline-flex;align-items:center}
.samples-intro small{font-size:12px}
.lp-ft a{min-height:44px;display:inline-flex;align-items:center}.brand-lockup{min-height:44px;align-items:center}
.wz-dark .wz-start-copy h1{line-height:1.45}
.wz-dark .fld label{display:flex;align-items:flex-end;min-height:44px}
.wz-dark a,.wz-dark .wz-sample-link,.wz-dark .wz-head-links a{display:inline-flex;align-items:center;min-height:44px}
.fw i,.site i{white-space:normal}
.quickrow a,.quickrow i{min-height:44px;display:inline-flex;align-items:center;justify-content:center}

/* 체크박스 · 라디오 — 터치 영역 44px, 보이는 상자는 22px (음수 여백으로 자리는 그대로) */
input[type=checkbox],input[type=radio]{appearance:none;-webkit-appearance:none;width:44px;height:44px;margin:-11px;padding:0;border:0;background:transparent;
  display:inline-grid;place-items:center;vertical-align:middle;cursor:pointer;flex:none}
input[type=checkbox]::before,input[type=radio]::before{content:"";width:22px;height:22px;border:2px solid #C5CBD6;border-radius:6px;background:#fff;box-sizing:border-box}
input[type=radio]::before{border-radius:50%}
input[type=checkbox]:checked::before{background:var(--brand,#F0522B) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12l5 5 9-10' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat;border-color:var(--brand,#F0522B)}
input[type=radio]:checked::before{border:7px solid var(--brand,#F0522B)}
input[type=checkbox]:focus-visible::before,input[type=radio]:focus-visible::before{outline:2px solid var(--brand,#F0522B);outline-offset:2px}
input[type=checkbox]:disabled::before,input[type=radio]:disabled::before{opacity:.45}
input{text-overflow:ellipsis}
/* 체크박스 · 라디오를 품은 라벨은 44px 높이로 — 상자가 라벨 밖으로 튀어나오지 않게 */
label:has(input[type=checkbox]),label:has(input[type=radio]){min-height:44px;display:inline-flex;align-items:center;gap:8px}
label input[type=checkbox],label input[type=radio]{margin-top:0;margin-bottom:0}
/* 장문 스트레스 — 위쪽 막대 메뉴와 쿠폰 버튼은 긴 라벨이 와도 줄바꿈으로 버틴다 */
body>.site .s-topbar{height:auto;min-height:64px;flex-wrap:wrap;padding-top:6px;padding-bottom:6px}
body>.site .s-topbar .tb-nav{flex-wrap:wrap;overflow:visible;min-width:0}
body>.site .s-topbar .tb-nav a,body>.site .s-topbar .tb-name,body>.site .s-topbar .tb-cta{white-space:normal;overflow-wrap:anywhere}
.site .cpn{flex-wrap:wrap}
.site .cpn-b{flex:0 1 auto;max-width:100%;white-space:normal;overflow-wrap:anywhere}
/* 장문 스트레스 — 기호 버튼(‹ ＋ − ☰ ▲▼)과 짧은 라벨 자리도 긴 글이 오면 늘어나며 줄바꿈한다 */
body .fh{flex-wrap:wrap;min-height:44px;height:auto}
body .fh b,body .fh span{white-space:normal;overflow-wrap:anywhere;min-width:0}
.ordui .add-btn,.ordui .qty-box button,.fw .qty button,.ordui .qty button{white-space:normal;overflow-wrap:anywhere;height:auto;min-height:44px;max-width:100%}
.ordui .qty-box{flex-wrap:wrap}
.samples-main .blk,.samples-main .go,.samples-main .pd,.samples-main .mg>*{overflow-wrap:anywhere;min-width:0}
.samples-main .go,.samples-main .blk a{white-space:normal}
.wz-dark h2,.wz-dark h3{line-height:1.4;overflow-wrap:anywhere;white-space:normal;min-width:0;flex-wrap:wrap;word-break:break-all}
body .pol-tabs a{max-width:100%;overflow-wrap:anywhere}
body .fh a{white-space:normal;overflow-wrap:anywhere;width:auto;min-width:44px;height:auto;min-height:44px;padding:0 6px}
html body.wz-dark h2,html body.wz-dark .card h2,html body.wz-dark h3{word-break:break-all;overflow-wrap:anywhere;min-width:0}


/* ══ 링크 팝업형(linkpop, 037) — 크림색 바탕 · 굵은 먹선 · 딱딱한 그림자 ══════════════ */
.site.lay-linkpop{background:#FBF3DE;color:#17150F;--r:14px}
.lay-linkpop .s-hero>.avatar{border:3px solid #17150F;border-radius:18px}
.lay-linkpop .s-hero>.avatar>img{border-radius:14px}
.lay-linkpop .s-hero .cat{display:inline-block;border:2px solid #17150F;background:#fff;color:#17150F;padding:3px 9px;border-radius:20px}
.lay-linkpop .s-hero h2{font-size:24px;color:#17150F}
.lay-linkpop .s-hero p{color:#4A443B}
.lay-linkpop .lk{background:#fff;color:#17150F;border:2.5px solid #17150F;border-radius:14px;box-shadow:4px 4px 0 #17150F}
.lay-linkpop .lk::before{display:none}
.lay-linkpop .lk>span{text-align:left}
.lay-linkpop .lk>em{opacity:1;color:#17150F;border:2px solid #17150F;border-radius:9px;width:30px;height:30px;display:grid;place-items:center;font-size:13px}
.lay-linkpop .lk:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 #17150F}
.lay-linkpop .lk-main{background:var(--ac);color:#fff}
.lay-linkpop .lk-main>em{background:#fff;color:#17150F}
.lay-linkpop .s-lbl{display:inline-block;color:#17150F;background:var(--acs);border:2px solid #17150F;padding:3px 8px;border-radius:20px}
.lay-linkpop .s-sec{background:#fff;border:2.5px solid #17150F;border-radius:14px;box-shadow:4px 4px 0 #17150F;margin-bottom:18px}
.lay-linkpop .prod-c{border:2px solid #17150F;border-radius:12px}
.lay-linkpop .rev{border-left:3px solid #17150F}
.lay-linkpop .gal i{border:2px solid #17150F;border-radius:10px}
.lay-linkpop .info-r{border-bottom:1px dashed #17150F}
.lay-linkpop .point-notice{background:#fff;border:2px solid #17150F;color:#17150F}
.lay-linkpop .actionbar a{border:2.5px solid #17150F;box-shadow:3px 3px 0 #17150F}
.lay-linkpop>.s-foot{background:#17150F;color:#D6CFC0}
.lay-linkpop>.s-foot a,.lay-linkpop>.s-foot .sf-top b{color:#fff}
.lay-linkpop>.s-foot .sf-top{border-bottom-color:rgba(255,255,255,.18)}
.lay-linkpop>.s-foot .sf-biz dt{color:rgba(255,255,255,.66);opacity:1}
.lay-linkpop>.s-foot .sf-biz dd{color:rgba(255,255,255,.92)}
.lay-linkpop>.s-foot .sf-demo{color:rgba(255,255,255,.72);border-top-color:rgba(255,255,255,.18)}
.site.lay-linkpop.shape-round .lk{border-radius:999px}
@media(min-width:768px){
 body>.site.lay-linkpop .s-topbar{background:rgba(251,243,222,.94);border-bottom:2.5px solid #17150F}
}

/* ══ 링크모음 — 태블릿 · PC 배치 (2026-09-07) ═══════════════════════════════════════
   좁은 화면 그대로를 키우기만 하면 가운데 좁은 띠 하나가 덩그러니 남는다(사장님 지적).
   768~1023: 한 줄이지만 머리를 가로 카드(사진 왼쪽 · 글 오른쪽)로, 버튼은 두 열(주 버튼은 한 줄 전체).
   1024~   : 두 칸 — 왼쪽에 프로필(붙어 따라옴) · 오른쪽에 버튼과 칸들. 위쪽 막대와 바닥은 전폭. */
@media(min-width:768px){
 body>.site.lay-linkfam>.s-hero{display:grid;grid-template-columns:120px minmax(0,1fr);grid-template-areas:"av cat" "av h2" "av p";
   column-gap:26px;align-items:center;text-align:left;padding:44px var(--pad) 22px}
 body>.site.lay-linkfam>.s-hero>.avatar{grid-area:av;margin:0}
 body>.site.lay-linkfam>.s-hero>.cat{grid-area:cat;justify-self:start}
 body>.site.lay-linkfam>.s-hero>h2{grid-area:h2;margin:8px 0 6px}
 body>.site.lay-linkfam>.s-hero>p{grid-area:p;margin:0;max-width:none}
 body>.site.lay-linkfam>.linkstack{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 body>.site.lay-linkfam>.linkstack>.lk-main{grid-column:1/-1}
 body>.site.lay-linkfam>.linkstack>.lk>span{text-align:left}
 body>.site.lay-linkfam>.linkstack>.lk::before{display:none}
}
@media(min-width:1024px){
 body>.site.lay-linkfam{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);column-gap:56px;align-items:start;
   max-width:1180px;padding-left:48px;padding-right:48px;padding-bottom:0}
 body>.site.lay-linkfam>*:not(.s-topbar){width:100%;max-width:none;margin-left:0;margin-right:0;grid-column:2;min-width:0}
 body>.site.lay-linkfam>.s-topbar{grid-column:1/-1;margin:0 -48px;width:auto}
 body>.site.lay-linkfam>.s-hero{grid-column:1;grid-row:2/span 60;position:sticky;top:84px;display:block;text-align:left;
   padding:44px 0 40px;margin:0}
 body>.site.lay-linkfam>.s-hero>.avatar{width:140px;height:140px;margin:0 0 22px}
 body>.site.lay-linkfam>.s-hero>.cat{justify-self:start}
 body>.site.lay-linkfam>.s-hero h2{font-size:34px;margin:12px 0 10px}
 body>.site.lay-linkfam>.s-hero p{max-width:none;margin:0;font-size:15px}
 body>.site.lay-linkfam>.linkstack{grid-template-columns:1fr;padding-top:44px;gap:12px}
 body>.site.lay-linkfam>.linkstack>.lk{max-width:none}
 body>.site.lay-linkfam>.s-notice{margin-top:44px}
 body>.site.lay-linkfam>.s-sec{margin-left:0;margin-right:0}
 body>.site.lay-linkfam>.point-notice{margin-left:0;margin-right:0}
 body>.site.lay-linkfam>.s-foot{grid-column:1/-1;margin:24px -48px 0;width:auto;padding-left:48px;padding-right:48px}
 body>.site.lay-linkphoto>.s-foot,body>.site.lay-linkpop>.s-foot{margin-top:24px}
}

/* 사진배경(linkphoto) — 어두운 바탕 위의 받는 방법 칸 · FAQ 질문이 팔레트 글자색(어두운 색)으로 나가 안 읽히던 것 */
.lay-linkphoto .svc div{background:rgba(255,255,255,.1)}
.lay-linkphoto .svc b,.lay-linkphoto .s-sec.faq .faq-i summary,.lay-linkphoto .s-sec.faq .faq-i[open] summary{color:#fff}
.lay-linkphoto .svc i{color:#FFD9C9}
.lay-linkphoto .s-sec.faq .faq-i{border-bottom-color:rgba(255,255,255,.2)}
.lay-linkphoto .s-sec.faq .faq-i summary:before{color:#FFD9C9}
.lay-linkphoto .s-sec.faq .faq-i p{color:rgba(255,255,255,.82)}
/* 쿠폰 상자 — 긴 이름 · 조건이 칸을 넘지 않게(장문 검사) */
.site .cpn-r b,.site .cpn-r i,.site .cpn-l b{overflow-wrap:anywhere;min-width:0;white-space:normal}
/* 쿠폰 상자 — 받기 버튼 라벨이 길어지면 글 칸을 누르지 말고 다음 줄로(장문 검사에서 글 칸이 5px 까지 눌렸다) */
.site .cpn-r{flex:1 1 140px}
.site .cpn-b{max-width:100%}
/* FAQ — 질문 · 답 색을 팔레트 글자색(어두운 색)으로 박아 두어 어두운 짜임새(film · 사진배경)에서 안 보였다.
   바탕색을 따라가게 inherit 로 바꾸고 답은 살짝 흐리게, 점선은 현재 글자색의 반투명으로 */
.site .s-sec.faq .faq-i summary{color:inherit}
.site .s-sec.faq .faq-i[open] summary{color:var(--ac)}
.site .s-sec.faq .faq-i p{color:inherit;opacity:.78}
.site .s-sec.faq .faq-i{border-bottom:1px dashed color-mix(in srgb,currentColor 28%,transparent)}
/* 카카오 버튼 — 브랜드 노랑 · 검은 글씨 · 말풍선 점 */
.fw .fbtn.kakao{background:#FEE500;color:#191919;gap:9px}
.fw .fbtn.kakao .kk{width:20px;height:18px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:#191919;position:relative;flex:none}
.fw .fbtn.kakao .kk::after{content:"";position:absolute;left:5px;bottom:-4px;border:5px solid transparent;border-top-color:#191919;border-left-color:#191919;transform:skewX(20deg)}
/* 쿠폰 상자(2026-09-08) — flex-wrap 으로는 받기 버튼이 금액 아래로 떨어져 깨져 보였다(사장님 화면).
   격자로: 좁을 땐 [금액 | 설명] 위 · 받기 버튼 한 줄 전체 아래, 480px 부터 [금액 | 설명 | 받기] 한 줄 */
.site .cpn{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 12px;align-items:center}
.site .cpn-l{align-self:center}
.site .cpn-r{min-width:0}
.site .cpn-b{grid-column:1/-1;width:100%;max-width:none;justify-content:center;margin:0}
@media(min-width:480px){
 .site .cpn{grid-template-columns:auto minmax(0,1fr) auto}
 .site .cpn-b{grid-column:auto;width:auto;max-width:40%}
}
/* 예약 달력 날짜 칸 — 장문 검사에서 글이 넘치면 줄바꿈(칸은 7열 고정) */
.site .cal .d{min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:break-all;height:auto;min-height:44px}
/* 예약 달력 날짜 칸 — 정사각 칸은 유지, 넘치는 글은 말줄임(장문 검사) */
.site .cal :is(i,a){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}

/* ══ 첫 화면 슬라이드(2026-09-08) — 왼쪽 설명 · 오른콝 썸네일, 3장 자동 넘김 ══ */
.lp3-slider{position:relative}
.lp3-slides{display:grid}
.lp3-slide{grid-area:1/1;display:grid;grid-template-columns:1fr;gap:28px;align-items:center;opacity:0;visibility:hidden;transition:opacity .45s ease,visibility 0s .45s}   /* 밀어 넣는 transform 은 상자 폭을 넘겨 잘림으로 잡힌다 — 페이드만 */
.lp3-slide.on{opacity:1;visibility:visible;transition:opacity .45s ease,visibility 0s}
.lp3-sl-copy{min-width:0}
.lp3-sl-copy h1,.lp3-sl-copy h2{font-size:clamp(30px,4.6vw,52px);line-height:1.15;letter-spacing:-.05em;margin:18px 0 14px;font-weight:900;color:#fff;overflow-wrap:anywhere}
.lp3-sl-copy h1 em,.lp3-sl-copy h2 em{font-style:normal;color:var(--brand,#F0522B)}
.lp3-sl-copy>p{font-size:15.5px;line-height:1.8;color:#AAB5C9;margin:0 0 18px;max-width:600px;word-break:keep-all}
.lp3-pts{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:10px}
.lp3-pts li{display:grid;gap:3px;padding:12px 14px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.04);min-width:0}
.lp3-pts b{font-size:14.5px;color:#fff;overflow-wrap:anywhere}
.lp3-pts span{font-size:13px;line-height:1.7;color:#AAB5C9;word-break:keep-all;overflow-wrap:anywhere}
.lp3-sl-thumb{min-width:0;display:flex;justify-content:center}
.lp3-sl-thumb img{display:block;max-width:100%;height:auto;border-radius:18px;box-shadow:0 30px 70px rgba(0,0,0,.45)}
.lp3-sl-thumb.ph img{width:min(300px,86%);border:8px solid #0B1120;border-radius:34px}
.lp3-sl-thumb.wide img{width:100%;max-width:640px;border:1px solid rgba(255,255,255,.1)}
.lp3-nav{display:flex;align-items:center;gap:10px;margin-top:28px;flex-wrap:wrap}
.lp3-arr{min-width:44px;min-height:44px;padding:0 12px;border-radius:22px;white-space:normal;overflow-wrap:anywhere;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;font-size:22px;line-height:1;cursor:pointer;flex:0 1 auto;max-width:100%}
.lp3-arr:hover{background:rgba(255,255,255,.08)}
.lp3-dots{display:flex;gap:6px;flex-wrap:wrap;min-width:0}
.lp3-dots button{min-height:44px;padding:0 14px;border-radius:22px;border:1px solid rgba(255,255,255,.14);background:transparent;color:#AAB5C9;font:700 13px inherit;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:7px}
.lp3-dots button span{font:800 12px var(--mono);letter-spacing:.06em;color:var(--brand,#F0522B)}
.lp3-dots button.on{background:#fff;color:var(--ink,#131A2E);border-color:#fff;position:relative;overflow:hidden}
/* 자동 넘김 타이머가 보이게 — 켜진 단추 아래에 6.5초 동안 차오르는 막대 */
.lp3-dots button.on::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--brand,#F0522B);border-radius:0 2px 2px 0}
.lp3-slider.run .lp3-dots button.on::after{animation:lp3prog 6.5s linear forwards}
@keyframes lp3prog{from{width:0}to{width:100%}}
@media(prefers-reduced-motion:reduce){.lp3-dots button.on::after{display:none}}
.lp3-hero .lp3-themes{margin-top:34px}
@media(min-width:900px){
 .lp3-slide{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:70px}   /* 아래 주제 구간(.lp3-theme-in)과 같은 격자 — 폰이 같은 자리에 놓인다(사장님: 아래쪽 기준) */
 .lp3-sl-copy>p{font-size:16.5px}
 .lp3-pts{grid-template-columns:1fr 1fr;gap:10px}
 .lp3-sl-thumb.ph img{width:min(340px,100%)}   /* 아래 구간 .lp-phone(318+테두리) 과 같은 폭 · 열 가운데 → 같은 x 자리 */
}
/* 첫 화면 슬라이드 보정 — 넓은 썸네일은 520px 까지만(위쪽 기준), 항목 제목은 흰색(공통 b 색 규칙에 덮였다) */
.lp3-sl-thumb.wide img{max-height:520px;object-fit:cover;object-position:top}
.lp3-hero .lp3-pts li b{color:#fff}
.lp3-hero .lp3-pts li{position:relative;padding-left:26px}
.lp3-hero .lp3-pts li::before{content:"✓";position:absolute;left:10px;top:11px;color:var(--brand,#F0522B);font-weight:900;font-size:13px}
/* 달력 날짜 칸: 정사각(aspect-ratio 1) + 최소 높이 44 가 만나면 좁은 미리보기(칸 34px)에서 폭이 44 로 늘어 옆 칸과 겹쳤다 — 높이만 44 로 두고 폭은 칸 폭을 따른다 */
.site .cal :is(i,a){aspect-ratio:auto;width:100%}
/* ── 소개 v4 (골목담아 메인페이지 홍보 메시지 정리안): 메시지 하나 · 버튼 하나 · 전화번호, 세 가지, 가격 한 줄, 업종 한 문장 ── */
.lp4-hero{background:var(--ink,#131A2E);color:#fff;padding:140px 0 72px;text-align:center}
.lp4-hero-in{max-width:760px}
.lp4-hero h1{font-size:clamp(34px,7vw,64px);line-height:1.12;letter-spacing:-.05em;margin:0 0 18px;font-weight:900;overflow-wrap:anywhere}
.lp4-lead{font-size:clamp(17px,2.6vw,22px);line-height:1.6;color:#C8D0DE;margin:0 0 30px;word-break:keep-all}
.lp4-cta{display:inline-flex;align-items:center;justify-content:center;min-height:64px;padding:0 34px;border-radius:18px;background:var(--brand,#F0522B);color:#fff;font-size:clamp(17px,2.4vw,21px);font-weight:900;text-decoration:none;max-width:100%;overflow-wrap:anywhere;text-align:center;box-shadow:0 14px 34px rgba(240,82,43,.35)}
.lp4-cta:hover{filter:brightness(1.06)}
.lp4-help{margin:26px auto 0;max-width:600px;font-size:15px;line-height:1.8;color:#AAB5C9;word-break:keep-all}
.lp4-tel{display:inline-flex;align-items:center;min-height:44px;padding:0 8px;color:#fff;font-weight:900;font-size:18px;text-decoration:none;letter-spacing:.02em}
.lp4-three{padding:56px 0 20px;background:#fff}
.lp4-pt{display:grid;gap:26px;align-items:center;padding:34px 0;border-bottom:1px solid #EEF1F6}
.lp4-pt:last-of-type{border-bottom:0}
.lp4-pt-copy{min-width:0}.lp4-pt-copy h2{font-size:clamp(24px,4vw,36px);line-height:1.2;letter-spacing:-.04em;margin:10px 0 12px;font-weight:900;overflow-wrap:anywhere}
.lp4-pt-copy p{font-size:16px;line-height:1.8;color:#4A5568;margin:0 0 10px;word-break:keep-all}.lp4-sub{color:#7A8495!important;font-size:14.5px!important}
.lp4-shots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}
.lp4-shot{display:block;min-width:0;text-decoration:none;color:#1C2433;border:1px solid #E4E8EE;border-radius:16px;overflow:hidden;background:#F6F7F9}
.lp4-shot img{display:block;width:100%;height:auto;aspect-ratio:390/560;object-fit:cover;object-position:top}
.lp4-shot span{display:block;padding:10px 12px;font-size:13px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lp4-visual{min-width:0;display:grid;justify-items:center;gap:10px}.lp4-note{font-size:12.5px;color:#8A94A5}
.lp4-owner{display:grid;gap:10px;min-width:0}.lp4-owner div{padding:16px 18px;border:1px solid #E4E8EE;border-radius:14px;background:#FAFBFD;display:grid;gap:3px;min-width:0}
.lp4-owner b{font-size:16px}.lp4-owner span{font-size:14px;color:#6B7688;line-height:1.6;overflow-wrap:anywhere}
.lp4-price{margin:34px 0 0;padding:20px 22px;border-radius:16px;background:#F3F5F9;font-size:16px;line-height:1.7;color:#1C2433;font-weight:700;text-align:center;word-break:keep-all}
.lp4-ind{padding:54px 0 70px;background:#F6F7F9}
.lp4-ind-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:12px;margin:22px 0 26px}
.lp4-ind-a{display:grid;gap:4px;min-height:56px;padding:16px 18px;border:1px solid #E4E8EE;border-radius:16px;background:#fff;text-decoration:none;color:#1C2433;min-width:0}
.lp4-ind-a b{font-size:16px}.lp4-ind-a span{font-size:14px;line-height:1.6;color:#5A6478;overflow-wrap:anywhere}
.lp4-ind-a:hover{border-color:var(--brand,#F0522B)}
.lp4-final-tel{margin:16px 0 0;font-size:15px;color:#AAB5C9}.lp4-final-tel a{color:#fff;font-weight:800;display:inline-flex;align-items:center;min-height:44px;padding:0 6px}
@media(min-width:800px){.lp4-pt{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}.lp4-pt.rev .lp4-pt-copy{order:2}.lp4-shots{grid-template-columns:repeat(4,minmax(0,1fr))}.lp4-owner{grid-template-columns:1fr}}
.lp4-visual .phone{width:100%;max-width:340px}
.lp4-visual .phone iframe,.lp4-visual .phone .scroll{display:block;width:100%;height:100%;border:0}

/* ── 소개 v4 · 비교(탭 둘) — /compare.php 를 메인 안으로 (2026-09-08) ── */
.lp4-cmp{padding:54px 0 60px;background:#fff;border-top:1px solid #EEF1F6}
.lp4-cmp-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}
.lp4-cmp-tabs button{min-height:44px;display:inline-flex;align-items:center;padding:0 16px;border:1px solid #E4E8EE;border-radius:12px;color:#344054;font:inherit;font-weight:700;font-size:14px;background:#fff;cursor:pointer;max-width:100%;overflow-wrap:anywhere}
.lp4-cmp-tabs button.on{background:var(--ink,#131A2E);color:#fff;border-color:var(--ink,#131A2E)}
.lp4-cmp-who{color:#5A6478;font-size:15px;margin:0 0 14px;line-height:1.7;word-break:keep-all;overflow-wrap:anywhere}
.lp4-cmp-t{display:grid;gap:10px}
.lp4-cmp-r{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:16px 18px;border:1px solid #E4E8EE;border-radius:16px;background:#F9FAFC;min-width:0}
.lp4-cmp-r b{font-size:14px;color:#8A94A5;font-weight:800;overflow-wrap:anywhere}
.lp4-cmp-r .a{color:#6B7688;font-size:14.5px;line-height:1.7;overflow-wrap:anywhere}
.lp4-cmp-r .b{font-size:15px;line-height:1.7;color:#1C2433;font-weight:700;overflow-wrap:anywhere}
.lp4-cmp-r .a::before{content:"타사 · ";color:#B0B8C6;font-weight:700}.lp4-cmp-r .b::before{content:"골목담아 · ";color:var(--brand,#F0522B)}
.lp4-cmp-head{display:none}
.lp4-cmp-note{margin:20px 0 0;font-size:13px;color:#8A94A5;line-height:1.7;overflow-wrap:anywhere}
@media(min-width:720px){
 .lp4-cmp-r{grid-template-columns:120px minmax(0,1fr) minmax(0,1fr);align-items:start}
 .lp4-cmp-r .a::before,.lp4-cmp-r .b::before{display:none}
 .lp4-cmp-head{display:grid;grid-template-columns:120px minmax(0,1fr) minmax(0,1fr);padding:0 18px 6px;font-size:13px;color:#8A94A5;font-weight:800}
}

/* 지도 서비스 버튼: 템플릿 색상과 관계없이 서비스별 색상 유지 */
.site .map-go{gap:10px;margin:12px 0 16px}
.site .map-go a.map-provider{box-sizing:border-box;flex:1 1 160px;gap:8px;min-height:48px;padding:12px 16px;border-radius:12px;font-size:14px;line-height:1.5;font-weight:700;box-shadow:none;transition:filter .15s}
.site .map-go a.map-provider img{display:block;flex:0 0 24px;width:24px;height:24px;object-fit:contain;border-radius:0;margin:0;box-shadow:none}
.site .map-go a.map-provider span{min-width:0;overflow-wrap:anywhere}
.site .map-go a.map-kakao{background:#FEE500;border-color:#FEE500;color:#191919}
.site .map-go a.map-naver{background:#03C75A;border-color:#03C75A;color:#062D18}
.site .map-go a.map-provider:hover{filter:brightness(.94)}
.site .map-go a.map-provider:focus-visible{outline:3px solid #3875DE;outline-offset:3px}
