/* WP Restaurant Lite: consolidated styles */
.is-hidden { display:none !important; }
#wpr-calc .opts.is-collapsed { display:none; }

/* From functions.php */
.wpr-og-wrap table{width:100%;border-collapse:collapse;margin-bottom:12px}
    .wpr-og-wrap th,.wpr-og-wrap td{border-bottom:1px solid #eee;padding:6px}
    .wpr-group{border:1px solid #ddd;border-radius:8px;padding:10px;margin-bottom:12px;background:#fff}

/* From functions.php */
.post-type-menu #the-list tr { transition:opacity .15s; }
      .post-type-menu #the-list tr.ui-sortable-helper { background:#fff; box-shadow:0 4px 14px rgba(0,0,0,.16); }
      .post-type-menu .column-wpr_menu_order { width:90px; }
      .wpr-order-handle { cursor:grab; color:#2271b1; }

/* From page-menu.php */
.mini-cart-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;align-items:center;justify-content:center;z-index:9999}
  .mini-cart{background:#fff;border-radius:12px;padding:16px;width:92%;max-width:600px;box-shadow:0 10px 28px rgba(0,0,0,.25)}
  .mini-cart h4{margin:0 0 8px}
  .mini-cart table{width:100%;border-collapse:collapse;margin-top:6px}
  .mini-cart th,.mini-cart td{border-bottom:1px solid #eee;padding:6px;text-align:left;vertical-align:top}
  .mini-cart .ft{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}
  .mini-cart .sub{display:flex;justify-content:space-between;margin-top:8px}

/* From page-option.php */
.mini-cart-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;align-items:center;justify-content:center;z-index:9999}
  .mini-cart{background:#fff;border-radius:12px;padding:16px;width:92%;max-width:600px;box-shadow:0 10px 28px rgba(0,0,0,.25)}
  .mini-cart h4{margin:0 0 8px}
  .mini-cart table{width:100%;border-collapse:collapse;margin-top:6px}
  .mini-cart th,.mini-cart td{border-bottom:1px solid #eee;padding:6px;text-align:left;vertical-align:top}
  .mini-cart .ft{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}
  .mini-cart .sub{display:flex;justify-content:space-between;margin-top:8px}

/* From page-menu-calc.php */
/* 共通 */
.container { max-width: 960px; margin: 0 auto; padding: 0 16px; }
.btn { display:inline-block; padding:8px 12px; border:1px solid #ddd; border-radius:8px; background:#f7f7f7; text-decoration:none; }
.btn.secondary { background:#111; color:#fff; border-color:#111; }
.btn.ghost { background:#fff; }
.flex { display:flex; gap:10px; align-items:center; }
.grid { display:grid; grid-template-columns: repeat(auto-fill,minmax(220px,1fr)); gap:12px; }

/* 席バッジ */
.wpr-seat-badge { margin-left:auto; background:#111; color:#fff; padding:6px 10px; border-radius:999px; font-weight:700; }

/* メニュー一覧 */
#wpr-calc .menu-group { position:relative; margin:32px 0 28px; }
#wpr-calc .menu-group > h2 { display:none; }
#wpr-calc .menu-card { cursor: pointer; user-select: none; transition: box-shadow .15s ease, transform .06s ease; border:1px solid #eee; border-radius:12px; padding:12px; background:#fff; }
#wpr-calc .menu-card:hover { box-shadow: 0 10px 24px rgba(0,0,0,.06); }
#wpr-calc .menu-card:active { transform: translateY(1px); }
#wpr-calc .menu-card .price { margin-left: auto; font-weight: 700; font-size:20px;}
#wpr-calc .menu-title-line { display:flex; align-items:baseline; gap:10px; min-width:0; }
#wpr-calc .menu-title-line h3 { flex:1; min-width:0; margin:8px 0 4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#wpr-calc .menu-title-line .price { flex:none; white-space:nowrap; }
#wpr-calc .menu-card .addline { display:flex; align-items:center; gap:8px; margin-top:8px; }
#wpr-calc .menu-card .btn.add { padding:8px 12px; font-size:14px; }
#wpr-calc .muted { color:#777; font-size:12px; }
.btn { display: inline-block; color:#000; width:100%; }
.card .badge{ display:none; }

/* ▼ オプション群 UI */
#wpr-calc .og { margin-top:8px; }
#wpr-calc .og-label { font-size:12px; color:#555; margin:4px 0; }
#wpr-calc .opts { display:flex; flex-wrap:wrap; gap:6px; margin-top:4px; }
#wpr-calc .opt { border:1px solid #ddd; background:#fafafa; padding:6px 10px; border-radius:999px; cursor:pointer; font-size:12px; line-height:1; }
#wpr-calc .opt .muted { font-size:11px; margin-left:4px; }
#wpr-calc .opt.is-selected { background:#111; color:#fff; border-color:#111; }
#wpr-calc .opt-row { display:inline-flex; align-items:center; gap:4px; }
#wpr-calc .opt-qty-btn { width:28px; height:28px; padding:0; border:1px solid #ccc; border-radius:50%; background:#fff; cursor:pointer; }
#wpr-calc .opt-qty { min-width:24px; text-align:center; font-weight:700; }
#wpr-calc .searchbar { position:sticky; top:0; z-index:30; padding:10px; margin:12px 0 0; background:rgba(255,255,255,.96); border:1px solid #ddd; border-radius:12px; }
#wpr-calc .searchbar input { box-sizing:border-box; width:100%; padding:11px 42px 11px 12px; border:1px solid #bbb; border-radius:8px; font-size:16px; }
#wpr-calc .searchbar button { position:absolute; right:20px; top:28px; border:0; background:transparent; cursor:pointer; font-size:40px; }
#wpr-calc .menu-card[hidden], #wpr-calc .menu-group[hidden] { display:none !important; }
#wpr-calc-search-status { margin-top:6px; }

/* 右下ドック型カート */
/* =====================================================
   計算カート
   ===================================================== */

#wpr-calc-dock {
  position: fixed;
  right: 16px;
  bottom: 16px;

  width: 360px;
  max-height: 68vh;

  overflow: auto;

  background: #fff;
  border: 1px solid #ddd;
  border-radius: 16px;

  box-shadow: 0 8px 24px rgba(0,0,0,.12);

  z-index: 999;

  /*
   * スクロール方向による開閉
   */
  transform: translateY(0);

  transition:
    transform .28s ease,
    box-shadow .28s ease;

  will-change: transform;
}


/* -------------------------
   タイトル部分
   ------------------------- */

#wpr-calc-dock header {
  display: flex;
  align-items: center;
  justify-content: space-between;

  padding: 12px 14px;

  border-bottom: 1px solid #eee;

  background: #fff;

  /*
   * カート内部をスクロールしても
   * タイトルを上部に残す
   */
  position: sticky;
  top: 0;
  z-index: 2;
}


#wpr-calc-dock header h3 {
  margin: 0;
  font-size: 16px;
}


/* -------------------------
   カート本文
   ------------------------- */

#wpr-calc-dock .body {
  padding: 12px 14px;
}


/* =====================================================
   上方向スクロール時
   タイトルだけ残す
   ===================================================== */

#wpr-calc-dock.is-collapsed {

  /*
   * JSから
   * --dock-hide-distance
   * が設定される
   */
  transform: translateY(
    var(--dock-hide-distance, 0px)
  );

  box-shadow: 0 3px 12px rgba(0,0,0,.10);
}


/* =====================================================
   メニュー一覧下部
   カート分のスペース
   ===================================================== */

#wpr-calc {
  /*
   * JSが実際のカート高さに応じて
   * padding-bottomを書き換える
   */
  padding-bottom: var(--calc-dock-space, 120px);
}
#wpr-calc-dock .line { display:grid; grid-template-columns: 1fr 82px 88px 24px; gap:8px; align-items:center; padding:6px 0; border-bottom:1px dashed #f0f0f0; }
#wpr-calc-dock .qtyctrl { display:flex; align-items:center; justify-content:flex-end; gap:6px; }
#wpr-calc-dock .qtyctrl button { width:28px; height:28px; border-radius:8px; border:1px solid #ddd; background:#f7f7f7; cursor:pointer; }
#wpr-calc-dock .sum { text-align:right; font-weight:800; font-size:18px; padding:8px 0 0; }
#wpr-calc-dock .toolbar { display:flex; gap:8px; justify-content:flex-end; padding-top:10px; }
.key{display:none;}

/* トースト */
#wpr-calc-toast { position: fixed; right: 24px; bottom: 96px; background:#111; color:#fff; padding:10px 14px; border-radius:999px; opacity:0; transform: translateY(8px); pointer-events:none; transition: all .25s ease; }
#wpr-calc-toast.show { opacity:1; transform: translateY(0); }

@media (max-width: 740px) {
  #wpr-calc-dock { width: calc(100vw - 20px); right:10px; left:10px; }
}
	
	.catBtn{
		position:sticky;
		top:92px;
		z-index:20;
		list-style:none;
		display:flex;
		width:80%;
		margin:auto;
		padding:1vw;
		font-size:18px;
		overflow:scroll;
		background:#EEE;
	}
	.catBtn li{
		display:flex;
		padding:1vw;
		text-align:center;
		text-wrap:nowrap;
		border:solid 3px #CCC;
		border-radius:10px;
		margin-right:1vw;
		background:#E5E5E5;
	}
	.catBtn li a{text-decoration:none;color:#000;}
	.catBtn li.is-active { background:#111; border-color:#111; }
	.catBtn li.is-active a { color:#fff; font-weight:700; }
#wpr-calc .menu-group > h2 {
color: royalblue;
}

@media (max-width: 740px) {
  #wpr-calc .searchbar { top:0; }
  .catBtn { top:92px; width:100%; box-sizing:border-box; }
}

/* From header.php */
.wpr-seat-badge{ margin-left:auto; background:#111; color:#fff; padding:6px 10px; border-radius:999px; font-weight:700; }
  @media (max-width: 600px){ .wpr-seat-badge{ font-size:12px; padding:5px 8px; } }

/* From page-seat.php */
.seat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:12px}
  .seat-card{border:1px solid #ddd;border-radius:10px;padding:10px;text-align:center;background:#fff;cursor:pointer}
  .seat-card input{margin-right:6px}
  .other-wrap{display:flex;gap:8px;align-items:center;margin-top:8px}
  .notice{background:#fffae5;border:1px solid #f5d47d;border-radius:8px;padding:8px 12px;margin:12px 0}

/* From page-orders.php */
.orders-wrap{display:grid;gap:28px}
  .order-block h3{margin:0 0 12px}
  .order-list{display:grid;gap:12px}
  .order-card{border:2px solid #111;border-radius:12px;padding:12px;background:#fff}
  .order-card.pending{border-color:#f60;background:#fff8f0}
  .order-card.paid{border-color:#1fb37a;background:#f6fffb}
  .order-card.archived{border-color:#999;background:#f7f7f7}
  .order-head{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center}
  .order-code{font-weight:900;font-size:20px}
  .order-code a{text-decoration:none;color:inherit;border-bottom:1px dotted #333}
  .order-head .meta{color:#666;font-size:12px}
  .order-items{width:100%;border-collapse:collapse;margin-top:8px}
  .order-items th,.order-items td{border-bottom:1px solid #eee;padding:6px;text-align:left;vertical-align:top}
  .memo{width:100%;min-height:60px}
  .order-actions{display:flex;gap:8px;flex-wrap:wrap}
  .notice{background:#fffae5;border:1px solid #f5d47d;border-radius:8px;padding:8px 12px;margin-bottom:12px}
  /* 清算ポップアップ */
  .calc-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;align-items:center;justify-content:center;z-index:9999}
  .calc{background:#fff;border-radius:12px;padding:16px;width:92%;max-width:420px;box-shadow:0 10px 28px rgba(0,0,0,.25)}
  .calc h4{margin:0 0 8px}
  .calc .row{display:flex;justify-content:space-between;margin:6px 0}
  .calc .row input{width:160px;text-align:right}
  .calc .ft{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}

/* From page-confirm.php */
.wpr-modal-backdrop{ position:fixed; inset:0; background:rgba(0,0,0,.4); display:none; align-items:center; justify-content:center; z-index:9999;}
  .wpr-modal{ background:#fff; border-radius:12px; padding:16px; max-width:680px; width:92%; box-shadow:0 10px 30px rgba(0,0,0,.25); }
  .wpr-modal .hd{ font-weight:700; font-size:18px; margin-bottom:8px; }
  .wpr-modal .ft{ display:flex; gap:8px; justify-content:flex-end; margin-top:12px; }
  .wpr-modal table{ width:100%; border-collapse:collapse; }
  .wpr-modal th,.wpr-modal td{ border-bottom:1px solid #eee; padding:6px; text-align:left; }
