/* Tour guide and savings only. Product styles.css is byte-for-byte unchanged. */
.demo-guide { padding: 16px 18px; margin-bottom: 24px; border: 1px solid var(--line); border-left: 3px solid var(--primary); border-radius: 6px; background: var(--surface); }
.demo-guide-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.demo-guide-heading a { color: var(--primary-dark); font-size: .85rem; }
.demo-guide p { font-size: .85rem; margin: 5px 0 12px; }
.demo-guide .demo-step-help { margin: 12px 0 0; }
.demo-steps { display: flex; flex-wrap: wrap; gap: 8px; }
.demo-savings { border-top: 1px solid var(--line); padding-top: 28px; margin-top: 36px; scroll-margin-top: 20px; }
.demo-savings p { max-width: 850px; font-size: .9rem; }
.demo-savings small { display: block; color: var(--muted); margin-top: 10px; }
.demo-saving-example { padding: 14px 16px; border-radius: 6px; color: var(--primary-dark); background: var(--primary-soft); }
.demo-dialog { max-width: min(540px, calc(100vw - 32px)); padding: 24px; border: 1px solid var(--line); border-radius: 8px; color: var(--text); background: var(--surface); box-shadow: var(--shadow); }
.demo-dialog::backdrop { background: rgb(15 23 42 / 45%); }
.file-picker[href] { text-decoration: none; }
@media (max-width: 560px) { .demo-guide { padding: 14px; } .demo-steps > .button { flex: 1 1 auto; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
