/* 폰에서 항상 화면 폭에 맞게: 더블탭 확대·가로 넘침·글자 자동 확대 막기
   (아이폰 사파리는 1fr 칸을 안쪽 내용의 최소 폭까지 넓혀버려서, 모든 칸을 minmax(0,1fr) + min-width:0으로 고정) */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;touch-action:manipulation}
body{margin:0;touch-action:manipulation}
input,select,textarea{font-size:max(16px,1em)}
/* 쌉 브랜드 팝 블록 — 브랜드 룩으로 단일 테마 고정 */
:root{
  --sky:#9BD5E0; --paper:#EAF6F8; --butter:#F4EC92; --brown:#7F4E23;
  --ink:#3E2410; --red:#D83533; --cream:#FFF8E1; --teal:#22707F;
  --muted:#7a6552; --green:#2F8F5B;
  --disp:'Anton','Black Han Sans',Impact,sans-serif;
  --label:'Bebas Neue','Black Han Sans',Impact,sans-serif;
  --kr:'Noto Sans KR',-apple-system,'Apple SD Gothic Neo',sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
body{background:var(--paper);color:var(--ink);font-family:var(--kr);font-size:15px;line-height:1.5;padding-inline:16px;padding-block:0 48px}
button{font-family:inherit;color:inherit;cursor:pointer}
button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.wrap{max-width:1180px;margin:0 auto}

/* 상단 */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--paper);border-bottom:4px solid var(--ink);margin-inline:-16px;padding:12px 16px}
.top-in{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.brand{font-family:var(--disp);font-size:30px;line-height:1;letter-spacing:.01em;color:var(--butter);-webkit-text-stroke:2px var(--ink);text-shadow:3px 3px 0 var(--ink)}
.brand small{font-family:var(--label);font-size:18px;color:var(--ink);-webkit-text-stroke:0;text-shadow:none;letter-spacing:.08em;margin-left:6px}
.tabs{margin-left:auto;display:flex;gap:8px}
.tab{border:3px solid var(--ink);background:var(--cream);border-radius:999px;padding:6px 16px;font-weight:900;font-size:14px}
.tab[aria-pressed="true"]{background:var(--ink);color:var(--butter)}
.proto{margin:14px auto 0;max-width:1180px;background:var(--butter);border:3px solid var(--ink);border-radius:14px;padding:8px 14px;font-size:13px;font-weight:500}
.proto b{font-weight:900}

/* 공통 블록 */
.block{border:4px solid var(--ink);border-radius:22px;box-shadow:6px 6px 0 var(--ink);background:var(--cream)}
.pill{display:inline-flex;align-items:center;gap:6px;border:3px solid var(--ink);border-radius:999px;padding:2px 12px;font-family:var(--label);font-size:17px;letter-spacing:.06em;background:var(--butter)}
.btn{border:3px solid var(--ink);border-radius:14px;background:var(--butter);font-weight:900;padding:10px 16px;box-shadow:3px 3px 0 var(--ink);transition:transform .08s,box-shadow .08s}
.btn:active{transform:translate(3px,3px);box-shadow:0 0 0 var(--ink)}
.btn.red{background:var(--red);color:var(--cream)}
.btn.ink{background:var(--ink);color:var(--butter)}
.btn.sky{background:var(--sky)}
.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}

/* ===== 손님 화면 ===== */
.cust{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;margin-top:22px;align-items:start}
.hero{background:var(--sky);padding:22px 24px;display:flex;flex-wrap:wrap;gap:12px 24px;align-items:end;justify-content:space-between}
.hero h1{margin:0;font-family:var(--disp);font-size:clamp(34px,6vw,58px);line-height:.95;font-weight:400;letter-spacing:.01em}
.hero h1 em{font-style:normal;color:var(--red)}
.hero p{margin:6px 0 0;font-weight:500;max-width:36em}
.steps{display:flex;gap:6px;flex-wrap:wrap}
.steps span{background:var(--cream);border:3px solid var(--ink);border-radius:10px;padding:3px 10px;font-weight:900;font-size:13px}
.steps span b{color:var(--red);margin-right:4px}
.cat{margin-top:26px}
.cat-head{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}
.cat-head h2{margin:0;font-family:var(--disp);font-weight:400;font-size:30px;letter-spacing:.02em}
.cat-head span{font-size:13px;color:var(--muted);font-weight:500}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(210px,100%),1fr));gap:14px}
.item{min-width:0;overflow:hidden;text-align:left;border:3px solid var(--ink);border-radius:16px;background:var(--cream);padding:12px 14px;display:flex;flex-direction:column;gap:4px;transition:transform .1s,box-shadow .1s}
.item:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}
.item .pun{font-family:var(--label);font-size:15px;letter-spacing:.06em;color:var(--red)}
.item .nm{font-weight:900;font-size:16px;line-height:1.3}
.item .ds{font-size:12.5px;color:var(--muted);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.item .pr{margin-top:auto;padding-top:6px;display:flex;justify-content:space-between;align-items:center;font-family:var(--label);font-size:20px;letter-spacing:.04em}
.item .add{font-family:var(--kr);font-size:12px;font-weight:900;background:var(--butter);border:2px solid var(--ink);border-radius:999px;padding:1px 10px}
.item .ph{display:block;margin:-12px -14px 8px;aspect-ratio:1/1;border-bottom:3px solid var(--ink);border-radius:13px 13px 0 0;overflow:hidden;background:var(--ink)}
.item .ph img{width:100%;height:100%;object-fit:cover;display:block}
.item .ph{background:var(--sky)!important;aspect-ratio:4/5}
.item .ph img{object-fit:contain;padding:10px 0 0;filter:drop-shadow(4px 4px 0 rgba(62,36,16,.35))}
.sheet-ph{margin:-22px -22px 16px;height:220px;border-bottom:4px solid var(--ink);border-radius:18px 18px 0 0;overflow:hidden;background:var(--ink)}
.sheet-ph img{width:100%;height:100%;object-fit:cover;display:block}
.sheet-ph.cut{background:var(--sky)}
.sheet-ph.cut img{object-fit:contain;padding-top:12px}
.sheet{max-height:calc(100vh - 32px);overflow:auto}
.cat.shake .item{background:var(--butter)}
.cat.shake .item .add{background:var(--cream)}

/* 옵션 시트 */
.sheet-bg{position:fixed;inset:0;background:rgba(62,36,16,.45);display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}
.sheet{width:min(420px,100%);padding:22px}
.sheet h3{margin:0 0 4px;font-size:22px;font-weight:900}
.sheet .ds{white-space:pre-line;color:var(--muted);font-size:13.5px;margin:0 0 14px}
.opt-label{font-weight:900;font-size:13px;margin:12px 0 6px}
.seg{display:flex;gap:8px;flex-wrap:wrap}
.seg button{border:3px solid var(--ink);border-radius:12px;background:var(--cream);padding:6px 16px;font-weight:900}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--butter)}
.qty{display:inline-flex;align-items:center;border:3px solid var(--ink);border-radius:12px;overflow:hidden}
.qty button{border:0;background:var(--butter);width:38px;height:36px;font-size:20px;font-weight:900}
.qty span{min-width:40px;text-align:center;font-weight:900;font-variant-numeric:tabular-nums}
.sheet-foot{display:flex;gap:10px;margin-top:20px}
.sheet-foot .btn{flex:1}

/* 장바구니 */
.cart{position:sticky;top:calc(env(safe-area-inset-top,0px) + 86px);padding:18px}
.cart h2{margin:0 0 10px;font-family:var(--disp);font-weight:400;font-size:28px;letter-spacing:.02em}
.cart-empty{color:var(--muted);font-size:14px;padding:18px 0}
.line{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:9px 0;border-bottom:2px dashed rgba(62,36,16,.25)}
.line .n{font-weight:900;font-size:14px}
.line .o{font-size:12px;color:var(--muted)}
.line .p{font-variant-numeric:tabular-nums;font-weight:700;text-align:right}
.line .rm{grid-column:2;justify-self:end;border:0;background:none;font-size:12px;color:var(--red);font-weight:700;padding:0}
.total{display:flex;justify-content:space-between;align-items:baseline;margin:14px 0}
.total b{font-family:var(--disp);font-weight:400;font-size:30px;font-variant-numeric:tabular-nums}
.field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}
.field label{font-weight:900;font-size:13px}
.field input{border:3px solid var(--ink);border-radius:12px;padding:9px 12px;font:inherit;background:#fff}
.field small{color:var(--muted);font-size:12px}
.pay{width:100%;font-size:17px;padding:13px}
.pay-note{font-size:12px;color:var(--muted);text-align:center;margin-top:8px}

/* 주문 상태 */
.track{max-width:620px;margin:26px auto 0;display:flex;flex-direction:column;gap:18px}
.ticket{padding:22px 24px;background:var(--cream)}
.ticket-top{display:flex;justify-content:space-between;align-items:start;gap:10px}
.ticket .no{font-family:var(--disp);font-size:64px;line-height:.9;color:var(--red);text-shadow:3px 3px 0 var(--ink)}
.ticket .who{font-weight:900;font-size:18px}
.ticket ul{list-style:none;margin:14px 0 0;padding:12px 0 0;border-top:3px dashed rgba(62,36,16,.3);font-size:14px}
.ticket li{display:flex;justify-content:space-between;padding:2px 0}
.bar{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:18px}
.bar div{border:3px solid var(--ink);border-radius:10px;padding:6px 4px;text-align:center;font-size:12.5px;font-weight:900;background:#fff;color:var(--muted)}
.bar div.done{background:var(--sky);color:var(--ink)}
.bar div.now{background:var(--red);color:var(--cream)}
.go{padding:22px 24px;background:var(--butter)}
.go h2{margin:0;font-family:var(--disp);font-weight:400;font-size:34px;line-height:1}
.go p{margin:6px 0 14px;font-weight:500}
.go-btns{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.go-btns .btn{padding:14px 4px;font-size:16px}
.go-btns .btn small{display:block;font-size:11px;font-weight:700}
.eta-big{font-family:var(--disp);font-size:56px;line-height:1;font-variant-numeric:tabular-nums}
.ready{padding:26px 24px;background:var(--red);color:var(--cream);text-align:center}
.ready h2{margin:0;font-family:var(--disp);font-weight:400;font-size:54px;line-height:1;color:var(--butter);text-shadow:3px 3px 0 var(--ink)}
.ready p{margin:8px 0 0;font-weight:700}
.row-btns{display:flex;gap:10px;flex-wrap:wrap}

/* ===== 매장 현황판 ===== */
.board-head{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:22px}
.board-head h1{margin:0;font-family:var(--disp);font-weight:400;font-size:40px;line-height:1;letter-spacing:.01em}
.board-head .sp{flex:1}
.ctl{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-weight:700;font-size:13px}
.ctl select{border:3px solid var(--ink);border-radius:10px;padding:5px 8px;font:inherit;font-weight:900;background:var(--cream)}
.stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px;align-items:start}
.col{border:4px solid var(--ink);border-radius:20px;padding:12px;min-height:220px;display:flex;flex-direction:column;gap:10px}
.col.c1{background:var(--cream)} .col.c2{background:var(--butter)} .col.c3{background:var(--sky)} .col.c4{background:#F6D2C9}
.col h2{margin:0;display:flex;justify-content:space-between;align-items:center;font-family:var(--disp);font-weight:400;font-size:24px;letter-spacing:.02em}
.col h2 span{font-family:var(--kr);font-size:13px;font-weight:900;background:var(--ink);color:var(--butter);border-radius:999px;padding:1px 10px}
.col .hint{font-size:12px;color:var(--muted);font-weight:500;margin-top:-6px}
.empty{font-size:13px;color:var(--muted);text-align:center;padding:24px 0}
.card{background:#fff;border:3px solid var(--ink);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}
.card.hot{background:var(--red);color:var(--cream);animation:pulse 1.2s ease-in-out infinite}
.card.hot .items,.card.hot .meta{color:var(--cream)}
@keyframes pulse{50%{box-shadow:0 0 0 5px rgba(216,53,51,.35)}}
.card-top{display:flex;justify-content:space-between;align-items:baseline;gap:6px}
.card .no{font-family:var(--disp);font-size:30px;line-height:1}
.card .nm{font-weight:900;font-size:14px}
.card .items{font-size:13px;line-height:1.45}
.card .items b{font-weight:900}
.card .meta{font-size:12px;color:var(--muted);font-weight:500}
.cd{font-family:var(--disp);font-size:26px;font-variant-numeric:tabular-nums;line-height:1}
.tag{font-size:11.5px;font-weight:900;border:2px solid var(--ink);border-radius:999px;padding:0 8px;background:var(--butter);color:var(--ink);align-self:flex-start}
.tag.arr{background:var(--green);color:#fff}
.card .btn{padding:7px 10px;font-size:13.5px;box-shadow:2px 2px 0 var(--ink)}
.card .row-btns{gap:6px}
.card .row-btns .btn{flex:1}
.link-btn{border:0;background:none;padding:0;font-size:12px;font-weight:700;text-decoration:underline;color:var(--muted)}
.confirm{display:flex;gap:6px;align-items:center;font-size:12.5px;font-weight:700}
.toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 20px);transform:translateX(-50%);background:var(--ink);color:var(--butter);border-radius:999px;padding:10px 18px;font-weight:900;z-index:60;max-width:calc(100% - 32px)}
.offline{margin-top:14px;border:3px solid var(--red);border-radius:14px;background:#fff;padding:10px 14px;font-weight:700;color:var(--red)}


/* ===== 리뷰 ===== */
.stars-mini{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:900;color:var(--ink)}
.stars-mini i{font-style:normal}
.item .rv{font-size:13px}
.sheet-rv{margin-top:16px;border-top:3px dashed rgba(62,36,16,.3);padding-top:12px}
.sheet-rv h4{margin:0 0 8px;font-size:16px;font-weight:900;display:flex;justify-content:space-between;align-items:baseline}
.rv-one{padding:8px 0;border-bottom:2px dotted rgba(62,36,16,.2);font-size:14px}
.rv-one:last-child{border-bottom:0}
.rv-one .h{display:flex;justify-content:space-between;gap:8px;font-weight:900}
.rv-one .tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}
.rv-one .tags span{font-size:12px;font-weight:700;background:var(--butter);border:2px solid var(--ink);border-radius:999px;padding:0 8px}
.rv-one p{margin:4px 0 0;color:var(--ink)}
.review{padding:22px 24px;background:var(--cream)}
.review h2{margin:0;font-family:var(--disp);font-weight:400;font-size:40px;line-height:1}
.review > p{margin:6px 0 16px;font-weight:500}
.rv-item{border-top:3px dashed rgba(62,36,16,.3);padding:16px 0}
.rv-item:first-of-type{border-top:0;padding-top:4px}
.rv-item .nm{font-size:22px;font-weight:900;margin-bottom:10px}
.rate{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.rate button{min-height:104px;border:4px solid var(--ink);border-radius:18px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px 2px;transition:transform .1s}
.rate button .e{font-size:44px;line-height:1;filter:grayscale(.35);opacity:.8}
.rate button .w{font-size:13px;font-weight:900;color:var(--muted);line-height:1.1;text-align:center;word-break:keep-all}
.rate button.on{background:var(--butter);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}
.rate button.on .e{filter:none;opacity:1;transform:scale(1.15)}
.rate button.on .w{color:var(--ink)}
.stars-mini i{font-size:1.15em}
.tagpick{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}
.tagpick button{min-height:64px;border:4px solid var(--ink);border-radius:16px;background:#fff;font-size:18px;font-weight:900}
.tagpick button[aria-pressed="true"]{background:var(--ink);color:var(--butter)}
.rv-text{width:100%;margin-top:12px;min-height:64px;border:4px solid var(--ink);border-radius:16px;padding:12px;font:inherit;font-size:18px;resize:vertical;background:#fff}
.rv-send{width:100%;min-height:88px;font-size:24px;margin-top:14px;border-width:4px;border-radius:20px}
.rv-done{font-size:18px;font-weight:900;padding:10px 0}
.rv-board{margin-top:22px}
.rv-board h2{margin:0 0 10px;font-family:var(--disp);font-weight:400;font-size:28px}
.rv-board .rv-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:12px}
.rv-board .rv-card{background:#fff;border:3px solid var(--ink);border-radius:14px;padding:10px 12px;font-size:14px}
.rv-board .rv-card.hid{opacity:.5}
.rv-board .rv-card .h{display:flex;justify-content:space-between;gap:8px;font-weight:900}

/* ===== 손님 안내 문구 ===== */
.msg{padding:26px 24px;text-align:center}
.msg.cream{background:var(--cream)} .msg.sky{background:var(--sky)} .msg.butter{background:var(--butter)}
.msg.red{background:var(--red);color:var(--cream)}
.msg-big{font-family:'Black Han Sans',var(--kr);font-size:clamp(30px,7vw,44px);line-height:1.15;word-break:keep-all;padding-top:4px}
.msg.red .msg-big{color:var(--butter);text-shadow:3px 3px 0 var(--ink)}
.msg-sub{margin-top:8px;font-size:18px;font-weight:700;word-break:keep-all;white-space:pre-line;line-height:1.55}
.msg.butter .msg-big::after{content:"";display:inline-block;width:.9em;text-align:left;animation:dots 1.4s steps(4) infinite}
@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}
.log{list-style:none;margin:12px 0 0;padding:10px 0 0;border-top:3px dashed rgba(62,36,16,.3);font-size:13.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.log li{display:flex;justify-content:space-between;padding:1px 0}
.log li:last-child{color:var(--ink);font-weight:900}

/* ===== 현황판 큰 버튼: 매장 아이패드, 젖은 손·바쁜 손 기준 ===== */
.board-head h1{font-size:46px}
.ctl{font-size:16px;gap:12px}
.ctl select{min-height:56px;font-size:18px;border-width:4px;border-radius:14px;padding:6px 12px}
.ctl .btn{min-height:56px;font-size:18px;border-width:4px}
.stats .pill{font-size:20px;padding:4px 14px}
.stats .link-btn,.stats .confirm .btn{min-height:48px;font-size:16px}
.stats .link-btn{border:3px solid var(--ink);border-radius:12px;background:var(--cream);padding:6px 14px;text-decoration:none;color:var(--ink);font-weight:900}
.col{padding:14px;gap:14px}
.col h2{font-size:28px}
.col h2 span{font-size:16px;padding:2px 12px}
.col .hint{font-size:13px}
.card{padding:12px 14px;gap:10px;border-width:4px;border-radius:16px}
.card .no{font-size:38px}
.card .nm{font-size:17px}
.card .items{font-size:16px;line-height:1.5}
.card .meta{font-size:14px}
.cd{font-size:32px}
.tag{font-size:14px;padding:2px 10px;border-width:3px}
.card .btn{width:100%;min-height:72px;font-size:21px;border-width:4px;border-radius:16px;box-shadow:3px 3px 0 var(--ink)}
.card .btn.sub{min-height:56px;font-size:17px;background:var(--cream)}
/* 빨간(급한) 카드 안에서도 버튼 글자는 항상 진하게 — 카드 글자색(크림) 상속 금지 */
.card .btn{color:var(--ink)}
.card .btn.red{color:var(--cream)}
.card .btn.ink{color:var(--butter)}
.card.hot .btn.sub{background:#fff}
.card .row-btns{gap:10px}
.rv-board .rv-card .link-btn{margin-top:8px;min-height:44px;width:100%;border:3px solid var(--ink);border-radius:12px;background:var(--cream);text-decoration:none;color:var(--ink);font-size:15px;font-weight:900}

/* ===== 기다리는 동안 ===== */
.wait-fun{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.wait-fun .wf-t{grid-column:1/-1;font-family:'Black Han Sans',var(--kr);font-size:24px}
.wf{min-height:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-decoration:none;color:var(--ink);font-family:'Black Han Sans',var(--kr);font-weight:400;font-size:24px;border-width:4px;border-radius:20px;text-align:center;word-break:keep-all}
.wf small{font-family:var(--label);font-size:17px;letter-spacing:.06em}
.wf.apparel{background:var(--cream)}
.wf.insta{background:var(--butter)}
.wait-fun .wf-note{grid-column:1/-1;font-size:13px;color:var(--muted);text-align:center;font-weight:700}
@media (max-width:420px){.wait-fun{grid-template-columns:1fr}}

/* ===== 방송 목소리 설정 ===== */
.vpanel{margin-top:16px;padding:18px 20px;background:var(--cream);display:grid;gap:14px}
.vp-h{display:flex;flex-direction:column;gap:4px}
.vp-h b{font-size:22px}
.vp-h span{font-size:14px;color:var(--muted);font-weight:500}
.vp-row{display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:center}
.vp-row label{font-weight:900;font-size:17px}
.vp-row select{min-height:56px;font:inherit;font-size:18px;font-weight:900;border:4px solid var(--ink);border-radius:14px;padding:0 12px;background:#fff}
.vp-row input[type=range]{width:100%;height:44px;accent-color:var(--red)}
.vp-btns{display:flex;gap:12px;flex-wrap:wrap}
.vp-btns .btn{flex:1;min-height:64px;font-size:19px;border-width:4px}
@media (max-width:560px){.vp-row{grid-template-columns:1fr}}

/* ===== 새 주문 배너 ===== */
.flash{margin-top:14px;border:4px solid var(--ink);border-radius:18px;background:var(--red);color:var(--butter);font-family:'Black Han Sans',var(--kr);font-size:clamp(22px,4vw,34px);padding:16px 20px;text-align:center;box-shadow:6px 6px 0 var(--ink);animation:pulse 1s ease-in-out infinite}
.flash b{font-weight:400;color:var(--cream);margin-left:8px}

/* ===== 맛있게 강조 ===== */
.yum{font-style:normal;color:var(--red);background:linear-gradient(transparent 58%, var(--butter) 58%);padding:0 .08em}
.msg.red .yum,.myorder .yum{color:var(--butter);background:linear-gradient(transparent 60%, rgba(62,36,16,.45) 60%)}
.msg.butter .yum{background:linear-gradient(transparent 58%, #fff 58%)}

/* ===== 오는 중 칸 나누기 ===== */
.sub-h{display:flex;justify-content:space-between;align-items:center;font-family:'Black Han Sans',var(--kr);font-size:19px;border-top:3px dashed rgba(62,36,16,.35);padding-top:10px}
.sub-h.here-h{border-top:0;padding-top:0}
.sub-h span{font-family:var(--kr);font-size:14px;font-weight:900;background:var(--ink);color:var(--butter);border-radius:999px;padding:1px 10px}
.empty.sm{padding:8px 0}

/* ===== 리뷰 사진 ===== */
.rv-photo-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:72px;margin-top:12px;font-size:20px;border-width:4px;border-radius:16px;background:#fff;cursor:pointer}
.rv-photo-btn small{font-size:14px;color:var(--muted)}
.rv-photo-prev{margin-top:12px;display:grid;gap:10px}
.rv-photo-prev img{width:100%;max-height:320px;object-fit:cover;border:4px solid var(--ink);border-radius:16px}
.rv-photo-prev .btn{min-height:56px;font-size:17px;background:#fff}
.rv-img{display:block;width:100%;max-width:280px;aspect-ratio:1/1;object-fit:cover;margin-top:8px;border:3px solid var(--ink);border-radius:12px;background:var(--paper)}
.rv-img.ph-wait{display:flex;align-items:center;justify-content:center;font-size:28px;color:var(--muted)}

/* ===== 헬멧 모드 ===== */
.track-top{display:flex;gap:12px;flex-wrap:wrap}
.track-top .back{align-self:auto}
.helmet{flex:1;min-height:64px;font-size:19px;border-width:4px;border-radius:16px;background:#fff;display:flex;align-items:center;justify-content:center;gap:10px}
.helmet b{font-family:var(--label);font-size:20px;letter-spacing:.06em;border:3px solid var(--ink);border-radius:999px;padding:0 10px;background:var(--paper)}
.helmet.on{background:var(--ink);color:var(--butter)}
.helmet.on b{background:var(--butter);color:var(--ink)}
.helmet-note{border:3px dashed var(--ink);border-radius:14px;padding:10px 14px;font-weight:700;font-size:14px;background:var(--cream)}

/* ===== 라이딩 모드 동의 창 ===== */
.consent{padding:22px 24px;background:var(--cream);display:flex;flex-direction:column;gap:12px}
.consent h3{margin:0;font-family:'Black Han Sans',var(--kr);font-weight:400;font-size:30px}
.consent p{margin:0;font-size:18px;line-height:1.5;word-break:keep-all}
.consent ul{margin:0;padding-left:20px;font-size:15px;line-height:1.6;word-break:keep-all}
.cs-proto{border:3px dashed var(--red);border-radius:12px;padding:8px 12px;font-size:13px;font-weight:700;color:var(--red);background:#fff}
.cs-btns{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cs-btns .btn{min-height:88px;font-size:21px;border-width:4px;border-radius:18px}
.cs-x{align-self:center;font-size:15px}
.tag.loc{background:var(--sky);color:var(--ink)}
@media (max-width:420px){.cs-btns{grid-template-columns:1fr}}

/* ===== 도착 시간 직접 넣기 ===== */
.eta-manual{margin-top:16px;border-top:3px dashed rgba(62,36,16,.35);padding-top:14px;display:flex;flex-direction:column;gap:8px}
.eta-manual label{font-family:'Black Han Sans',var(--kr);font-size:22px}
.eta-manual label small{font-family:var(--kr);font-size:14px;font-weight:700;color:var(--muted);margin-left:6px}
.eta-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.eta-in{min-height:84px;font:inherit;font-family:var(--disp);font-size:40px;text-align:center;border:4px solid var(--ink);border-radius:18px;background:#fff;color:var(--ink);padding:0 8px;width:100%}
.eta-row .btn{min-height:84px;font-size:21px;border-width:4px;border-radius:18px}
@media (max-width:420px){.eta-row{grid-template-columns:1fr}}

/* ===== 휴무일 ===== */
.closed{max-width:760px;margin:26px auto 0;display:flex;flex-direction:column;gap:18px}
.closed-hero{background:var(--ink);color:var(--cream);padding:28px 26px;text-align:center}
.closed-hero .pill{color:var(--ink)}
.closed-hero h1{margin:12px 0 0;font-family:'Black Han Sans',var(--kr);font-weight:400;font-size:clamp(38px,8vw,60px);line-height:1.1}
.closed-hero h1 em{font-style:normal;color:var(--butter);text-shadow:4px 4px 0 var(--red)}
.closed-hero p{margin:14px 0 0;font-size:18px;line-height:1.6;word-break:keep-all}
.closed-hero p b{color:var(--butter)}
.closed-sub{font-family:'Black Han Sans',var(--kr);font-size:26px;text-align:center}
.closed-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.closed-card{padding:20px 20px 22px;display:flex;flex-direction:column;gap:8px}
.closed-card.market{background:var(--sky)}
.closed-card.xzone{background:var(--butter)}
.closed-card .pill{align-self:flex-start;background:var(--red);color:var(--cream)}
.closed-card h2{margin:4px 0 0;font-family:var(--disp);font-weight:400;font-size:36px;letter-spacing:.02em;line-height:1}
.closed-card .kr{margin:0;font-size:18px;font-weight:700}
.closed-card .kr b{color:var(--red)}
.closed-card ul{margin:4px 0 0;padding-left:20px;font-size:16px;line-height:1.7;word-break:keep-all}
.closed-map{display:flex;align-items:center;justify-content:center;min-height:80px;font-size:21px;border-width:4px;border-radius:20px;text-decoration:none;color:var(--ink);background:var(--cream)}
#preview-closed-off{min-height:56px}
.proto .link-btn{margin-left:6px;font-size:13px;color:var(--ink)}
@media (max-width:560px){.closed-grid{grid-template-columns:1fr}}

/* ===== 라이더 모드: 헬멧·장갑·터치펜 기준 큰 터치 영역 (최소 64px, 간격 12px+) ===== */
.grid{grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr));gap:16px}
.item{padding:14px 16px 16px;gap:6px}
.item .ph{margin:-14px -16px 10px}
.item .nm{font-size:20px}
.item .pr{font-size:24px;padding-top:10px}
.item .add{font-size:17px;padding:8px 16px;border-width:3px;border-radius:12px;background:var(--red);color:var(--cream)}
.cat.shake .item .add{background:var(--red);color:var(--cream)}
.sheet{width:min(520px,100%);padding:24px}
.sheet h3{font-size:28px}
.opt-label{font-size:16px;margin:18px 0 8px}
.seg{gap:12px}
.seg button{flex:1;min-height:72px;font-size:24px;border-width:4px;border-radius:16px}
.qty{border-width:4px;border-radius:16px}
.qty button{width:76px;height:72px;font-size:34px}
.qty span{min-width:72px;font-size:30px}
.sheet-foot{gap:12px;margin-top:24px}
.sheet-foot .btn{min-height:80px;font-size:22px;border-width:4px;border-radius:18px}
.sheet-foot #sheet-x{flex:0 0 30%}
.line{padding:12px 0;align-items:center}
.line .n{font-size:17px}
.lq{display:flex;gap:10px;grid-column:1/-1;margin-top:6px}
.lq button{flex:1;min-height:56px;border:3px solid var(--ink);border-radius:14px;background:var(--cream);font-size:18px;font-weight:900}
.lq button.minus{background:#fff}
.field label{font-size:16px}
.field input{min-height:64px;font-size:22px;border-width:4px;border-radius:16px}
.pay{min-height:88px;font-size:24px!important;border-width:4px!important;border-radius:20px!important}
.again{width:100%;min-height:80px;font-size:20px;margin-top:14px;border-width:4px;border-radius:18px}
.again{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 18px}
.again .ag-t{font-size:16px;font-weight:900}
.again .ag-n{color:var(--red);font-family:'Black Han Sans',var(--kr);font-weight:400;font-size:clamp(24px,5vw,32px);line-height:1.2;word-break:keep-all;text-align:center}
.go h2{font-size:40px}
.go-btns{grid-template-columns:repeat(2,1fr);gap:14px}
.here{width:100%;min-height:110px;margin-bottom:14px;font-family:'Black Han Sans',var(--kr);font-weight:400;font-size:30px;border-width:4px;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.here small{font-family:var(--kr);font-size:15px;font-weight:900}
.go-btns .btn{min-height:110px;font-size:40px;font-family:var(--disp);font-weight:400;border-width:4px;border-radius:20px}
.go-btns .btn small{font-family:var(--kr);font-size:15px;font-weight:900}
.track .row-btns{gap:14px}
.track .row-btns .btn{flex:1;min-height:96px;font-size:26px;border-width:4px;border-radius:20px}
.ready .btn{min-height:96px;width:100%;font-size:26px}
.back{align-self:flex-start;min-height:64px;padding:0 24px;font-size:20px;border-width:4px;border-radius:16px;background:var(--cream)}
.myorder{width:100%;min-height:96px;margin-top:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-width:4px;border-radius:20px;font-size:15px}
.myorder b{font-family:'Black Han Sans',var(--kr);font-weight:400;font-size:clamp(22px,5vw,30px);color:var(--butter)}
/* 모바일: 화면 아래 고정 결제바 — 스크롤 없이 바로 결제 */
.paybar{display:none}
@media (max-width:980px){
  .paybar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;gap:12px;align-items:center;background:var(--ink);padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px))}
  .paybar .sum{color:var(--butter);font-weight:900;font-size:18px;line-height:1.2}
  .paybar .sum{max-width:44%;min-width:0}
  .paybar .sum .one{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .paybar .sum b{display:block;font-family:var(--disp);font-weight:400;font-size:30px;color:#fff}
  .paybar .btn{flex:1;min-height:76px;font-size:22px;border-width:4px;border-color:var(--butter);border-radius:18px;background:var(--butter);color:var(--ink)}
  .paybar{transition:transform .2s ease}
  .paybar.away{transform:translateY(110%)}
  body.has-paybar{padding-bottom:120px}
}
@media (max-width:980px){
  .cust{grid-template-columns:1fr}
  .cart{position:static}
  .cols{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .rate{gap:6px}
  .rate button{min-height:96px}
  .rate button .e{font-size:36px}
  .rate button .w{font-size:11.5px}
  .cols{grid-template-columns:1fr}
  .tabs{margin-left:0;width:100%}
  .tab{flex:1}
  .ticket .no{font-size:52px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ===== 실제 버전 추가: 직원 로그인 · 결제창 · 취소 ===== */
.login{max-width:420px;margin:40px auto 0;padding:26px;display:flex;flex-direction:column;gap:10px}
.login h1{margin:0;font-family:var(--disp);font-weight:400;font-size:40px}
.login p{margin:0 0 6px;font-weight:700;color:var(--muted)}
.login label{font-weight:900;font-size:15px}
.login input{min-height:60px;font:inherit;font-size:20px;border:4px solid var(--ink);border-radius:16px;padding:0 14px;background:#fff}
.login .btn{min-height:72px;font-size:22px;margin-top:8px;border-width:4px;border-radius:18px}
.login-err{border:3px solid var(--red);border-radius:12px;padding:10px 12px;color:var(--red);font-weight:700;background:#fff}
.paysheet{width:min(560px,100%)}
.paysheet #payment-method,.paysheet #agreement{background:#fff;border-radius:14px;margin-top:8px}
.cancel-link{align-self:flex-end;margin-top:2px}
.card.hot .cancel-link{color:var(--cream)}
.cancel-ask{border:3px dashed var(--red);border-radius:12px;padding:10px;background:#fff;color:var(--ink);font-weight:900;font-size:15px;display:flex;flex-direction:column;gap:8px}
.login-note{font-size:13px;color:var(--muted);font-weight:500;line-height:1.5}
.login-note b{color:var(--ink)}
.insta-fb{position:fixed;left:16px;right:16px;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);z-index:70;display:flex;gap:10px;align-items:center;background:var(--ink);color:var(--butter);border-radius:18px;padding:12px 14px;font-weight:900;box-shadow:4px 4px 0 rgba(0,0,0,.25)}
.insta-fb span{flex:1}
.insta-fb .btn{min-height:52px;padding:0 16px;font-size:16px;text-decoration:none;color:var(--ink)}
.home-btn{width:100%;min-height:88px;font-size:24px;border-width:4px;border-radius:20px}

/* ===== 대문 (쌉카페 사진) ===== */
.gate{max-width:560px;margin:0 auto;padding-block:18px 8px;display:flex;flex-direction:column;gap:16px}
.gate-photo{position:relative;margin:0;border:4px solid var(--ink);border-radius:24px;overflow:hidden;box-shadow:6px 6px 0 var(--ink);aspect-ratio:1/1;background:#0d0a08}
.gate-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 42%;display:block}
.gate-stamp{position:absolute;right:14px;bottom:14px;transform:rotate(-8deg);background:var(--red);color:var(--butter);border:3px solid var(--ink);border-radius:14px;padding:8px 12px 6px;font-family:var(--disp);font-size:22px;line-height:.95;letter-spacing:.04em;text-align:center;box-shadow:3px 3px 0 var(--ink)}
.gate-text{text-align:left;padding-inline:4px}
.gate-hi{font-family:'Black Han Sans',var(--kr);font-size:clamp(44px,12vw,64px);line-height:1.05}
.gate-name{font-family:'Black Han Sans',var(--kr);font-size:clamp(28px,7.6vw,40px);line-height:1.15;color:var(--red)}
.gate-sub{margin:10px 0 0;font-size:17px;font-weight:500;line-height:1.6;color:var(--ink);word-break:keep-all}
.gate-go{width:100%;min-height:92px;font-size:26px;border-width:4px;border-radius:22px}
.gate-look{width:100%;min-height:64px;font-size:19px;border-width:4px;border-radius:18px}
.gate-warn{border:3px dashed var(--red);border-radius:14px;background:#fff;padding:10px 12px;font-weight:900;color:var(--red);line-height:1.5}
.gate-hours{align-self:center;display:flex;gap:10px;align-items:center;font-size:15px;font-weight:700;color:var(--muted)}
.gate-hours span{font-family:var(--label);font-size:16px;letter-spacing:.08em;color:var(--ink);border:2px solid var(--ink);border-radius:999px;padding:1px 10px;background:var(--butter)}

/* ===== 아이폰 사파리 가로 넘침 방지 ===== */
.wrap,#app,.cust,.cust>*,.cat,.grid,.hero,.hero>*,.track,.track>*,.gate,.cols,.col{min-width:0;max-width:100%}
@media (max-width:980px){
  .cust{grid-template-columns:minmax(0,1fr)}
  .cols{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .grid{grid-template-columns:minmax(0,1fr)}
  .cols{grid-template-columns:minmax(0,1fr)}
  .hero{flex-direction:column;align-items:flex-start}
}

.booting{padding:80px 0;text-align:center;font-weight:900;color:var(--muted)}

/* 길 안내 팝업 */
.route-bg{z-index:60}
.route{width:min(440px,100%);text-align:center;display:flex;flex-direction:column;gap:12px;padding:26px 22px}
.route-ico{font-size:52px;line-height:1}
.route h3{margin:0;font-family:'Black Han Sans',var(--kr);font-weight:400;font-size:clamp(24px,6.4vw,30px);line-height:1.3}
.route p{margin:0;font-size:16px;font-weight:500;color:var(--muted);word-break:keep-all}
.route-yes{min-height:88px;font-size:22px;border-width:4px;border-radius:20px}
.route-no{min-height:64px;font-size:18px;border-width:4px;border-radius:18px;background:#fff}

/* ===== 끼워넣기 교정: SSUPP ✓ ORDER — 빨간 펜 손글씨 체크가 두 단어 틈에 박히고, 긴 획 끝에서 "pickup"이 이어 써짐 =====
   체크 SVG(viewBox 26x44)의 꺾이는 점 = (8,41), 긴 획 끝 = (25,1). 크기는 전부 em(글자 크기 기준)이라 헤더/대문 공용 비율. */
.chk{display:block;position:absolute;fill:var(--red);overflow:visible;pointer-events:none}
.ins-word{position:absolute;display:block;font-style:normal;line-height:1;color:var(--red);white-space:nowrap;transform-origin:0 100%;pointer-events:none}

/* 헤더 (index / board 공용) */
.top{padding-top:10px}
.brand-ins{display:inline-flex;align-items:flex-end;-webkit-text-stroke:0;text-shadow:none;color:inherit;padding-top:24px}
.brand-ins .b-main{font-family:var(--disp);font-size:30px;line-height:1;color:var(--butter);-webkit-text-stroke:2px var(--ink);text-shadow:3px 3px 0 var(--ink);letter-spacing:.01em}
.brand-ins .b-ins{position:relative;flex:none;font-size:30px;width:.5em;height:1em;margin:0 .02em}
.brand-ins .b-ins .chk{height:1.3em;width:auto;left:.02em;top:-.26em}
.brand-ins .b-ins i{left:50%;bottom:calc(100% + .22em);font-family:'Yellowtail',cursive;font-size:.74em;transform:translateX(-50%) rotate(-6deg);transform-origin:50% 100%}

/* 대문: 쌉 ✓ 오더입니다. */
.gate-name{padding-top:.8em}
.k-ins{position:relative;display:inline-block;width:.5em;height:1em;vertical-align:baseline}
.k-ins .chk{height:1.3em;width:auto;left:.02em;top:-.36em}
.k-ins i{left:.78em;bottom:calc(100% - .16em);font-family:'Nanum Pen Script',cursive;font-size:1.2em;-webkit-text-stroke:.025em var(--red);transform:rotate(-6deg)}
/* 체크 긴 획을 위로 더 올림 (꺾이는 점은 그대로, 위로만 늘림) + 손글씨도 같이 올림 */
.brand-ins .b-ins .chk,.k-ins .chk{transform:scaleY(1.35);transform-origin:30% 96%}
.brand-ins .b-ins i{bottom:calc(100% + .5em)}
.k-ins i{bottom:calc(100% + .12em)}
.brand-ins{padding-top:34px}
.unlock-bar{margin-top:14px;border:4px solid var(--ink);border-radius:18px;background:var(--butter);padding:14px 18px;font-size:19px;font-weight:700;text-align:center;box-shadow:4px 4px 0 var(--ink);animation:pulse 1.4s ease-in-out infinite}
.unlock-bar b{color:var(--red)}

/* ===== 메뉴 검색 · 랜덤 ===== */
.menu-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-top:22px;position:sticky;top:calc(env(safe-area-inset-top,0px) + 86px);z-index:15;background:var(--paper);padding-block:8px}
.search-box{display:flex;align-items:center;gap:8px;border:4px solid var(--ink);border-radius:18px;background:#fff;padding:0 12px;min-height:64px;box-shadow:3px 3px 0 var(--ink)}
.search-box span{font-size:22px}
.search-box input{flex:1;min-width:0;border:0;outline:none;font:inherit;font-size:20px;font-weight:700;background:transparent;color:var(--ink)}
.search-box input::-webkit-search-cancel-button{display:none}
.q-x{border:0;background:var(--paper);border-radius:999px;width:40px;height:40px;font-size:18px;font-weight:900}
.dice{min-height:64px;padding:0 18px;font-size:19px;border-width:4px;border-radius:18px;white-space:nowrap}
.search-empty{text-align:center;padding:40px 0;font-size:20px;font-weight:900;line-height:1.8}
.search-empty .btn{margin-top:10px;min-height:60px;padding:0 22px;font-size:18px}
@media (max-width:560px){.menu-tools{grid-template-columns:1fr}.dice{width:100%}}

/* ===== 🎲 랜덤 짜잔 팝업 ===== */
.lucky-bg{z-index:65}
.lucky{width:min(420px,100%);text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 22px}
.lucky-head{font-family:'Black Han Sans',var(--kr);font-size:26px}
.lucky-reel{width:200px;height:230px;border:4px solid var(--ink);border-radius:22px;background:var(--sky);display:flex;align-items:flex-end;justify-content:center;overflow:hidden;box-shadow:5px 5px 0 var(--ink);transition:transform .08s}
.lucky-reel img{height:92%;width:auto;object-fit:contain;filter:drop-shadow(3px 3px 0 rgba(62,36,16,.3))}
.lucky-reel.tick{transform:translateY(-3px) rotate(-1.5deg)}
.lucky-reel.landed{animation:lucky-pop .5s cubic-bezier(.2,1.6,.4,1) both;background:var(--butter)}
@keyframes lucky-pop{0%{transform:scale(.85) rotate(-4deg)}100%{transform:scale(1) rotate(0)}}
.lucky-name{min-height:64px;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:20px;font-weight:900}
.lucky-name .lucky-ta{font-family:'Black Han Sans',var(--kr);font-size:30px;color:var(--red);text-shadow:2px 2px 0 var(--ink);font-weight:400}
.lucky-name b{font-size:26px}
.lucky-name i{font-style:normal;font-family:var(--label);letter-spacing:.06em;color:var(--red);font-size:18px}
.lucky-name .lucky-pr{font-family:var(--label);font-size:22px;letter-spacing:.04em}
.lucky-btns{width:100%;display:grid;gap:10px}
.lucky-btns .btn{min-height:76px;font-size:21px;border-width:4px;border-radius:18px}
.lucky-x{font-size:15px}
@media (prefers-reduced-motion:reduce){.lucky-reel.landed{animation:none}}
/* 대문: 리뷰 사진 캡션 · 지난번 메뉴 버튼 */
.gate-cap{position:absolute;left:12px;bottom:12px;max-width:calc(100% - 130px);background:rgba(62,36,16,.82);color:var(--cream);border-radius:999px;padding:6px 12px;font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gate .again{margin-top:0}
/* 🎲 꽝 */
.lucky-reel.kw{background:var(--red)}
.lucky-reel.kw img{height:100%;width:100%;object-fit:cover;filter:none}
.lucky-name .lucky-sub{font-size:14px;font-weight:700;color:var(--muted)}
/* 🎲 꽝 — 완전 크게 */
.lucky-reel{position:relative}
.kw-stamp{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'Black Han Sans',var(--kr);font-size:104px;line-height:1;color:var(--red);-webkit-text-stroke:4px var(--cream);text-shadow:6px 6px 0 var(--ink);transform:rotate(-12deg);animation:kw-slam .45s cubic-bezier(.2,1.8,.35,1) both;pointer-events:none}
@keyframes kw-slam{0%{transform:rotate(-12deg) scale(2.4);opacity:0}100%{transform:rotate(-12deg) scale(1);opacity:1}}
.lucky-name .kw-big{font-family:'Black Han Sans',var(--kr);font-size:64px;line-height:1.05;color:var(--red);text-shadow:4px 4px 0 var(--ink)}
.lucky-name:has(.kw-big) b{font-size:30px}
@media (prefers-reduced-motion:reduce){.kw-stamp{animation:none}}
/* ===== 👑 사장님 찬스 ===== */
.lucky-reel.chance{background:var(--butter)}
.chance-big{color:var(--red)!important;font-size:46px!important}
.chance-stamp{font-family:var(--disp)!important;font-size:70px!important;color:var(--butter)!important;-webkit-text-stroke:3px var(--ink)!important}
.lucky-sub .free{color:var(--red);font-size:16px}
.lucky-line{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:10px;border:3px dashed var(--red);border-radius:12px;background:#fff;padding:10px 12px;font-weight:900;color:var(--red);font-size:15px}
.lucky-li{color:var(--red);font-weight:900}
.lucky-tag{background:var(--butter)!important;color:var(--red)!important;border-color:var(--red)!important}
/* ===== 🔔 알림 받기 ===== */
.push-btn{width:100%;min-height:84px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:21px;border-width:4px;border-radius:18px;background:var(--butter)}
.push-btn small{font-size:13px;font-weight:700;color:var(--muted)}
.push-card{border:3px solid var(--ink);border-radius:16px;background:#fff;padding:12px 14px;font-size:15px;font-weight:700;line-height:1.5;text-align:center}
.push-card.on{background:var(--sky)}
.push-card small{color:var(--muted);font-weight:500}
