/* 冬の七夕・鍋フェス 販売出店者募集資料（主催者確認用ドラフト）共通スタイル */
:root{
  --navy:#14213d;
  --navy2:#1f2f57;
  --amber:#f4a340;
  --amber-soft:#fde6bd;
  --red:#c8472a;
  --cream:#fff8ec;
  --ink:#2a2a33;
  --muted:#6b6b78;
  --line:#e6d9c3;
  --pw:297mm;
  --ph:210mm;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  color:var(--ink);background:#d9d4ca;line-height:1.7;font-size:14px;
}
h1,h2,h3{font-family:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;line-height:1.35}

/* ---------- toolbar (screen only) ---------- */
.toolbar{
  position:sticky;top:0;z-index:50;background:var(--navy);color:#fff;
  display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;padding:10px 16px;font-size:13px;
}
.toolbar a,.toolbar button{
  color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);
  border-radius:6px;padding:5px 12px;font:inherit;text-decoration:none;cursor:pointer;
}
.toolbar a:hover,.toolbar button:hover{background:rgba(255,255,255,.25)}
.toolbar .note{opacity:.8;font-size:12px;flex:1 1 260px}
.toolbar button[aria-pressed="true"]{background:var(--amber);color:var(--navy);border-color:var(--amber)}

/* ---------- pages ---------- */
.stage{padding:20px 10px 40px;display:flex;flex-direction:column;align-items:center;gap:22px}
.page{
  width:var(--pw);height:var(--ph);background:var(--cream);position:relative;overflow:hidden;
  box-shadow:0 6px 24px rgba(0,0,0,.25);display:flex;flex-direction:column;
  page-break-after:always;break-after:page;
}
.page:last-child{page-break-after:auto;break-after:auto}
.page-head{
  display:flex;align-items:center;gap:14px;padding:14px 34px 10px;border-bottom:3px solid var(--amber);
  background:#fff;
}
.page-head .no{
  font-family:"Noto Serif JP",serif;font-weight:700;background:var(--navy);color:var(--amber);
  width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:15px;flex:none;
}
.page-head h2{font-size:24px;color:var(--navy);flex:1}
.page-head .sub{font-size:12px;color:var(--muted)}
.draft-pill{
  font-size:10.5px;color:var(--red);border:1px solid var(--red);border-radius:99px;padding:1px 10px;white-space:nowrap;background:#fff;
}
.page-body{flex:1;padding:18px 34px 10px;display:flex;flex-direction:column;gap:14px;min-height:0}
.page-foot{
  display:flex;justify-content:space-between;align-items:center;padding:6px 34px 9px;
  font-size:10.5px;color:var(--muted);border-top:1px solid var(--line);
}
.page-foot b{color:var(--red);font-weight:500}

/* ---------- blocks ---------- */
.grid{display:grid;gap:14px}
.g2{grid-template-columns:1fr 1fr}
.g3{grid-template-columns:repeat(3,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px}
.card h3{font-size:17px;color:var(--navy);margin-bottom:6px}
.card p,.card li{font-size:13px}
.card ul{padding-left:1.2em}
.card.dark{background:var(--navy);color:#fff;border-color:var(--navy)}
.card.dark h3{color:var(--amber)}
.lead{font-size:15px;line-height:1.85}
.small{font-size:11.5px;color:var(--muted)}
.callout{
  border-left:5px solid var(--amber);background:var(--amber-soft);padding:9px 14px;border-radius:0 8px 8px 0;font-size:12.5px;
}
.callout.warn{border-color:var(--red);background:#fde9e3}

/* status tags */
.tag{
  display:inline-block;font-size:10.5px;font-weight:700;padding:0 8px;border-radius:99px;margin-right:6px;
  vertical-align:middle;line-height:1.7;white-space:nowrap;
}
.tag.plan{background:#e3ecff;color:#244a9a}   /* 計画・案 */
.tag.tbd{background:#fde9e3;color:#a53219}    /* 調整中 */
.tag.chk{background:#fff1c9;color:#7a5500}    /* 要確認 */
.tag.cand{background:#ece6f6;color:#51338a}   /* 候補 */

/* replaceable field */
.ph{
  display:inline-block;border:1.5px dashed var(--red);background:#fff4f0;color:var(--red);
  padding:0 8px;border-radius:5px;font-weight:500;font-size:.95em;
}

/* spec table */
table.spec{width:100%;border-collapse:collapse;background:#fff;font-size:12.5px}
table.spec th,table.spec td{border:1px solid var(--line);padding:6px 10px;text-align:left;vertical-align:top}
table.spec th{background:var(--amber-soft);color:var(--navy);width:130px;white-space:nowrap}
table.spec td small{color:var(--muted);display:block;font-size:11px;line-height:1.5}

/* illustration */
.art{
  position:relative;overflow:hidden;border-radius:10px;
  background:
    radial-gradient(circle at 12% 28%,rgba(244,163,64,.85) 0 6px,transparent 7px),
    radial-gradient(circle at 24% 62%,rgba(255,226,160,.8) 0 4px,transparent 5px),
    radial-gradient(circle at 38% 20%,rgba(255,200,120,.65) 0 9px,transparent 10px),
    radial-gradient(circle at 52% 48%,rgba(244,163,64,.7) 0 5px,transparent 6px),
    radial-gradient(circle at 66% 16%,rgba(255,240,200,.8) 0 4px,transparent 5px),
    radial-gradient(circle at 78% 55%,rgba(255,200,120,.7) 0 8px,transparent 9px),
    radial-gradient(circle at 90% 30%,rgba(244,163,64,.8) 0 5px,transparent 6px),
    radial-gradient(circle at 70% 85%,rgba(255,226,160,.5) 0 12px,transparent 13px),
    radial-gradient(circle at 20% 90%,rgba(255,200,120,.45) 0 14px,transparent 15px),
    linear-gradient(160deg,#0e1730 0%,#1f2f57 60%,#4a3a52 100%);
}
.art svg{position:absolute;right:6%;bottom:-2%;width:34%;max-width:260px;height:auto}
.art .cap{
  position:absolute;left:10px;bottom:6px;font-size:10px;color:#fff;background:rgba(0,0,0,.45);
  padding:1px 8px;border-radius:99px;
}

/* QR placeholder */
.qrbox{
  width:120px;height:120px;border:2px dashed var(--red);background:#fff4f0;color:var(--red);
  display:grid;place-items:center;text-align:center;font-size:11px;line-height:1.5;border-radius:8px;flex:none;
}

/* steps */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.step{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 10px 12px;position:relative}
.step .n{
  font-family:"Noto Serif JP",serif;font-weight:700;color:var(--amber);background:var(--navy);
  width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:13px;margin-bottom:6px;
}
.step h3{font-size:14px;color:var(--navy);margin-bottom:6px}
.step .ph{display:block;margin-top:5px;font-size:11.5px;padding:3px 6px;line-height:1.5}

/* ---------- print ---------- */
@media print{
  html,body{background:#fff}
  .toolbar,.screen-only{display:none!important}
  .stage{padding:0;gap:0;display:block}
  .page{box-shadow:none;zoom:1!important;margin:0}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
[contenteditable="true"]{outline:1px dashed rgba(200,71,42,.35);outline-offset:2px;cursor:text}

/* ---------- 改訂（出店メリット中心）追加 ---------- */
.kpi{display:flex;flex-direction:column;gap:2px}
.kpi .lbl{font-size:12px;color:var(--muted)}
.kpi .num{font-family:"Noto Serif JP",serif;font-weight:700;font-size:54px;line-height:1.05;color:var(--red)}
.kpi .num small{font-size:22px;margin-left:4px}
.kpi .src{font-size:10.5px;color:var(--muted);line-height:1.5}
.merit{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;align-items:start}
.merit .ico{width:46px;height:46px;border-radius:12px;background:var(--navy);color:var(--amber);display:grid;place-items:center;font-size:22px}
.merit h3{font-size:17px;color:var(--navy);margin-bottom:2px}
.merit p{font-size:13px}
.hl{background:linear-gradient(transparent 62%,var(--amber-soft) 62%);font-weight:700}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);border-radius:10px;padding:8px 12px;font-size:13px;color:#fff;flex:1 1 30%}
.chip b{display:block;color:var(--amber);font-size:15px;margin-bottom:2px}
.chip small{display:block;font-size:10.5px;color:#d8d2c4;margin-top:2px;line-height:1.5}
.mini{font-size:10.5px;color:var(--red);font-weight:500}
.fee-box{border:2px solid var(--amber);background:#fff;border-radius:12px;padding:12px 16px}
.fee-box .big{font-family:"Noto Serif JP",serif;font-size:19px;color:var(--navy);font-weight:700}
.fee-box .adj{display:inline-block;margin-top:6px;font-size:12px;font-weight:700;color:#a53219;background:#fde9e3;border-radius:6px;padding:2px 10px}
/* 配置イメージ（縮尺なし） */
.zones{position:relative;background:#fff;border:1.5px dashed #9a8f7a;border-radius:12px;padding:12px;display:grid;grid-template-columns:1.3fr 1fr 1fr;grid-template-rows:auto auto;gap:8px}
.zones .z{border-radius:8px;padding:8px 10px;font-size:12.5px;line-height:1.5;color:var(--navy);font-weight:700}
.zones .z small{display:block;font-weight:400;font-size:10.5px;color:var(--muted)}
.z.a{background:#fde6bd}.z.b{background:#e3ecff}.z.c{background:#f4e3df}.z.d{background:#e6f1e3}.z.e{background:#ece6f6;grid-column:1/-1;text-align:center}
.zones .stamp2{position:absolute;right:10px;top:-11px;background:var(--red);color:#fff;font-size:10.5px;padding:1px 10px;border-radius:99px;font-weight:500}
.route{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.route .node{background:var(--navy);color:#fff;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:700;text-align:center}
.route .node small{display:block;font-weight:400;font-size:10.5px;color:#d8d2c4}
.route .arrow{color:var(--amber);font-size:20px;font-weight:700}
.route .node.alt{background:#fff;color:var(--navy);border:1.5px solid var(--navy)}
.route .node.alt small{color:var(--muted)}
