/* 商店、价格与图片均由内容模型提供；卡片和详情共用价格与状态样式。 */
.deals-layout { display:grid; grid-template-columns:210px minmax(0,1fr); gap:30px; margin-bottom:50px; align-items:start; }
.deal-filter-panel { border-top:2px solid var(--accent); padding-top:20px; }
.deal-filter-panel h2 { font-size:16px; margin:0 0 24px; }
.deal-filter-panel label { display:block; font-size:12px; color:var(--muted); margin:16px 0 7px; }
.deal-filter-panel select { display:block; width:100%; min-height:43px; border:1px solid var(--line); background:var(--panel); color:var(--ink); border-radius:4px; padding:9px; font:inherit; font-size:13px; }
.deal-filter-panel .button { margin-top:22px; width:100%; justify-content:center; }
.deal-reset { display:block; text-align:center; font-size:12px; color:var(--muted); padding:13px 0; }
.deal-filter-note { margin-top:22px; padding-top:20px; border-top:1px solid var(--line); color:var(--muted); font-size:12px; line-height:1.8; }
.deal-filter-note strong { color:var(--ink); font-weight:500; }
.deal-filter-note p { margin-top:8px; }
.deal-results { min-width:0; }
.deal-result-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:22px; }
.deal-result-heading h2 { font-size:22px; margin:0; overflow-wrap:anywhere; }
.deal-result-heading .result-count { flex-shrink:0; }
.deal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.deal-card { border:1px solid var(--line); border-radius:var(--radius); background:var(--panel); overflow:hidden; min-width:0; display:flex; flex-direction:column; transition:border-color .15s; }
.deal-card:hover { border-color:var(--accent); }
.deal-art { display:block; aspect-ratio:16/10; background:var(--night); overflow:hidden; }
.deal-art .artwork-image, .deal-art .artwork-placeholder { height:100%; }
.deal-copy { display:flex; flex-direction:column; flex:1; padding:18px; min-width:0; }
.deal-meta { display:flex; align-items:center; flex-wrap:wrap; gap:8px; font-size:10px; color:var(--muted); }
.deal-store { font-size:12px; font-weight:650; color:var(--ink); overflow-wrap:anywhere; }
.deal-state { padding:3px 7px; border:1px solid var(--line); border-radius:3px; font-size:10px; }
[data-deal-state=active] .deal-state { color:var(--accent-hover); border-color:color-mix(in srgb,var(--accent) 35%,var(--line)); }
.deal-demo { color:var(--muted); font-size:10px; }
.deal-kind { margin:13px 0 7px; font-size:11px; color:var(--accent-hover); }
.deal-card h2 { font-size:18px; line-height:1.5; margin:0 0 9px; overflow-wrap:anywhere; }
.deal-card h2 a:hover { color:var(--accent-hover); }
.deal-summary { color:var(--muted); font-size:12px; line-height:1.75; margin:0 0 20px; overflow-wrap:anywhere; }
.deal-price-row { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding-top:4px; }
.deal-card .deal-price-row { margin-top:auto; }
.deal-discount { padding:7px 9px; border-radius:4px; color:var(--ink); background:var(--panel-raised); border:1px solid var(--line); font-size:17px; font-weight:700; font-variant-numeric:tabular-nums; }
.deal-price { display:flex; flex-direction:column; gap:4px; min-width:0; }
.deal-price strong { font-size:21px; line-height:1.3; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.deal-price > span { font-size:11px; color:var(--muted); }
.deal-card-bottom { margin-top:19px; padding-top:13px; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; font-size:11px; color:var(--muted); }
.deal-card-bottom a { color:var(--ink); padding:4px 0; }
.deal-deadline { margin:9px 0 0; color:var(--muted); font-size:10px; line-height:1.7; overflow-wrap:anywhere; }
.deal-heading { max-width:850px; margin:25px 0 28px; }
.deal-heading .deal-kind { margin:0; }
.deal-heading h1, .deal-heading .deal-title { font-size:clamp(28px,3.5vw,44px); line-height:1.3; margin:18px 0 14px; overflow-wrap:anywhere; }
.deal-heading > p { color:var(--muted); font-size:16px; line-height:1.8; }
.deal-notice { padding:13px 17px; border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:3px; color:var(--muted); background:var(--panel); font-size:12px; line-height:1.8; margin:0 0 25px; }
.deal-detail-grid { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr); gap:32px; align-items:start; }
.deal-editorial { min-width:0; }
.deal-detail-art { aspect-ratio:16/9; overflow:hidden; border-radius:5px; background:var(--panel); }
.deal-detail-art > img, .deal-detail-art > .artwork-placeholder { width:100%; height:100%; }
.deal-reason { margin:30px 0; }
.deal-reason h2 { font-size:23px; margin:0 0 18px; }
.deal-reason > p:last-child { white-space:pre-line; overflow-wrap:anywhere; line-height:1.95; color:var(--muted); font-size:15px; }
.deal-work-link { display:grid; grid-template-columns:1fr auto; gap:8px 20px; border-top:1px solid var(--line); padding:20px 0; }
.deal-work-link > span:first-child { font-size:11px; color:var(--muted); }
.deal-work-link strong { grid-column:1; font-size:17px; overflow-wrap:anywhere; }
.deal-work-link > span:last-child { grid-column:2; grid-row:1 / 3; align-self:center; }
.deal-offer { background:var(--panel); border:1px solid var(--line); border-top:3px solid var(--accent); border-radius:var(--radius); padding:25px; min-width:0; }
.deal-offer .deal-price strong { font-size:28px; }
.deal-entitlement { color:var(--muted); font-size:13px; line-height:1.8; margin:20px 0; }
.deal-visit { width:100%; justify-content:center; }
.deal-unavailable { background:var(--panel-raised); border:1px solid var(--line); border-radius:4px; color:var(--muted); padding:13px; font-size:13px; text-align:center; }
.deal-facts { margin:24px 0; font-size:12px; }
.deal-facts > div { display:grid; grid-template-columns:80px minmax(0,1fr); gap:8px; padding:12px 0; border-bottom:1px solid var(--line); }
.deal-facts dt { color:var(--muted); }
.deal-facts dd { margin:0; text-align:right; overflow-wrap:anywhere; }
.deal-footnote { font-size:11px; line-height:1.8; color:var(--muted); }
.deal-discuss { display:block; margin-top:18px; font-size:12px; color:var(--accent-hover); }
.work-deals { margin:35px 0; }
.home-deals { padding-top:30px; border-top:1px solid var(--line); }
@media(max-width:1200px) { .deal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:900px) { .deals-layout { grid-template-columns:180px minmax(0,1fr); gap:20px; } .deal-detail-grid { grid-template-columns:1fr; } .deal-offer { grid-row:1; } .deal-filter-panel h2 { font-size:14px; } }
@media(max-width:700px) { .deals-layout { grid-template-columns:1fr; } .deal-filter-panel form { display:grid; grid-template-columns:1fr 1fr; gap:8px 14px; } .deal-filter-panel h2 { grid-column:1 / -1; margin-bottom:8px; } .deal-filter-panel label { margin:0; align-self:center; } .deal-filter-panel select { min-width:0; } .deal-filter-panel .button { margin:12px 0 0; grid-column:1 / -1; } .deal-reset { grid-column:1 / -1; padding:5px; } .deal-filter-note { display:none; } .deal-result-heading { margin-top:8px; } .deal-result-heading h2 { font-size:19px; } }
@media(max-width:520px) { .deal-grid { grid-template-columns:1fr; } .deal-copy { padding:18px; } .deal-heading > p { font-size:14px; } .deal-offer { padding:20px; } }
.deal-source-small{font-size:.7rem;color:var(--muted);margin:7px 0 0;line-height:1.6;overflow-wrap:anywhere}
.deal-source-small a,.deal-source-bar a{color:var(--ink);text-underline-offset:3px}
.deal-source-bar{display:flex;align-items:baseline;gap:6px 10px;flex-wrap:wrap;padding:13px 16px;border:1px solid var(--line);border-radius:8px;font-size:.78rem;color:var(--muted);margin:0 0 20px;overflow-wrap:anywhere}
.deal-source-bar span{margin-left:auto}
.deal-card[data-deal-state="stale"] .deal-price strong,.deal-card[data-deal-state="stale"] .deal-discount{color:var(--muted)}
@media(max-width:600px){.deal-source-bar span{flex-basis:100%;margin-left:0}}
.price-low-badge{display:inline-block;max-width:100%;padding:5px 9px;border:1px solid var(--deal-badge-line);border-radius:4px;color:var(--accent-hover);background:var(--deal-badge-bg);font-size:11px;line-height:1.6;overflow-wrap:anywhere;margin:0 0 14px}
.price-history{margin:48px 0;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);min-width:0}
.price-history-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:26px}.price-history-heading h2{margin:8px 0 0;font-size:26px}.price-periods{display:flex;gap:4px;flex-wrap:wrap}.price-periods a{padding:8px 12px;font-size:12px;border:1px solid var(--line);border-radius:4px}.price-periods a[aria-current=page]{background:var(--accent);color:var(--night);border-color:var(--accent)}
.price-history-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding-bottom:24px;border-bottom:1px solid var(--line)}.price-history-stats>div{display:grid;gap:8px;min-width:0}.price-history-stats span,.price-history-stats small{color:var(--muted);font-size:11px;line-height:1.6;overflow-wrap:anywhere}.price-history-stats strong{font-size:22px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.price-chart{margin-top:18px;display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px}.price-chart-axis{display:flex;flex-direction:column;justify-content:space-between;height:190px;padding:9px 0 14px;text-align:right;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.price-chart-plot{min-width:0}.price-chart svg{width:100%;height:190px;display:block;overflow:visible}.price-chart-dates{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.price-grid-line{stroke:var(--line);stroke-width:1}.price-range-line{stroke:var(--accent);stroke-width:3;vector-effect:non-scaling-stroke}.price-point{stroke:var(--accent-hover);stroke-width:7;stroke-linecap:round;vector-effect:non-scaling-stroke}
.price-history-caption,.price-history-empty p{font-size:12px;color:var(--muted);line-height:1.85}.price-history-table{margin:22px 0}.price-history-table summary{font-size:13px;cursor:pointer;padding:12px 0}.price-table-scroll{overflow-x:auto}.price-history-table table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}.price-history-table th,.price-history-table td{text-align:left;padding:12px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.price-history-table th{color:var(--muted)}.source-low-reference{margin-top:22px;padding:20px;border-left:2px solid var(--accent);background:var(--panel-raised);font-size:12px}.source-low-reference>div{display:flex;gap:14px;justify-content:space-between;flex-wrap:wrap;line-height:1.7}.source-low-reference strong{font-size:19px}.source-low-reference p{color:var(--muted);line-height:1.8;margin-bottom:0}.source-low-reference a{color:var(--accent-hover)}
.deal-watch-panel{margin:34px 0;padding:24px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius);background:var(--panel);min-width:0}
.deal-watch-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.deal-watch-head h2{margin:6px 0 0;font-size:22px}
.deal-watch-note,.deal-watch-muted{color:var(--muted);font-size:13px;line-height:1.75;overflow-wrap:anywhere}
.deal-watch-status{margin:0 0 16px;font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.deal-watch-status[data-watch-state="enabled"] strong{color:var(--accent-hover)}
.deal-watch-form{display:grid;gap:16px}
.deal-watch-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.deal-watch-fields label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}
.deal-watch-fields select,.deal-watch-fields input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:4px;background:var(--night);color:var(--ink);font:inherit;font-size:14px}
.deal-watch-actions{display:flex;flex-wrap:wrap;gap:10px}
.deal-watch-secondary{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.deal-watch-row{grid-template-columns:96px minmax(0,1fr) auto}
.deal-watch-row-body{min-width:0}
.deal-watch-row-body h2,.deal-watch-row-body p{overflow-wrap:anywhere}
.deal-watch-row-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
@media(max-width:700px){.deal-watch-fields{grid-template-columns:1fr}.deal-watch-panel{padding:18px}.deal-watch-row{grid-template-columns:1fr}.deal-watch-row-actions .button{width:100%}}
@media(max-width:600px){.price-history{padding:18px;margin:30px 0}.price-history-stats{grid-template-columns:1fr;gap:18px}.price-history-stats>div{grid-template-columns:1fr auto;gap:5px 12px}.price-history-stats strong{font-size:19px;grid-column:2;grid-row:1/3;align-self:center}.price-history-stats small{grid-column:1}.price-chart{grid-template-columns:62px minmax(0,1fr);gap:8px}.price-chart-dates{font-size:10px}.source-low-reference{padding:15px}}
