/* 即時優惠入口延用活動站色票、格線、照片拼貼與卡片，補上長期操作與狀態。 */
.hero::before { display:none; }
.offers-nav { display:flex; flex-wrap:wrap; gap:14px; font-weight:800; }
.offers-secondary-action { padding:12px 16px; border:1px solid var(--ink); border-radius:12px; font-weight:800; }
.summary-grid.offers-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
.offers-freshness-note { color:var(--ink-mute); font-size:14px; margin:12px 0; }
.offer-guide { margin:32px 0; padding:26px; border:1px solid var(--line-strong); border-radius:24px; background:var(--card-soft); }
.offer-guide-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.offer-guide-grid strong,.offer-guide-grid span { display:block; }
.offer-guide-grid strong { margin-bottom:8px; color:var(--rust-deep); }
.offer-page-shell { max-width:760px; }
.offer-page-card { margin:30px 0; padding:24px; border:1px solid var(--line-strong); border-radius:24px; background:var(--card); }
.offer-page-card h1 { font-size:28px; margin:0 0 16px; overflow-wrap:anywhere; }
.offer-store-photo { width:100%; max-height:320px; object-fit:cover; border-radius:16px; }
.offer-photo-placeholder { min-height:180px; display:grid; place-items:center; background:var(--sand-pale); color:var(--ink-mute); border-radius:14px; }
.offer-address { margin:12px 0; color:var(--ink-mute); overflow-wrap:anywhere; }
.offer-description p { white-space:pre-wrap; }
.offer-share-feedback { overflow-wrap:anywhere; margin:4px 0; }
.offer-share-feedback a,.offers-other { text-decoration:underline; }
.empty-state button { padding:10px 18px; border:1px solid var(--ink); border-radius:12px; background:var(--card-solid); font:inherit; cursor:pointer; }
.empty-state a { display:block; margin-top:16px; text-decoration:underline; }
.offer-summary-button { text-decoration:none; }
/* 總覽已分批顯示店家，避免舊長清單的推估高度造成手機卡片留白與跳動。 */
.partner-card { content-visibility:visible; contain-intrinsic-size:none; }
.partner-address { margin:0; color:var(--ink-mute); font-size:13px; }
.offer-dialog-shell { padding-top:max(22px,env(safe-area-inset-top)); }
.offer-dialog-header { position:sticky; top:-22px; z-index:1; background:var(--card-solid); padding:8px 0; }
.offer-dialog .offer-store-photo { max-height:230px; }
.offer-dialog-actions a,.offer-dialog-actions button { min-height:44px; }
@media(max-width:600px) {
  .offers-nav { gap:10px; font-size:14px; }
  .offers-summary dd { flex-wrap:wrap; }
  .offer-guide-grid { grid-template-columns:1fr; gap:4px; }
  .offer-page-card { padding:18px; }
  .offer-dialog { width:calc(100% - 20px); max-height:calc(100dvh - 20px); }
  .offer-dialog-shell { max-height:calc(100dvh - 20px); padding:18px; padding-bottom:max(18px,env(safe-area-inset-bottom)); }
}
