/* =====================================================================
   연플레이스 운영 시스템 — 디자인 시스템 (v1 index.html에서 이식/확장)
   ===================================================================== */

/* ---- RESET & BASE ---- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
html{-webkit-text-size-adjust:100%;}
html,body{height:100%;}
body{
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Apple SD Gothic Neo","Pretendard Variable","Pretendard","Malgun Gothic","Noto Sans KR",sans-serif;
  background:var(--bg);
  color:var(--ink);
  letter-spacing:-0.01em;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  overscroll-behavior-y:none;
  overflow-x:hidden;
}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;}
img{display:block;max-width:100%;}
input,select,textarea{font:inherit;color:inherit;}
ul{list-style:none;}
a{color:inherit;text-decoration:none;}
::selection{background:var(--brown);color:#fff;}

/* ---- DESIGN TOKENS ---- */
:root{
  --white:#FFFFFF;
  --cream:#FBF7F2;
  --sand:#F2E7D8;
  --sand-deep:#EAD9BE;
  --line:#EAE1D4;
  --ink:#241D18;
  --muted:#8A7E72;
  --muted-2:#B3A794;
  --brown:#5B3E2B;
  --brown-2:#7A5738;
  --brown-light:#A9835D;
  --gold:#C98D4B;
  --gold-soft:#F4E3C2;
  --green:#3C7A5C;
  --green-soft:#E1EEE7;
  --red:#B5502F;
  --red-soft:#F6E3DB;
  --bg:var(--cream);
  --surface:var(--white);
  --radius-sm:12px;
  --radius-md:18px;
  --radius-lg:26px;
  --radius-pill:999px;
  --shadow-sm:0 1px 2px rgba(36,29,24,0.04), 0 1px 1px rgba(36,29,24,0.03);
  --shadow-md:0 8px 24px rgba(36,29,24,0.08), 0 2px 6px rgba(36,29,24,0.04);
  --shadow-lg:0 20px 48px rgba(36,29,24,0.14), 0 6px 16px rgba(36,29,24,0.06);
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-spring:cubic-bezier(.34,1.56,.64,1);
  --safe-top:env(safe-area-inset-top, 0px);
  --safe-bottom:env(safe-area-inset-bottom, 0px);
  --bottom-nav-h:60px;
}

/* ---- APP SHELL ---- */
.app-shell{max-width:560px;margin:0 auto;min-height:100vh;position:relative;background:var(--bg);}
@media (min-width:560px){ .app-shell{border-left:1px solid var(--line);border-right:1px solid var(--line);} }
::-webkit-scrollbar{width:0;height:0;}
[hidden]{display:none !important;}

/* ---- HEADER ---- */
.app-header{
  position:sticky;top:0;z-index:40;padding-top:var(--safe-top);
  background:rgba(251,247,242,0.72);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid transparent;transition:border-color .3s var(--ease);
}
.app-header.scrolled{border-bottom-color:var(--line);}
.header-inner{height:56px;display:flex;align-items:center;gap:8px;padding:0 14px;position:relative;}
.icon-btn{width:36px;height:36px;border-radius:var(--radius-pill);display:flex;align-items:center;justify-content:center;font-size:19px;color:var(--brown);flex:0 0 auto;transition:background .2s var(--ease), transform .15s var(--ease);}
.icon-btn:active{transform:scale(0.88);background:rgba(91,62,43,0.08);}
.back-btn{font-size:24px;font-weight:600;}
.brand-block{display:flex;flex-direction:column;justify-content:center;line-height:1.15;}
.brand-name{font-size:16px;font-weight:800;color:var(--ink);letter-spacing:-0.02em;}
.brand-tag{font-size:9.5px;font-weight:700;color:var(--brown-light);letter-spacing:0.14em;}
.detail-title-block{flex:1;min-width:0;text-align:center;padding:0 4px;}
.detail-title-block .detail-title{font-size:15px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;opacity:0;transform:translateY(6px);transition:opacity .25s var(--ease), transform .25s var(--ease);}
.detail-title-block.show .detail-title{opacity:1;transform:translateY(0);}
.header-inner .brand-block{flex:1;}
.search-btn{margin-left:auto;}
.role-badge{font-size:10px;font-weight:800;color:var(--brown);background:var(--sand);border-radius:7px;padding:3px 8px;margin-left:6px;letter-spacing:.02em;}

.progress-track{height:3px;background:var(--line);width:100%;overflow:hidden;}
.progress-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--gold),var(--brown));transition:width .4s var(--ease-spring);}

/* ---- OFFLINE BANNER ---- */
.offline-banner{
  background:linear-gradient(155deg,#FFF6E2,var(--gold-soft));border-bottom:1px solid #EFD9A0;
  color:#5B4321;font-size:12.5px;font-weight:600;padding:9px 16px;text-align:center;line-height:1.5;
}

/* ---- SEARCH OVERLAY (v1) ---- */
.search-overlay{position:fixed;inset:0;z-index:80;background:rgba(251,247,242,0.98);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding-top:calc(var(--safe-top) + 14px);display:flex;flex-direction:column;animation:overlayIn .28s var(--ease);}
@keyframes overlayIn{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:translateY(0);}}
.search-bar-wrap{display:flex;align-items:center;gap:10px;padding:0 16px 12px;}
.search-input{flex:1;height:44px;border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--line);padding:0 18px;font-size:15px;color:var(--ink);box-shadow:var(--shadow-sm);}
.search-input:focus{outline:none;border-color:var(--brown-light);}
.search-close{font-size:15px;font-weight:600;color:var(--brown);white-space:nowrap;padding:6px 2px;}
.search-results{flex:1;overflow-y:auto;padding:4px 16px calc(24px + var(--safe-bottom));}
.search-hint{color:var(--muted);font-size:13px;padding:18px 4px;text-align:center;}
.search-result-manual{font-size:12px;font-weight:700;color:var(--brown-light);letter-spacing:.02em;padding:14px 4px 6px;display:flex;align-items:center;gap:6px;}
.search-result-item{background:var(--surface);border-radius:var(--radius-md);padding:13px 14px;margin-bottom:8px;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:12px;}
.search-result-item:active{transform:scale(0.98);}
.search-result-badge{font-size:10.5px;font-weight:700;color:var(--white);background:var(--brown-light);border-radius:6px;padding:3px 7px;flex:0 0 auto;}
.search-result-text{font-size:14px;color:var(--ink);flex:1;min-width:0;}
.search-result-text mark{background:var(--gold-soft);color:var(--brown);border-radius:3px;padding:0 2px;}
.search-result-chev{color:var(--muted-2);font-size:16px;}

/* ---- VIEWS / SCROLL AREA ---- */
.view{padding-bottom:calc(48px + var(--safe-bottom));}
.view.with-bottom-nav{padding-bottom:calc(var(--bottom-nav-h) + 24px + var(--safe-bottom));}
.fade-slide{animation:fadeSlideUp .45s var(--ease);}
@keyframes fadeSlideUp{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}

/* ---- HERO / HOME ---- */
.hero{padding:22px 20px 8px;}
.hero-greeting{font-size:14px;font-weight:600;color:var(--brown-light);margin-bottom:6px;}
.hero-title{font-size:24px;font-weight:800;color:var(--ink);line-height:1.32;letter-spacing:-0.02em;}
.hero-date{font-size:12.5px;color:var(--muted);margin-top:8px;}
.daily-pill{display:inline-flex;align-items:center;gap:6px;margin-top:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill);padding:7px 14px 7px 8px;font-size:12.5px;font-weight:600;color:var(--brown);box-shadow:var(--shadow-sm);}
.daily-pill .dot{width:7px;height:7px;border-radius:50%;background:var(--gold);}
.daily-pill.all-done .dot{background:var(--green);}
.daily-pill.all-done{color:var(--green);}

.menu-section{padding:22px 20px 4px;}
.section-label{font-size:12px;font-weight:800;letter-spacing:.09em;color:var(--muted);text-transform:uppercase;margin-bottom:12px;padding-left:2px;display:flex;align-items:center;justify-content:space-between;}
.section-label .see-all{font-size:11.5px;font-weight:700;color:var(--brown-light);text-transform:none;letter-spacing:0;}

.card-grid{display:flex;flex-direction:column;gap:10px;}
.menu-card{display:flex;align-items:center;gap:14px;background:var(--surface);border-radius:var(--radius-lg);padding:14px 16px;box-shadow:var(--shadow-sm);border:1px solid rgba(234,225,212,0.7);transition:transform .18s var(--ease), box-shadow .18s var(--ease), background .18s var(--ease);text-align:left;width:100%;position:relative;}
.menu-card:active{transform:scale(0.975);background:var(--cream);}
.card-icon{width:48px;height:48px;border-radius:16px;background:linear-gradient(155deg,var(--sand),var(--sand-deep));display:flex;align-items:center;justify-content:center;font-size:23px;flex:0 0 auto;box-shadow:inset 0 0 0 1px rgba(91,62,43,0.06);}
.card-body{flex:1;min-width:0;}
.card-title{font-size:15.5px;font-weight:700;color:var(--ink);margin-bottom:2px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.card-desc{font-size:12.8px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.card-done-badge{font-size:10.5px;font-weight:700;color:var(--green);background:var(--green-soft);border-radius:7px;padding:2px 7px;flex:0 0 auto;}
.card-draft-badge{font-size:10.5px;font-weight:700;color:var(--muted);background:var(--sand);border-radius:7px;padding:2px 7px;flex:0 0 auto;}
.card-chev{color:var(--muted-2);font-size:17px;flex:0 0 auto;}

.home-footer{padding:36px 20px 8px;text-align:center;}
.home-footer p{font-size:11.5px;color:var(--muted-2);letter-spacing:.03em;}

/* ---- TODAY SUMMARY CARD ---- */
.today-card{margin:4px 20px 0;background:var(--surface);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-md);border:1px solid rgba(234,225,212,0.7);}
.today-card-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px;}
.today-card-title{font-size:13px;font-weight:800;color:var(--muted);letter-spacing:.04em;}
.today-card-total{font-size:13px;font-weight:700;color:var(--brown);}
.today-slot-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line);}
.today-slot-row:first-of-type{border-top:none;}
.today-slot-time{font-size:14px;font-weight:800;color:var(--ink);width:52px;flex:0 0 auto;}
.today-slot-menu{flex:1;font-size:13.5px;color:var(--ink);font-weight:600;}
.today-slot-count{font-size:12.5px;color:var(--muted);font-weight:600;}
.today-empty{padding:18px 4px;text-align:center;color:var(--muted);font-size:13px;}
.today-stat-row{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap;}
.today-stat-chip{font-size:11.5px;font-weight:700;padding:6px 10px;border-radius:var(--radius-pill);background:var(--sand);color:var(--brown);}
.today-stat-chip.warn{background:var(--red-soft);color:var(--red);}

/* ---- RESERVATION LIST (staff & admin) ---- */
.date-nav{display:flex;align-items:center;gap:10px;padding:14px 20px 6px;}
.date-nav-btn{width:34px;height:34px;border-radius:50%;background:var(--surface);box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--brown);flex:0 0 auto;}
.date-nav-label{flex:1;text-align:center;font-size:15px;font-weight:800;color:var(--ink);}
.date-nav-input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;}
.date-total{text-align:center;font-size:12.5px;color:var(--muted);padding:0 20px 14px;}

.time-group{margin:0 20px 14px;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid rgba(234,225,212,0.7);overflow:hidden;}
.time-group-head{display:flex;align-items:center;gap:12px;padding:14px 16px;}
.time-group-time{font-size:16px;font-weight:800;color:var(--brown);width:58px;flex:0 0 auto;}
.time-group-info{flex:1;min-width:0;}
.time-group-menu{font-size:14.5px;font-weight:700;color:var(--ink);}
.time-group-sub{font-size:12px;color:var(--muted);margin-top:2px;}
.time-group-count{font-size:13px;font-weight:700;color:var(--brown-light);}
.time-group-chev{color:var(--muted-2);font-size:16px;}

.participant-list{border-top:1px solid var(--line);}
.slot-summary{padding:10px 16px;background:var(--cream);display:flex;flex-direction:column;gap:4px;}
.slot-summary-row{display:flex;gap:8px;font-size:12.5px;line-height:1.5;color:var(--text,#332f2a);}
.slot-summary-label{flex:0 0 auto;font-weight:800;color:var(--muted);min-width:32px;}
.participant-row{display:flex;align-items:center;gap:12px;padding:13px 16px;border-top:1px solid var(--line);transition:background .15s var(--ease);}
.participant-row:first-child{border-top:none;}
.participant-row:active{background:var(--cream);}
.participant-main{flex:1;min-width:0;}
.participant-name{font-size:14.5px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.participant-meta{font-size:12px;color:var(--muted);margin-top:3px;display:flex;flex-direction:column;gap:2px;}
.participant-line{line-height:1.5;}
.participant-phone{font-size:12px;color:var(--muted-2);margin-top:2px;letter-spacing:.02em;}

.fr-delete-btn{font-size:14px;padding:2px 6px;opacity:.55;}
.fr-delete-btn:hover{opacity:1;}

.status-pill{font-size:10.5px;font-weight:800;padding:3px 8px;border-radius:var(--radius-pill);white-space:nowrap;}
.status-pill.att-expected{background:var(--sand);color:var(--brown);}
.status-pill.att-attended{background:var(--green-soft);color:var(--green);}
.status-pill.att-late{background:var(--gold-soft);color:#9A6B1F;}
.status-pill.att-cancelled{background:#EDE7DF;color:var(--muted);}
.status-pill.att-noshow{background:var(--red-soft);color:var(--red);}
.status-pill.pay-paid{background:var(--green-soft);color:var(--green);}
.status-pill.pay-unpaid{background:var(--red-soft);color:var(--red);}
.status-pill.pay-partial{background:var(--gold-soft);color:#9A6B1F;}
.status-pill.pay-refunded{background:#EDE7DF;color:var(--muted);}
.status-pill.pay-onsite{background:var(--sand);color:var(--brown);}
.source-tag{display:inline-block;font-size:10.5px;font-weight:800;padding:2px 7px;border-radius:var(--radius-pill);background:var(--sand);color:var(--muted);vertical-align:middle;}
.warn-chip{font-size:10.5px;font-weight:800;padding:3px 8px;border-radius:var(--radius-pill);background:var(--red-soft);color:var(--red);}

.empty-state{padding:48px 24px;text-align:center;color:var(--muted);}
.empty-state .es-icon{font-size:34px;margin-bottom:10px;}
.empty-state .es-text{font-size:13.5px;}

/* ---- BOTTOM SHEET (attendance action) ---- */
.sheet-backdrop{position:fixed;inset:0;background:rgba(15,11,8,0.42);z-index:110;animation:overlayIn .2s var(--ease);}
.bottom-sheet{position:fixed;left:0;right:0;bottom:0;z-index:111;max-width:560px;margin:0 auto;background:var(--surface);border-radius:24px 24px 0 0;padding:10px 20px calc(20px + var(--safe-bottom));box-shadow:var(--shadow-lg);animation:sheetUp .28s var(--ease-spring);}
@keyframes sheetUp{from{transform:translateY(100%);}to{transform:translateY(0);}}
.sheet-handle{width:36px;height:4px;border-radius:2px;background:var(--sand-deep);margin:6px auto 14px;}
.sheet-title{font-size:16px;font-weight:800;color:var(--ink);margin-bottom:4px;}
.sheet-sub{font-size:12.5px;color:var(--muted);margin-bottom:16px;}
.sheet-options{display:flex;flex-direction:column;gap:8px;}
.sheet-option{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:var(--radius-md);background:var(--cream);font-size:14.5px;font-weight:700;color:var(--ink);transition:background .15s var(--ease);}
.sheet-option:active{background:var(--sand);}
.sheet-option.active{background:var(--brown);color:#fff;}
.sheet-option .dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto;}
.sheet-cancel{margin-top:12px;width:100%;text-align:center;padding:13px;font-size:14px;font-weight:700;color:var(--muted);}

/* ---- MODAL (delete confirm / generic) ---- */
.modal-backdrop{position:fixed;inset:0;background:rgba(15,11,8,0.5);z-index:130;display:flex;align-items:center;justify-content:center;padding:24px;animation:overlayIn .2s var(--ease);}
.modal-card{background:var(--surface);border-radius:var(--radius-lg);padding:24px;max-width:340px;width:100%;box-shadow:var(--shadow-lg);text-align:center;}
.modal-icon{font-size:30px;margin-bottom:10px;}
.modal-title{font-size:16px;font-weight:800;color:var(--ink);margin-bottom:8px;}
.modal-desc{font-size:13px;color:var(--muted);line-height:1.55;margin-bottom:20px;}
.modal-actions{display:flex;gap:10px;}
.btn{flex:1;padding:13px;border-radius:var(--radius-pill);font-size:14px;font-weight:700;transition:transform .15s var(--ease), opacity .15s var(--ease);}
.btn:active{transform:scale(0.96);}
.btn-primary{background:var(--brown);color:#fff;}
.btn-danger{background:var(--red);color:#fff;}
.btn-ghost{background:var(--sand);color:var(--brown);}
.btn-outline{background:transparent;border:1.5px solid var(--line);color:var(--ink);}
.btn:disabled{opacity:.5;pointer-events:none;}
.btn-block{width:100%;}

/* ---- LOGIN ---- */
.login-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 24px calc(32px + var(--safe-bottom));}
.login-brand{text-align:center;margin-bottom:32px;}
.login-brand .lb-icon{width:64px;height:64px;border-radius:22px;background:linear-gradient(155deg,var(--sand),var(--sand-deep));display:flex;align-items:center;justify-content:center;font-size:30px;margin:0 auto 16px;box-shadow:var(--shadow-md);}
.login-brand .lb-name{font-size:22px;font-weight:800;color:var(--ink);letter-spacing:-0.02em;}
.login-brand .lb-tag{font-size:10.5px;font-weight:700;color:var(--brown-light);letter-spacing:.14em;margin-top:4px;}
.login-form{width:100%;max-width:340px;display:flex;flex-direction:column;gap:12px;}
.form-field{display:flex;flex-direction:column;gap:6px;}
.form-field label{font-size:12.5px;font-weight:700;color:var(--brown);padding-left:2px;}
.form-input,.form-select,.form-textarea{
  width:100%;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius-md);
  padding:13px 15px;font-size:14.5px;color:var(--ink);transition:border-color .15s var(--ease);
}
.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--brown-light);}
.form-textarea{resize:vertical;min-height:80px;line-height:1.55;}
.form-row{display:flex;gap:10px;}
.form-row .form-field{flex:1;}
.form-check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);padding:2px;}
.form-check input{width:18px;height:18px;accent-color:var(--brown);}
.login-error{background:var(--red-soft);color:var(--red);font-size:12.5px;font-weight:600;padding:11px 14px;border-radius:var(--radius-md);text-align:center;}
.login-links{display:flex;justify-content:center;margin-top:16px;}
.login-links button{font-size:12.5px;color:var(--brown-light);font-weight:600;}
.login-footer-note{margin-top:28px;font-size:11px;color:var(--muted-2);text-align:center;line-height:1.6;}
.login-link-btn{font-size:12.5px;color:var(--brown-light);font-weight:700;text-decoration:underline;margin-top:4px;}

/* ---- BOTTOM NAV ---- */
.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:50;max-width:560px;margin:0 auto;background:rgba(251,247,242,0.9);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-top:1px solid var(--line);display:flex;padding-bottom:var(--safe-bottom);}
.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 4px 8px;color:var(--muted-2);transition:color .15s var(--ease);}
.nav-item .ni-icon{font-size:19px;line-height:1;}
.nav-item .ni-label{font-size:10px;font-weight:700;}
.nav-item.active{color:var(--brown);}
.nav-item:active{opacity:.6;}

/* ---- ADMIN DASHBOARD ---- */
.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 20px;margin-top:14px;}
.dash-stat{background:var(--surface);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-sm);border:1px solid rgba(234,225,212,0.7);}
.dash-stat-label{font-size:11.5px;font-weight:700;color:var(--muted);margin-bottom:6px;}
.dash-stat-value{font-size:22px;font-weight:800;color:var(--ink);}
.dash-actions{display:flex;flex-direction:column;gap:10px;padding:20px;}

/* ---- FAB (예약 추가) ---- */
.fab{position:fixed;right:calc(50% - 264px);bottom:calc(var(--bottom-nav-h) + 18px + var(--safe-bottom));width:54px;height:54px;border-radius:50%;background:var(--brown);color:#fff;font-size:26px;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);z-index:45;transition:transform .15s var(--ease-spring);}
.fab:active{transform:scale(0.9);}
@media (max-width:559px){ .fab{right:20px;} }

/* ---- TABS (admin manual editor sections) ---- */
.tab-bar{display:flex;gap:6px;padding:14px 20px 4px;overflow-x:auto;}
.tab-bar::-webkit-scrollbar{display:none;}
.tab-btn{flex:0 0 auto;padding:9px 16px;border-radius:var(--radius-pill);font-size:13px;font-weight:700;color:var(--muted);background:var(--surface);border:1px solid var(--line);white-space:nowrap;}
.tab-btn.active{background:var(--brown);color:#fff;border-color:var(--brown);}

/* ---- EDITOR LIST BLOCKS (steps/mistakes/checklist editors) ---- */
.editor-block{margin:12px 20px;background:var(--surface);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-sm);border:1px solid rgba(234,225,212,0.7);}
.editor-block-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.editor-block-title{font-size:13.5px;font-weight:800;color:var(--brown);}
.editor-block-actions{display:flex;gap:6px;}
.icon-mini-btn{width:28px;height:28px;border-radius:9px;background:var(--sand);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--brown);}
.icon-mini-btn:active{transform:scale(0.9);}
.icon-mini-btn.danger{background:var(--red-soft);color:var(--red);}
.editor-media-row{display:flex;gap:10px;align-items:center;margin:10px 0;}
.editor-media-preview{width:72px;height:72px;border-radius:12px;object-fit:cover;background:var(--sand);flex:0 0 auto;}
.editor-media-placeholder{width:72px;height:72px;border-radius:12px;background:var(--sand);display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--brown-light);flex:0 0 auto;}
.upload-progress{height:4px;background:var(--line);border-radius:2px;overflow:hidden;margin-top:6px;}
.upload-progress-fill{height:100%;background:var(--gold);transition:width .2s var(--ease);}
.add-item-btn{width:100%;padding:12px;border-radius:var(--radius-md);border:1.5px dashed var(--sand-deep);color:var(--brown-light);font-size:13.5px;font-weight:700;text-align:center;margin-top:10px;}
.add-item-btn:active{background:var(--cream);}
.danger-text{color:var(--red);}
.product-card-actions{display:flex;gap:6px;margin-top:10px;}
.product-card-actions .btn{flex:1;padding:8px 6px;font-size:12px;}
.card-done-badge.status-selling{color:var(--green);background:var(--green-soft);}
.card-done-badge.status-paused{color:#a06a1f;background:#fbeecb;}
.card-done-badge.status-hidden{color:var(--muted);background:var(--sand);}
.option-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);}
.option-row:last-child{border-bottom:none;}

.editor-bottom-bar{position:fixed;left:0;right:0;bottom:0;z-index:48;max-width:560px;margin:0 auto;background:rgba(251,247,242,0.92);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-top:1px solid var(--line);display:flex;gap:10px;padding:12px 20px calc(12px + var(--safe-bottom));}

/* ---- TRASH ---- */
.trash-row{display:flex;align-items:center;gap:12px;margin:0 20px 10px;background:var(--surface);border-radius:var(--radius-md);padding:13px 14px;box-shadow:var(--shadow-sm);}
.trash-info{flex:1;min-width:0;}
.trash-name{font-size:14px;font-weight:700;color:var(--ink);}
.trash-meta{font-size:11.5px;color:var(--muted);margin-top:2px;}

/* ---- DETAIL (manual view — v1 그대로) ---- */
.detail-view{padding-top:6px;}
.detail-hero{padding:18px 22px 24px;text-align:center;}
.detail-icon{width:72px;height:72px;margin:0 auto 14px;border-radius:24px;background:linear-gradient(155deg,var(--sand),var(--sand-deep));display:flex;align-items:center;justify-content:center;font-size:34px;box-shadow:var(--shadow-md);}
.detail-title-lg{font-size:25px;font-weight:800;color:var(--ink);letter-spacing:-0.02em;margin-bottom:6px;}
.detail-subtitle{font-size:13.5px;color:var(--muted);max-width:320px;margin:0 auto;line-height:1.5;}
.meta-pills{display:flex;justify-content:center;gap:8px;margin-top:16px;flex-wrap:wrap;}
.pill{font-size:12px;font-weight:700;color:var(--brown);background:var(--sand);border-radius:var(--radius-pill);padding:6px 13px;}
.diff-dots{display:inline-flex;gap:3px;vertical-align:middle;margin-left:2px;}
.diff-dot{width:6px;height:6px;border-radius:50%;background:var(--sand-deep);}
.diff-dot.on{background:var(--brown);}

.block-title{font-size:18px;font-weight:800;color:var(--ink);letter-spacing:-0.01em;margin:0 22px 14px;}

.steps-timeline{padding:6px 22px 8px;}
.step-card{display:flex;gap:14px;position:relative;}
.step-index-col{display:flex;flex-direction:column;align-items:center;flex:0 0 auto;}
.step-num{width:30px;height:30px;border-radius:50%;background:var(--brown);color:#fff;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;flex:0 0 auto;box-shadow:0 3px 8px rgba(91,62,43,0.25);}
.step-line{width:2px;flex:1;background:var(--line);margin:4px 0;border-radius:1px;}
.step-card:last-child .step-line{display:none;}
.step-body{flex:1;min-width:0;padding-bottom:28px;}
.step-title{font-size:15.5px;font-weight:700;color:var(--ink);margin-bottom:10px;padding-top:4px;}
.step-desc{font-size:14px;color:#4a4038;line-height:1.68;white-space:pre-wrap;}
.step-desc b{color:var(--brown);font-weight:700;}
.step-caution{margin-top:10px;font-size:12.5px;color:#9A6B1F;background:var(--gold-soft);border-radius:10px;padding:9px 12px;}

.step-media{margin-bottom:12px;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);}
.media-placeholder{background:var(--sand);border:1.5px dashed var(--sand-deep);border-radius:var(--radius-md);padding:26px 10px;display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--brown-light);}
.media-placeholder .mp-icon{font-size:22px;opacity:.7;}
.media-placeholder .mp-text{font-size:11.5px;font-weight:600;}
.step-media img{width:100%;aspect-ratio:4/3;object-fit:cover;cursor:zoom-in;transition:transform .3s var(--ease);}
.step-media img:active{transform:scale(0.98);}
.step-media video,.step-media iframe{width:100%;aspect-ratio:16/9;border:none;display:block;}

.step-card.highlight .step-num{animation:pulseNum 1.1s var(--ease-spring);}
.step-card.highlight .step-body{animation:flashBg 1.4s var(--ease);}
@keyframes pulseNum{0%{transform:scale(1);}30%{transform:scale(1.28);box-shadow:0 0 0 8px rgba(91,62,43,0.14);}100%{transform:scale(1);}}
@keyframes flashBg{0%{background:var(--gold-soft);border-radius:14px;}100%{background:transparent;}}

.checklist-section{padding:30px 22px 6px;}
.checklist{display:flex;flex-direction:column;gap:9px;}
.check-item{display:flex;align-items:center;gap:12px;background:var(--surface);border-radius:var(--radius-md);padding:13px 14px;box-shadow:var(--shadow-sm);border:1px solid rgba(234,225,212,0.7);transition:background .2s var(--ease);}
.check-item.checked{background:var(--cream);}
.check-box{width:23px;height:23px;border-radius:7px;border:2px solid var(--sand-deep);flex:0 0 auto;display:flex;align-items:center;justify-content:center;transition:all .18s var(--ease-spring);color:transparent;font-size:13px;font-weight:800;}
.check-item.checked .check-box{background:var(--brown);border-color:var(--brown);color:#fff;transform:scale(1.05);}
.check-label{font-size:14.5px;color:var(--ink);flex:1;transition:opacity .2s var(--ease);}
.check-item.checked .check-label{opacity:.42;text-decoration:line-through;}
.reset-btn{margin-top:16px;width:100%;text-align:center;font-size:13px;font-weight:700;color:var(--muted);padding:10px;}
.reset-btn:active{opacity:.5;}

.mistakes-section{padding:30px 0 6px;}
.mistakes-section .block-title{margin-bottom:12px;}
.mistake-scroll{display:flex;gap:12px;overflow-x:auto;padding:2px 22px 10px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;}
.mistake-scroll::-webkit-scrollbar{display:none;}
.mistake-card{scroll-snap-align:start;flex:0 0 auto;width:78%;max-width:280px;background:var(--surface);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-sm);border:1px solid rgba(234,225,212,0.7);}
.mistake-top{display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.mistake-num{font-size:10.5px;font-weight:800;color:#fff;background:var(--red);border-radius:7px;padding:3px 8px;letter-spacing:.02em;}
.mistake-icon{font-size:16px;}
.mistake-title{font-size:14.5px;font-weight:700;color:var(--ink);margin-bottom:6px;}
.mistake-desc{font-size:13px;color:var(--muted);line-height:1.55;}

.tip-card{margin:28px 22px 8px;background:linear-gradient(155deg,#FFF6E2,var(--gold-soft));border-radius:var(--radius-lg);padding:18px;display:flex;gap:12px;box-shadow:var(--shadow-sm);border:1px solid #EFD9A0;}
.tip-icon{font-size:22px;flex:0 0 auto;}
.tip-label{font-size:11px;font-weight:800;color:#9A6B1F;letter-spacing:.06em;display:block;margin-bottom:5px;}
.tip-text{font-size:13.8px;color:#5B4321;line-height:1.6;white-space:pre-wrap;}

.detail-footer-space{height:20px;}

/* ---- TOAST / LIGHTBOX (v1) ---- */
.toast{position:fixed;left:50%;bottom:calc(28px + var(--safe-bottom));transform:translateX(-50%) translateY(20px);background:var(--ink);color:#fff;font-size:13.5px;font-weight:600;padding:13px 20px;border-radius:var(--radius-pill);box-shadow:var(--shadow-lg);z-index:150;opacity:0;transition:opacity .3s var(--ease), transform .3s var(--ease-spring);display:flex;align-items:center;gap:8px;white-space:nowrap;pointer-events:none;max-width:88vw;overflow:hidden;text-overflow:ellipsis;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
.toast.error{background:var(--red);}

.lightbox{position:fixed;inset:0;background:rgba(15,11,8,0.94);z-index:160;display:flex;align-items:center;justify-content:center;padding:24px;animation:overlayIn .25s var(--ease);}
.lightbox img{max-width:100%;max-height:85vh;border-radius:12px;box-shadow:var(--shadow-lg);}
.lightbox-close{position:absolute;top:calc(var(--safe-top) + 16px);right:18px;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,0.12);color:#fff;font-size:16px;display:flex;align-items:center;justify-content:center;}

/* ---- SPINNER / LOADING ---- */
.spinner{width:22px;height:22px;border-radius:50%;border:2.5px solid var(--sand-deep);border-top-color:var(--brown);animation:spin .7s linear infinite;margin:0 auto;}
@keyframes spin{to{transform:rotate(360deg);}}
.loading-row{padding:40px 0;display:flex;justify-content:center;}

/* =====================================================================
   고객용 다국어 화면 (customer/index.html, menu.html, kiosk.html)
   ===================================================================== */

/* 접근성: 고객 화면은 본문 최소 16px, 터치영역 최소 44px를 지킨다 */
.customer-shell .card-desc,
.customer-shell .step-desc,
.customer-shell .mistake-desc,
.customer-shell .detail-subtitle { font-size:16px; }
.customer-shell .card-title,
.customer-shell .step-title { font-size:17px; }
.customer-shell .menu-card,
.customer-shell .btn,
.customer-shell .pill { min-height:44px; }

/* 언어 선택 */
.lang-switch{position:relative;flex:0 0 auto;}
.lang-switch-btn{font-size:13.5px;font-weight:700;color:var(--brown);background:var(--sand);border-radius:var(--radius-pill);padding:9px 14px;white-space:nowrap;min-height:44px;}
.lang-switch-menu{position:absolute;top:48px;right:0;background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:6px;display:flex;flex-direction:column;gap:2px;z-index:60;min-width:150px;border:1px solid var(--line);}
.lang-switch-item{text-align:left;padding:12px 14px;border-radius:10px;font-size:15px;min-height:44px;display:flex;align-items:center;}
.lang-switch-item.active{background:var(--sand);color:var(--brown);font-weight:700;}
.lang-switch-item:active{background:var(--cream);}

/* 알레르기 경고 카드 */
.allergen-card{margin:0 22px 20px;background:var(--red-soft);border:1px solid #E8C6B8;border-radius:var(--radius-lg);padding:16px 18px;}
.allergen-card-label{font-weight:800;color:var(--red);font-size:14.5px;margin-bottom:8px;}
.allergen-card-list{font-size:15.5px;color:var(--ink);font-weight:600;margin-bottom:8px;word-wrap:break-word;overflow-wrap:break-word;}
.allergen-card-warning{font-size:13.5px;color:#8A4530;line-height:1.65;}

/* FAQ 아코디언 */
.faq-list{padding:0 22px;display:flex;flex-direction:column;gap:8px;}
.faq-item{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;border:1px solid rgba(234,225,212,0.7);}
.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:15px 16px;font-size:16px;font-weight:700;color:var(--ink);text-align:left;min-height:44px;}
.faq-chev{color:var(--muted);font-size:16px;flex:0 0 auto;transition:transform .2s var(--ease);}
.faq-answer{padding:0 16px 16px;font-size:15px;color:var(--muted);line-height:1.7;word-wrap:break-word;overflow-wrap:break-word;}

/* 공통 이용안내 목록 */
.common-guide-list{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-direction:column;gap:10px;}
.common-guide-list li{font-size:14.5px;color:#5B4321;line-height:1.65;word-wrap:break-word;overflow-wrap:break-word;}

/* 손님용 STEP 완료 체크(세션 전용) */
.customer-step-num{cursor:pointer;transition:background .15s var(--ease), transform .15s var(--ease-spring);min-width:44px;min-height:44px;}
.customer-step-num:active{transform:scale(0.85);}
.customer-step-num.done{background:var(--green);}

/* ---- 태블릿 키오스크 모드 ---- */
.kiosk-view{padding:24px 20px 40px;}
.kiosk-screen{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:16px;}
.kiosk-title{font-size:clamp(22px,4vw,30px);font-weight:800;color:var(--ink);margin-bottom:28px;}
.kiosk-menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;width:100%;max-width:760px;}
.kiosk-menu-btn{background:var(--surface);border-radius:28px;box-shadow:var(--shadow-md);padding:30px 16px;display:flex;flex-direction:column;align-items:center;gap:14px;min-height:170px;transition:transform .15s var(--ease-spring);border:1px solid rgba(234,225,212,0.7);}
.kiosk-menu-btn:active{transform:scale(0.95);background:var(--cream);}
.kiosk-menu-icon{font-size:48px;}
.kiosk-menu-label{font-size:21px;font-weight:800;color:var(--ink);}
.kiosk-lang-grid{display:flex;flex-direction:column;gap:14px;width:100%;max-width:440px;}
.kiosk-lang-btn{background:var(--surface);border-radius:22px;box-shadow:var(--shadow-md);padding:22px;font-size:22px;font-weight:800;color:var(--ink);min-height:72px;border:1px solid rgba(234,225,212,0.7);}
.kiosk-lang-btn:active{transform:scale(0.96);background:var(--sand);}
.kiosk-home-bar{position:sticky;bottom:0;padding:16px 20px calc(16px + var(--safe-bottom));background:linear-gradient(to top, var(--bg) 65%, transparent);}
.kiosk-home-btn{width:100%;background:var(--brown);color:#fff;font-size:18px;font-weight:800;padding:18px;border-radius:var(--radius-pill);min-height:56px;box-shadow:var(--shadow-lg);}

/* View Transitions (progressive enhancement) */
::view-transition-old(root){animation:vtOut .32s var(--ease) both;}
::view-transition-new(root){animation:vtIn .38s var(--ease) both;}
@keyframes vtOut{to{opacity:0;transform:scale(.98) translateX(-2%);}}
@keyframes vtIn{from{opacity:0;transform:translateX(3%);}}


/* QR 레시피 전용 화면: 상세 소개보다 재료와 순서를 우선한다 */
.customer-shell .detail-hero{padding-bottom:18px;}
.recipe-block{margin:0 22px 18px;background:var(--surface);border:1px solid rgba(234,225,212,.9);border-radius:22px;padding:18px;box-shadow:var(--shadow-sm);}
.recipe-block-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.recipe-block-icon{width:42px;height:42px;border-radius:14px;background:var(--sand);display:flex;align-items:center;justify-content:center;font-size:21px;flex:0 0 auto;}
.recipe-block h2{font-size:20px;line-height:1.2;margin:2px 0 0;color:var(--ink);}
.recipe-eyebrow{font-size:10px;letter-spacing:.16em;font-weight:800;color:var(--brown-light);}
.recipe-list,.recipe-point-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0;}
.ingredient-row{display:flex;align-items:flex-start;justify-content:space-between;padding:11px 2px;border-bottom:1px dashed var(--line);font-size:16px;line-height:1.55;color:var(--ink);white-space:pre-wrap;}
.ingredient-row:last-child{border-bottom:0;}
.point-row{position:relative;padding:9px 4px 9px 26px;font-size:15.5px;line-height:1.65;color:#5b4321;}
.point-row:before{content:'✓';position:absolute;left:2px;top:9px;color:var(--green);font-weight:900;}
.points-block{background:#fffaf0;}
.customer-shell .checklist-section{padding-left:22px;padding-right:22px;}
.customer-shell .steps-timeline{padding:0!important;}
.customer-shell .step-card{background:var(--surface);border:1px solid rgba(234,225,212,.8);border-radius:20px;padding:16px 14px 16px 10px;margin-bottom:12px;box-shadow:var(--shadow-sm);}
.customer-shell .step-index-col{padding-left:0;}
.customer-shell .step-line{display:none;}
.customer-shell .step-body{padding-bottom:0;}
.customer-shell .step-title{margin-top:2px;}
.recipe-safety-note{margin:0 22px 22px;padding:15px 17px;border-radius:16px;background:var(--red-soft);color:#8a4530;font-size:14px;line-height:1.6;font-weight:650;}
@media (min-width:720px){.recipe-block,.allergen-card,.recipe-safety-note{max-width:680px;margin-left:auto;margin-right:auto}.customer-shell .checklist-section{max-width:724px;margin:0 auto;}}

/* v4: 빠른 예약 등록 */
.time-slot-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.time-slot-btn {
  position: relative;
  min-height: 44px;
  border: 1px solid var(--line, #ddd6cc);
  border-radius: 12px;
  background: #fff;
  color: var(--text, #332f2a);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.urgent-badge{position:absolute;top:-9px;right:-6px;background:var(--red);color:#fff;font-size:9px;font-weight:800;padding:2.5px 6px;border-radius:999px;line-height:1.3;white-space:nowrap;}
.time-slot-btn.active {
  background: var(--primary, #7a604d);
  border-color: var(--primary, #7a604d);
  color: #fff;
  box-shadow: 0 4px 12px rgba(72, 50, 36, .15);
}
.form-help {
  margin-top: 8px;
  color: var(--muted, #847a70);
  font-size: 12px;
}
.line-card {
  border: 1px solid var(--line, #ddd6cc);
  border-radius: 14px;
  padding: 12px;
  margin-bottom: 10px;
}
.line-card-head { display: flex; gap: 8px; align-items: center; margin-bottom: 8px; }
.line-card-head .line-menu { flex: 1; }
.option-group { margin-bottom: 10px; }
.option-group-label {
  font-size: 12px;
  font-weight: 700;
  color: var(--muted, #847a70);
  margin-bottom: 6px;
}
.option-chip-row { display: flex; flex-wrap: wrap; gap: 8px; }
.option-chip {
  min-height: 40px;
  padding: 0 12px;
  border: 1px solid var(--line, #ddd6cc);
  border-radius: 20px;
  background: #fff;
  color: var(--text, #332f2a);
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.option-chip.active {
  background: var(--primary, #7a604d);
  border-color: var(--primary, #7a604d);
  color: #fff;
}
@media (max-width: 460px) {
  .time-slot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* v5: 고객용 QR 클래스 가이드 */
.class-welcome{text-align:center;padding:34px 22px 20px;}
.welcome-kicker{font-size:12px;font-weight:800;letter-spacing:.13em;color:var(--brown-light);margin-bottom:14px;}
.welcome-icon{font-size:52px;line-height:1;margin-bottom:12px;}
.welcome-title{font-size:30px;line-height:1.2;color:var(--ink);margin:0 0 10px;}
.welcome-subtitle{font-size:15px!important;line-height:1.65;color:var(--muted);margin:0 auto;max-width:520px;}
.welcome-card{margin:0 22px 14px;background:var(--surface);border:1px solid rgba(234,225,212,.9);border-radius:22px;padding:18px;box-shadow:var(--shadow-sm);}
.welcome-card-label{font-size:12px;letter-spacing:.1em;font-weight:900;color:var(--brown-light);margin-bottom:12px;}
.recipe-list.compact .ingredient-row{padding:9px 2px;font-size:15px;}
.flow-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;}
.flow-list li{display:flex;align-items:center;gap:12px;text-align:left;}
.flow-list li span{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--sand);color:var(--brown);font-size:13px;font-weight:900;flex:0 0 auto;}
.flow-list li b{font-size:16px;color:var(--ink);}
.option-notice{margin:0 22px 18px;padding:16px 17px;border-radius:18px;background:#fff7e7;border:1px solid #f0d9a6;display:flex;gap:12px;align-items:flex-start;}
.option-notice-icon{width:34px;height:34px;border-radius:12px;background:#f6dfae;display:flex;align-items:center;justify-content:center;font-weight:900;color:#8f641f;flex:0 0 auto;}
.option-notice b{display:block;font-size:15px;color:#73501d;margin-bottom:5px;}
.option-notice p{font-size:14px;line-height:1.6;color:#795b2c;margin:0;}
.start-sticky{position:sticky;bottom:0;padding:10px 22px calc(14px + var(--safe-bottom));background:linear-gradient(to top,var(--bg) 75%,rgba(251,247,242,0));z-index:20;}
.class-start-btn{width:100%;min-height:56px;border-radius:18px;background:var(--brown);color:#fff;font-size:17px;font-weight:900;box-shadow:0 10px 24px rgba(91,62,43,.22);padding:15px 20px;}
.lesson-head{padding:18px 22px 14px;background:var(--bg);position:sticky;top:calc(64px + var(--safe-top));z-index:18;}
.lesson-menu{font-size:15px;font-weight:800;color:var(--ink);margin-bottom:8px;}
.lesson-count{font-size:12px;font-weight:800;color:var(--brown-light);margin-bottom:8px;}
.lesson-progress{height:6px;border-radius:99px;background:var(--sand-deep);overflow:hidden;}
.lesson-progress i{display:block;height:100%;background:var(--brown);border-radius:99px;transition:width .3s var(--ease);}
.single-step-card{margin:8px 22px 14px;background:var(--surface);border:1px solid rgba(234,225,212,.9);border-radius:24px;padding:20px;box-shadow:var(--shadow-sm);}
.single-step-number{font-size:12px;letter-spacing:.14em;font-weight:900;color:var(--brown-light);margin-bottom:8px;}
.single-step-card h1{font-size:26px;line-height:1.3;color:var(--ink);margin:0 0 18px;}
.single-step-desc{font-size:17px;line-height:1.8;white-space:pre-wrap;color:#443b34;margin:14px 0 0;}
.step-ingredients{padding:15px;border-radius:17px;background:var(--cream);margin-bottom:16px;}
.single-step-card .step-media{border-radius:17px;margin:0 0 16px;}
.lesson-safety{margin:0 22px 14px;padding:13px 15px;border-radius:14px;background:var(--red-soft);color:#8a4530;font-size:13px;line-height:1.55;font-weight:700;}
.step-nav{display:grid;grid-template-columns:1fr 1.35fr;gap:10px;position:sticky;bottom:0;padding:10px 22px calc(14px + var(--safe-bottom));background:linear-gradient(to top,var(--bg) 75%,rgba(251,247,242,0));z-index:20;}
.step-nav-btn{min-height:54px;border-radius:17px;font-size:16px;font-weight:900;padding:12px;}
.step-nav-btn.primary{background:var(--brown);color:#fff;box-shadow:0 8px 20px rgba(91,62,43,.2);}
.step-nav-btn.secondary{background:var(--surface);color:var(--brown);border:1px solid var(--line);}
.step-nav-btn:disabled{opacity:.35;}
.complete-screen{text-align:center;padding:70px 24px 40px;max-width:620px;margin:0 auto;}
.complete-emoji{font-size:72px;margin-bottom:18px;}
.complete-screen h1{font-size:30px;color:var(--ink);margin:0 0 12px;}
.complete-screen p{font-size:16px;line-height:1.75;color:var(--muted);margin:0 0 22px;}
.complete-menu{display:inline-flex;padding:11px 16px;border-radius:999px;background:var(--sand);color:var(--brown);font-weight:900;margin-bottom:26px;}
@media(min-width:720px){.welcome-card,.option-notice,.single-step-card,.lesson-safety{max-width:680px;margin-left:auto;margin-right:auto}.start-sticky,.step-nav,.lesson-head{max-width:724px;margin-left:auto;margin-right:auto}.lesson-head{top:64px;}}

/* v6: 바스크 맛 선택 + 지연 로딩 영상 */
.flavor-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;}
.flavor-btn{min-height:48px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font-size:15px;font-weight:850;padding:10px 8px;transition:.18s ease;}
.flavor-btn.active{background:var(--brown);border-color:var(--brown);color:#fff;box-shadow:0 7px 16px rgba(91,62,43,.18);}
.flavor-error{margin-top:10px;color:#a34835;font-size:13px;font-weight:750;}
.lazy-video{display:flex;align-items:center;justify-content:center;min-height:96px;background:linear-gradient(135deg,#f5eee5,#eadccd);border:1px solid rgba(91,62,43,.12);overflow:hidden;}
.video-load-btn{display:inline-flex;align-items:center;justify-content:center;min-width:156px;min-height:48px;border:0;border-radius:999px;background:var(--brown);color:#fff;font-size:15px;font-weight:900;padding:12px 20px;box-shadow:0 8px 18px rgba(91,62,43,.2);}
.lazy-video video,.single-step-card .step-media video{display:block;width:100%;height:auto;border-radius:17px;background:#000;}
@media(max-width:420px){.flavor-options{grid-template-columns:1fr;}.flavor-btn{min-height:44px;}}

/* v7: 영상 플레이스홀더 + 리뷰 전환 영역 */
.video-placeholder{min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:linear-gradient(145deg,#f7f0e8,#efe1d2);border:1px dashed rgba(91,62,43,.25);color:var(--brown);text-align:center;padding:22px;}
.video-placeholder-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--brown);color:#fff;font-size:17px;padding-left:3px;box-shadow:0 8px 18px rgba(91,62,43,.2);}
.video-placeholder b{font-size:16px;margin-top:4px;}.video-placeholder span{font-size:13px;color:var(--muted);}
.complete-screen{padding-top:54px;}
.review-section{margin:10px auto 22px;padding:25px 20px 22px;border-radius:24px;background:#fff;border:1px solid rgba(234,225,212,.95);box-shadow:var(--shadow-sm);text-align:center;}
.review-kicker{font-size:11px;font-weight:900;letter-spacing:.16em;color:var(--brown-light);margin-bottom:8px;}
.review-section h2{font-size:23px!important;line-height:1.35;margin:0 0 10px!important;}
.review-section>p{font-size:14px!important;line-height:1.7!important;margin:0 0 18px!important;}
.review-buttons{display:flex;flex-direction:column;gap:10px;}
.review-btn{min-height:54px;border-radius:16px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;text-decoration:none;font-size:15px;font-weight:900;color:#25211e;transition:transform .15s ease,box-shadow .15s ease;}
.review-btn:active{transform:scale(.985)}.review-btn span{font-size:24px;font-weight:400;}
.review-btn.naver{background:#e9faef;border:1px solid #bceacb;}.review-btn.kakao{background:#fff7cc;border:1px solid #f0df75;}.review-btn.google{background:#edf4ff;border:1px solid #c9dcf8;}
.review-tip{margin-top:15px;padding:13px 14px;border-radius:14px;background:var(--cream);display:flex;flex-direction:column;gap:5px;text-align:left;}
.review-tip b{font-size:13px;color:var(--brown)}.review-tip span{font-size:12px;line-height:1.55;color:var(--muted)}
.review-closing{margin-top:18px;font-size:13px;line-height:1.65;color:var(--muted)}
.restart-bottom{margin-top:4px;}

/* =====================================================================
   재고·발주 관리
   ===================================================================== */
.bottom-nav .nav-item{min-width:0}.bottom-nav .ni-label{font-size:10px;white-space:nowrap}
.inventory-summary{margin:18px 16px 12px;padding:20px;border-radius:24px;background:linear-gradient(145deg,#fff 0%,#fbf5ec 100%);border:1px solid #eadfce;box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:space-between;gap:14px}
.inventory-kicker{font-size:10px;font-weight:900;letter-spacing:.18em;color:var(--brown-light)}
.inventory-summary h1{margin:5px 0 4px;font-size:25px;line-height:1.2;color:var(--brown)}
.inventory-summary p{margin:0;color:var(--muted);font-size:13px}
.inventory-alert-card{width:86px;min-width:86px;height:86px;border-radius:20px;border:1px solid #dfe7dd;background:#f5faf3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#466442}
.inventory-alert-card b{font-size:26px;line-height:1}.inventory-alert-card span{font-size:11px;font-weight:800}
.inventory-alert-card.has-low{background:#fff1f0;border-color:#f4b4ae;color:#bd382e;box-shadow:0 8px 20px rgba(189,56,46,.10)}
.inventory-toolbar{position:sticky;top:62px;z-index:12;padding:8px 16px 12px;background:linear-gradient(to bottom,var(--bg) 85%,rgba(251,247,242,0));}
.inventory-search-wrap{height:46px;background:#fff;border:1px solid #e8dfd3;border-radius:15px;display:flex;align-items:center;padding:0 14px;gap:10px;box-shadow:0 4px 12px rgba(70,52,38,.04)}
.inventory-search-wrap span{font-size:23px;color:var(--muted)}.inventory-search-wrap input{border:0;outline:0;background:transparent;flex:1;font-size:15px;color:var(--text);min-width:0}
.inventory-filter-row{display:flex;gap:8px;overflow-x:auto;padding:10px 0 2px;scrollbar-width:none}.inventory-filter-row::-webkit-scrollbar{display:none}
.inventory-filter{flex:none;border:1px solid #e4d9ca;background:#fff;color:#6c5d52;border-radius:999px;padding:8px 13px;font-size:12px;font-weight:800}
.inventory-filter.active{background:var(--brown);border-color:var(--brown);color:#fff}.inventory-filter.danger{color:#b83b32}.inventory-filter.danger.active{background:#c84940;border-color:#c84940;color:#fff}
.inventory-admin-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 16px 14px}.inventory-admin-actions .btn{min-height:44px;padding:0 10px;font-size:13px}
.inventory-category{margin:0 16px 18px}.inventory-category-title{display:flex;align-items:center;justify-content:space-between;margin:0 2px 9px}.inventory-category-title>div{display:flex;align-items:center;gap:8px}.inventory-category-title h2{font-size:16px;margin:0;color:var(--brown)}.inventory-category-title b{font-size:11px;border-radius:999px;background:#eee5d9;color:#756557;padding:3px 7px}.inventory-category-edit{border:0;background:transparent;color:var(--brown-light);font-size:12px;font-weight:800;padding:7px}
.inventory-list{display:flex;flex-direction:column;gap:9px}
.inventory-item{background:#fff;border:1px solid #eadfd2;border-radius:19px;padding:15px;box-shadow:0 4px 14px rgba(75,57,43,.045);transition:border-color .18s,background .18s,box-shadow .18s}
.inventory-item.low-stock{border:2px solid #e65a50;background:#fff7f6;box-shadow:0 7px 20px rgba(204,65,55,.09)}
.inventory-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.inventory-item-info{min-width:0}.inventory-item-info h3{font-size:16px;margin:0 0 6px;color:#322923;word-break:keep-all}.low-stock .inventory-item-info h3{color:#b52e27}
.inventory-item-meta{display:flex;align-items:center;gap:6px}.inventory-min{font-size:11px;font-weight:800;color:#76665a;background:#f4eee7;padding:4px 8px;border-radius:999px}.inventory-min.no-min{color:#91887f;background:#f5f4f2}
.inventory-note{font-size:11px;color:var(--muted);margin-top:6px;line-height:1.45}.inventory-shortage{font-size:12px;font-weight:900;color:#c6372e;margin-top:7px}
.inventory-edit-btn{width:34px;height:34px;border-radius:11px;border:1px solid #e6dbcd;background:#fff;color:var(--brown);font-weight:900;font-size:16px}
.inventory-counter{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:9px;margin-top:14px}
.inventory-qty-btn{height:45px;border:0;border-radius:14px;font-size:25px;font-weight:500;line-height:1;background:#eee6dc;color:#513b2c}.inventory-qty-btn.plus{background:var(--brown);color:#fff}.inventory-qty-btn:active{transform:scale(.96)}.inventory-qty-btn:disabled{opacity:.45}
.inventory-qty-wrap{height:45px;border:1px solid #ded2c4;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;padding:0 10px;gap:5px}.low-stock .inventory-qty-wrap{border-color:#e58b84}
.inventory-qty-input{width:74px;max-width:65%;border:0;outline:0;background:transparent;text-align:right;font-size:21px;font-weight:900;color:#382b23}.inventory-qty-wrap span{font-size:12px;font-weight:800;color:#76685d;white-space:nowrap}
.inventory-edit-form{display:flex;flex-direction:column;gap:13px;padding:3px 2px 14px}.inventory-edit-form label{font-size:12px;font-weight:800;color:#69594e;display:flex;flex-direction:column;gap:6px}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.inventory-edit-form select.form-input{appearance:auto}.sheet-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.sheet-actions .btn{min-width:74px}
@media (min-width:720px){.inventory-summary,.inventory-toolbar,.inventory-admin-actions,.inventory-category{max-width:760px;margin-left:auto;margin-right:auto}.inventory-list{display:grid;grid-template-columns:1fr 1fr}.inventory-toolbar{top:65px}}

/* 입간판 예약 페이지 관리자 */
.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:4px 0 18px}.section-head h2{margin:0;font-size:24px;letter-spacing:-.04em}.section-head p{margin:7px 0 0;color:var(--muted,#786b62);font-size:13px}.form-card{background:#fff;border:1px solid #ece4dd;border-radius:20px;padding:17px;margin-bottom:13px}.form-grid-2{display:grid;grid-template-columns:1fr 2fr;gap:10px}.editor-list-head{display:flex;align-items:center;justify-content:space-between;margin:25px 2px 12px}.editor-list-head h3{margin:0}.bp-menu-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.bp-order{display:flex;gap:5px}.bp-order button{border:1px solid #e5dcd4;background:#fff;border-radius:9px;padding:6px 9px;font-weight:700}.bp-order button.danger{color:#b13b35}.bp-lang-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:15px 0 9px}.bp-lang-tabs span{background:#f4eee8;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:700}.bp-lang-row{grid-template-columns:1fr 1.4fr}.sticky-save{position:sticky;bottom:82px;z-index:5;background:linear-gradient(transparent,#fbf7f2 24%);padding:18px 0 6px}.qr-admin-card{text-align:center}.qr-admin-card h3{margin-top:0}.qr-admin-card p{color:#786b62;font-size:13px}.qr-admin-card img{display:block;width:min(260px,80%);margin:16px auto;border-radius:16px}.qr-admin-card code{display:block;overflow-wrap:anywhere;background:#f6f1ec;padding:10px;border-radius:10px;font-size:11px;margin-bottom:12px}@media(max-width:520px){.section-head{display:block}.section-head>a{margin-top:12px}.form-grid-2,.bp-lang-row{grid-template-columns:1fr}.bp-menu-top{align-items:flex-start}.bp-order{flex-wrap:wrap;justify-content:flex-end}}

/* Basque multilingual forced subtitle overlay */
 .caption-video-wrap{position:relative;width:100%;overflow:hidden;border-radius:inherit;background:#000}
.caption-video-wrap video{display:block;width:100%;height:auto}
.video-caption-overlay{
  position:absolute;
  left:4%;
  right:4%;
  bottom:10px;
  z-index:5;
  padding:7px 10px;
  border-radius:8px;
  background:rgba(0,0,0,.58);
  color:#fff;
  font-size:14px;
  font-weight:700;
  line-height:1.35;
  text-align:center;
  white-space:pre-line;
  word-break:keep-all;
  text-shadow:0 1px 2px rgba(0,0,0,.45);
  pointer-events:none;
  display:none;
  max-height:3.1em;
  overflow:hidden;
}
@media (max-width:480px){
  .video-caption-overlay{
    left:3%;
    right:3%;
    bottom:8px;
    padding:6px 8px;
    border-radius:7px;
    font-size:13px;
    line-height:1.3;
    background:rgba(0,0,0,.55);
    max-height:3.0em;
  }
}

/* =====================================================================
   /global 외국인 예약페이지 전용
   ===================================================================== */
.global-booking-view{padding:16px 20px 60px;display:flex;flex-direction:column;gap:20px;}
.global-hero{padding:8px 2px;}
.global-hero h1{font-size:22px;font-weight:800;color:var(--brown);margin-bottom:6px;}
.global-hero p{font-size:13.5px;color:var(--muted);line-height:1.5;}
.global-location-link{display:flex;align-items:center;gap:6px;text-decoration:none;color:var(--brown);background:#fff;border:1px solid var(--line);border-radius:var(--radius-pill);padding:10px 16px;font-size:13px;font-weight:700;width:fit-content;margin:4px 2px 14px;}

.global-form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);padding:16px;display:flex;flex-direction:column;gap:14px;}

.global-guests{display:flex;flex-direction:column;gap:14px;}
.global-guest-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);padding:16px;display:flex;flex-direction:column;gap:12px;}
.global-guest-head{display:flex;align-items:center;justify-content:space-between;}
.global-guest-head b{font-size:15px;color:var(--brown);}
.global-guest-price{font-size:14px;font-weight:800;color:var(--brown-2);}
.global-menu-photo{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--radius-md);}
.global-menu-gallery{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px;}
.global-menu-gallery-item{flex:0 0 auto;width:110px;height:110px;border-radius:var(--radius-md);background-size:cover;background-position:center;background-color:var(--sand);}
.global-menu-desc{font-size:12.5px;color:var(--muted);margin-top:-6px;}
.global-quick-facts{list-style:none;margin:6px 0 4px;padding:0;display:flex;flex-direction:column;gap:7px;}
.global-quick-facts li{position:relative;padding-left:16px;font-size:12.5px;color:var(--text,#332f2a);line-height:1.5;}
.global-quick-facts li::before{content:"";position:absolute;left:0;top:6px;width:5px;height:5px;border-radius:50%;background:var(--brown);}
.global-suggestion{font-size:12px;color:var(--gold);background:var(--gold-soft);border-radius:var(--radius-sm);padding:8px 10px;margin-top:6px;}

.global-total-bar{position:sticky;bottom:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);padding:14px 16px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 6px 20px rgba(72,50,36,.08);}
.global-total-bar span{font-size:13px;color:var(--muted);font-weight:700;}
.global-total-bar b{font-size:19px;color:var(--brown);}

.global-summary-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);padding:16px;display:flex;flex-direction:column;gap:12px;margin-top:12px;}
.global-summary-text{white-space:pre-wrap;font-family:inherit;font-size:13px;line-height:1.7;color:var(--text,#332f2a);background:var(--cream);border-radius:var(--radius-sm);padding:14px;}
.global-summary-error{color:var(--red);background:var(--red-soft);border-radius:var(--radius-sm);padding:12px 14px;font-size:13px;font-weight:700;}
.contact-hint{font-size:12.5px;color:var(--muted);line-height:1.6;text-align:center;margin:8px 0 0;}
.pay-action-group{display:flex;flex-direction:column;gap:8px;margin-top:16px;}
.pay-action-step{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:800;color:var(--brown);}
.pay-action-step .pay-action-num{width:20px;height:20px;border-radius:50%;background:var(--sand);color:var(--brown);font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.pay-modal-content .payment-warning{color:var(--red);font-weight:700;background:var(--red-soft);border-radius:var(--radius-sm);padding:10px 12px;margin-top:16px;font-size:12.5px;line-height:1.6;}

.global-payment-notice{background:var(--sand);border-radius:var(--radius-md);padding:16px;display:flex;flex-direction:column;gap:8px;}
.global-payment-notice p{font-size:13px;color:var(--brown-2);line-height:1.6;}
.global-payment-notice p.payment-warning{color:var(--red);font-weight:700;background:var(--red-soft);border-radius:var(--radius-sm);padding:10px 12px;}
.global-payment-methods{display:flex;gap:8px;margin-top:4px;}
.payment-badge{font-size:12.5px;font-weight:800;padding:6px 12px;border-radius:var(--radius-pill);background:#fff;color:var(--brown);border:1px solid var(--line);}
.payment-qr-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:4px;}
.payment-qr-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);padding:12px;display:flex;flex-direction:column;align-items:center;gap:8px;}
.payment-qr-card img{width:100%;max-width:180px;border-radius:var(--radius-sm);}
@media (max-width:400px){.payment-qr-grid{grid-template-columns:1fr;}.payment-qr-card img{max-width:220px;}}

.pay-modal-content{background:var(--surface);border-radius:var(--radius-lg);padding:24px;max-width:420px;width:100%;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-lg);position:relative;text-align:left;}
.pay-modal-content h3{font-size:17px;font-weight:800;color:var(--ink);margin:0 0 16px;padding-right:28px;}
.pay-step-title{font-size:14px;font-weight:800;color:var(--brown);margin:16px 0 10px;}
.pay-modal-content hr{border:none;border-top:1px solid var(--line);margin:18px 0;}
.pay-modal-content .modal-close{position:absolute;right:16px;top:16px;width:32px;height:32px;border-radius:50%;background:var(--sand);border:0;font-size:20px;line-height:1;color:var(--ink);display:flex;align-items:center;justify-content:center;}
.pay-checklist{background:var(--green-soft);color:var(--green);font-weight:700;font-size:13px;border-radius:var(--radius-sm);padding:12px 14px;margin-top:16px;line-height:1.6;}

.global-process h2{font-size:15px;font-weight:800;color:var(--brown);margin-bottom:10px;}
.global-process-list{display:flex;flex-direction:column;gap:8px;}
.global-process-list li{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted-2);background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;}
.global-process-list li span{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:var(--sand);color:var(--brown);font-size:11.5px;font-weight:800;display:flex;align-items:center;justify-content:center;}

/* ------------------------------------------------------------------ */
/* /reserve — 외국인 자체 예약 플로우 (기존 토큰만 재사용, 새 색상 없음)      */
/* ------------------------------------------------------------------ */
.fr-progress{display:flex;justify-content:space-between;gap:4px;padding:4px 2px 14px;overflow-x:auto;}
.fr-progress-step{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1 0 auto;min-width:44px;opacity:.5;}
.fr-progress-step.active,.fr-progress-step.done{opacity:1;}
.fr-progress-num{width:22px;height:22px;border-radius:50%;background:var(--sand);color:var(--brown);font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;}
.fr-progress-step.active .fr-progress-num{background:var(--brown);color:#fff;}
.fr-progress-step.done .fr-progress-num{background:var(--gold-soft);color:var(--brown);}
.fr-progress-label{font-size:10px;font-weight:700;color:var(--muted);white-space:nowrap;}
.fr-progress-step.active .fr-progress-label{color:var(--brown);}

.fr-step-card{gap:16px;}
.fr-step-title{font-size:17px;font-weight:800;color:var(--ink);margin:0;}
.fr-step-hint{font-size:12.5px;color:var(--muted);margin:4px 0 12px;}
.fr-date-input{min-height:48px;}
.fr-empty-note{color:var(--muted);font-size:13.5px;text-align:center;padding:18px 8px;}

.fr-time-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.fr-slot-remaining{display:block;font-size:10px;font-weight:600;margin-top:2px;opacity:.75;}
.time-slot-btn{padding:10px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:56px;}
.fr-slot-full{opacity:.4;cursor:not-allowed;}

.fr-guest-stepper{display:flex;align-items:center;justify-content:center;gap:20px;padding:8px 0;}
.fr-stepper-btn{width:48px;height:48px;border-radius:50%;background:var(--sand);color:var(--brown);font-size:22px;font-weight:800;display:flex;align-items:center;justify-content:center;}
.fr-stepper-count{font-size:28px;font-weight:800;color:var(--ink);min-width:36px;text-align:center;}

.fr-guest-block{border-top:1px solid var(--line);padding-top:14px;margin-top:14px;}
.fr-guest-block:first-of-type{border-top:0;padding-top:0;margin-top:0;}
.fr-guest-head{display:flex;align-items:center;justify-content:space-between;font-size:13.5px;font-weight:800;color:var(--brown);margin-bottom:10px;}
.fr-guest-price{color:var(--brown);font-size:14px;}
.fr-guest-includes{font-size:12px;color:var(--brown-light);margin:-6px 0 10px;line-height:1.4;}

.fr-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.fr-menu-card{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;padding:0;overflow:hidden;text-align:left;display:flex;flex-direction:column;}
.fr-menu-card.active{border-color:var(--brown);box-shadow:0 0 0 2px var(--brown);}
.fr-menu-card-img{width:100%;aspect-ratio:1/1;background-size:cover;background-position:center;background-color:var(--sand);}
.fr-menu-card-noimg{display:flex;align-items:center;justify-content:center;font-size:32px;}
.fr-menu-card-name{font-size:13px;font-weight:700;color:var(--ink);padding:8px 10px 0;}
.fr-menu-card-qty{font-size:11px;color:var(--muted);padding:2px 10px 0;}
.fr-menu-card-includes{font-size:11px;color:var(--brown-light);padding:3px 10px 0;line-height:1.35;}
.fr-menu-card-price{font-size:12.5px;color:var(--muted);padding:2px 10px 10px;}

.fr-nav-row{display:flex;gap:10px;margin-top:14px;}
.fr-nav-row .btn-ghost{flex:0 0 auto;}
.fr-nav-row .btn-primary{flex:1;}
.fr-total-bar{position:static;box-shadow:none;margin-top:6px;}

.fr-order-summary{background:var(--sand);border-radius:var(--radius-sm);padding:12px 14px;display:flex;flex-direction:column;gap:6px;}
.fr-order-row{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:var(--ink);}
.fr-order-item span{color:var(--brown-2,var(--ink));}
.fr-order-total{border-top:1px solid var(--line);margin-top:4px;padding-top:8px;font-size:15px;font-weight:800;color:var(--brown);}
.fr-order-branch{border-bottom:1px solid var(--line);padding-bottom:6px;margin-bottom:2px;}
.fr-order-branch b{color:var(--brown);font-size:14px;}

.fr-terms{background:var(--gold-soft);border-radius:var(--radius-sm);padding:12px 14px;font-size:12.5px;line-height:1.6;color:var(--ink);}
.fr-terms b{color:var(--brown);}
.fr-terms p{margin:4px 0 0;}
.fr-reserve-btn{min-height:52px;font-size:15px;}

.fr-done-card{align-items:center;text-align:center;}
.fr-branch-banner{background:var(--gold-soft);color:var(--brown);font-weight:900;font-size:16px;border-radius:var(--radius-pill);padding:10px 16px;width:100%;text-align:center;border:1.5px solid var(--brown);}
.fr-done-banner{background:var(--brown);color:#fff;font-weight:800;font-size:14px;border-radius:var(--radius-pill);padding:10px 16px;width:100%;text-align:center;}
.fr-code-block{display:flex;flex-direction:column;align-items:center;gap:8px;}
.fr-code-block img{width:140px;height:140px;border-radius:var(--radius-sm);border:1px solid var(--line);}
.fr-code-text{display:flex;flex-direction:column;align-items:center;}
.fr-code-text span{font-size:11px;color:var(--muted);font-weight:700;}
.fr-code-text b{font-size:22px;letter-spacing:2px;color:var(--brown);}
.fr-address-line{font-size:12.5px;color:var(--muted);}
.fr-payment-methods{font-size:12.5px;color:var(--muted);}
.fr-language-note{background:var(--sand);border-radius:var(--radius-sm);padding:14px 16px;font-size:13px;line-height:1.65;color:var(--ink);text-align:left;}
