*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f4f4f4;color:#222}
body{display:flex;justify-content:center}
.app{width:min(100%,560px);padding:12px 12px 28px}
.preview-wrap{position:sticky;top:0;z-index:20;padding-bottom:8px;background:#f4f4f4}
.preview{position:relative;width:100%;aspect-ratio:1260/760;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 4px #0001}
.preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
.summary{position:sticky;top:calc(min(100vw,560px)*760/1260 + 8px);z-index:19;background:#fff;border-radius:10px;padding:12px 14px;margin-bottom:10px;box-shadow:0 1px 4px #0001}
.summary-title{font-weight:700;margin-bottom:6px}
.selected-row{display:flex;justify-content:space-between;gap:10px;padding:3px 0;font-size:14px}
.total-row{display:flex;justify-content:space-between;border-top:1px solid #eee;margin-top:7px;padding-top:9px;font-size:16px}
.status{font-size:12px;margin-top:6px}
.category{margin:10px 0;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 4px #0001}
.category>button{width:100%;padding:14px 15px;border:0;background:#fff;text-align:left;font-size:16px;font-weight:700;cursor:pointer;touch-action:manipulation}
.options{max-height:45vh;overflow:auto;border-top:1px solid #eee;-webkit-overflow-scrolling:touch}
.option{width:100%;padding:12px 15px;border:0;border-bottom:1px solid #eee;background:#fff;text-align:left;display:flex;justify-content:space-between;gap:12px;cursor:pointer;touch-action:manipulation;font-size:14px}
.option.selected{font-weight:700;background:#f1f1f1}
.price{white-space:nowrap}
.order-area{margin-top:14px}
.primary,.reset{width:100%;padding:14px;border:0;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer;touch-action:manipulation}
.primary{background:#222;color:#fff}
.primary.booth{margin-top:10px}
textarea{width:100%;min-height:150px;margin-top:10px;padding:12px;border:1px solid #ddd;border-radius:10px;background:#fafafa;resize:vertical;font:14px/1.5 inherit}
.warning{margin-top:8px;padding:10px;border-radius:8px;background:#fff3cd;font-size:13px}
.reset{margin-top:10px;background:#fff;border:1px solid #ddd}
.admin-error{margin-top:12px;padding:10px;background:#ffe5e5;border-radius:8px;font-size:12px;white-space:pre-wrap}
@media(max-width:430px){
 .app{width:100%;padding:8px}
 .preview-wrap{top:0}
 .summary{top:calc(100vw*760/1260 + 8px)}
}

#order-text{
  border:0;
  outline:0;
  box-shadow:none;
  background:transparent;
  padding:0;
  resize:none;
}

#side-1-order,
#side-2-order{
  display:block;
  width:100%;
  min-height:64px;
  margin:10px 0;
  padding:16px 18px;
  font-size:18px;
  font-weight:700;
  line-height:1.4;
  border-radius:12px;
}

/* プルタブの商品選択肢を少し高くして押しやすくする */
.option{
  min-height:58px;
  padding:16px;
  font-size:16px;
}
