/* Stitch 5212212550690480676：只調整查詢頁外圍，不覆寫座位圖或其變數。 */
body[data-page="seating-map"][data-wedding-ui="guest"] {
  --seat-ui-wine:#7a2e3b; --seat-ui-ink:#2d2426; --seat-ui-muted:#786c6e; --seat-ui-border:#efe8de;
  background:#fcf9f3;
}
.seating-site-nav { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:84px; padding:16px max(24px,calc((100% - 1200px)/2)); border-bottom:1px solid #efe8de; background:#fffdf9; }
.seating-site-nav a { display:inline-flex; align-items:center; text-decoration:none; min-height:44px; }
.seating-brand { gap:12px; color:var(--seat-ui-ink); flex:none; }
.seating-brand-mark { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:#f7eeea; color:var(--seat-ui-wine); font-family:var(--wedding-heading); font-size:22px; }
.seating-brand strong { display:block; font-family:var(--wedding-heading); font-size:1rem; font-weight:500; }
.seating-brand small { display:block; font-size:.65rem; letter-spacing:.13em; color:var(--seat-ui-muted); text-transform:uppercase; margin-top:3px; }
.seating-top-links { display:flex; align-items:center; gap:8px; }
.seating-top-links a { color:#58494b; font-size:.8rem; padding:8px 14px; border-radius:99px; }
.seating-top-links a[aria-current="page"] { background:var(--seat-ui-wine); color:#fff; }
.seating-top-links a:hover:not([aria-current]) { background:#f5eee6; }
.seating-home-link { color:#786c6e; gap:8px; font-size:.8rem; }
.seating-hero { text-align:center; padding:56px 20px 16px; max-width:740px; margin:auto; }
.seating-emblem { width:58px; height:58px; margin:0 auto 14px; display:grid; place-items:center; border-radius:50%; border:1px solid #eaded4; background:#fffaf4; color:var(--seat-ui-wine); }
.seating-emblem svg { width:28px; height:28px; }
.seating-eyebrow { margin:0 0 8px; text-transform:uppercase; font-size:.65rem; letter-spacing:.2em; color:#89715d; }
body[data-page="seating-map"][data-wedding-ui="guest"] .seating-hero h1 { font-family:var(--wedding-heading); font-size:2.25rem; font-weight:600; letter-spacing:.06em; color:var(--seat-ui-ink); line-height:1.4; margin:0 0 12px; }
.seating-intro { color:var(--seat-ui-muted); font-size:.9rem; line-height:1.9; margin:0 auto; }
body[data-page="seating-map"] .seating-query { max-width:580px; padding:12px 16px 0; margin:0 auto 28px; border:0; border-radius:0; background:transparent; box-shadow:none; }
.seating-field-label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
body[data-page="seating-map"] .seating-query .search-box { display:flex; flex-direction:row; align-items:center; gap:8px; border:1px solid #e9dfd6; border-radius:99px; padding:6px 6px 6px 18px; background:#fff; box-shadow:0 4px 18px #7a2e3b08; margin-bottom:12px; }
.seating-search-icon { color:#927d78; flex:none; display:flex; }
.seating-search-icon svg { width:18px; height:18px; }
body[data-page="seating-map"] .seating-query #search-name-input { flex:1; width:0; min-width:0; max-width:none; min-height:44px; padding:10px 2px; border:0; border-radius:0; background:transparent; color:var(--seat-ui-ink); box-shadow:none; font-size:1rem; }
body[data-page="seating-map"] .seating-query .search-box:focus-within { outline:3px solid #d4af3740; border-color:#b6965a; }
body[data-page="seating-map"] .seating-query #search-name-input:focus-visible { outline:0; }
body[data-page="seating-map"] .seating-query #search-guest-btn { flex:none; width:auto; min-height:44px; padding:10px 22px; background:var(--seat-ui-wine); border:0; border-radius:99px; color:#fff; font-size:.9rem; font-weight:600; white-space:nowrap; transform:none; }
body[data-page="seating-map"] .seating-query #search-guest-btn:hover:not(:disabled) { background:#63232f; }
body[data-page="seating-map"] .seating-query #search-guest-btn:disabled { background:#e9dce0; color:#67555b; cursor:wait; }
#seating-search-help { margin:0; color:var(--seat-ui-muted); text-align:center; font-size:.75rem; line-height:1.8; }
body[data-page="seating-map"] .seating-query .error-msg { font-size:.875rem; font-weight:500; line-height:1.8; border-radius:16px; color:#922b35; background:#fff2f1; border-color:#e5b7b8; }
/* 查詢結果沿用原欄位與腳本；地圖內的桌號、圖例、彈窗不適用。 */
body[data-page="seating-map"] #result-section { max-width:580px; margin:0 auto 20px; padding:0 16px; }
body[data-page="seating-map"] #result-section .guest-info { padding:0 16px 14px; border:1px solid #eee3db; border-radius:20px; background:#fff; box-shadow:0 10px 30px -6px #7a2e3b12; overflow:hidden; animation:none; }
body[data-page="seating-map"] #result-section .venue-summary { margin:0 -16px 10px; padding:8px 16px; border:0; border-bottom:1px solid #f1e6e2; background:#fcf3f2; color:var(--seat-ui-wine); font-size:.8rem; }
body[data-page="seating-map"] #result-section .venue-summary > span { border-left:2px solid var(--seat-ui-wine); padding-left:8px; }
body[data-page="seating-map"] #result-section .guest-header { border:0; margin-bottom:10px; padding-bottom:0; }
body[data-page="seating-map"] #result-section .guest-name { font-family:var(--wedding-heading); font-size:1.35rem; font-weight:600; color:var(--seat-ui-wine); overflow-wrap:anywhere; }
body[data-page="seating-map"] #result-section .table-badge { background:var(--seat-ui-wine); color:#fff!important; border-radius:99px; padding:10px 24px; font-size:1.2rem; font-family:var(--wedding-heading); }
body[data-page="seating-map"] #result-section .info-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0; }
body[data-page="seating-map"] #result-section .info-item { border:1px solid #eee7dc; border-radius:12px; background:#faf7f1; padding:8px 10px; min-width:0; }
body[data-page="seating-map"] #result-section .info-label { font-size:.75rem; color:var(--seat-ui-muted); }
body[data-page="seating-map"] #result-section .info-value { color:var(--seat-ui-ink); font-size:1rem; line-height:1.7; overflow-wrap:anywhere; }
body[data-page="seating-map"] #result-section .table-name { color:var(--seat-ui-wine); }
@media(max-width:959px) {
  .seating-site-nav { min-height:66px; padding:10px 20px; }
  .seating-top-links { display:none; }
  .seating-brand strong { font-size:.85rem; }
  .seating-brand small { font-size:.55rem; }
  .seating-hero { padding-top:32px; }
}
@media(max-width:600px) {
  .seating-site-nav { padding:10px 16px; gap:12px; }
  .seating-home-link { font-size:.75rem; }
  .seating-brand { gap:8px; }
  .seating-brand-mark { width:32px; height:32px; font-size:20px; }
  .seating-brand small { letter-spacing:.08em; }
  .seating-hero { padding:28px 20px 8px; }
  .seating-emblem { width:48px; height:48px; margin-bottom:12px; }
  body[data-page="seating-map"][data-wedding-ui="guest"] .seating-hero h1 { font-size:1.75rem; margin-bottom:8px; }
  .seating-intro { font-size:.8rem; }
  .seating-intro span { display:block; }
  body[data-page="seating-map"] .seating-query { margin-bottom:20px; }
  body[data-page="seating-map"] .seating-query .search-box { padding-left:12px; gap:6px; }
  body[data-page="seating-map"] .seating-query #search-guest-btn { padding:10px 14px; font-size:.8rem; }
  #seating-search-help { text-align:left; font-size:.75rem; padding:0 8px; }
  body[data-page="seating-map"] #result-section { margin-bottom:16px; }
  body[data-page="seating-map"] #result-section .guest-info { border-radius:20px; }
}
/* 共用無 class 連結色不應覆蓋目前頁籤的白字。 */
body[data-page="seating-map"] .seating-top-links a[aria-current="page"] { color:#fff; }
