/* Generic business pages (FAQ, Contact, Privacy, Terms). Colors follow the business's brand (--indigo is set by shared/business.js). */
:root { --indigo: #4338ca; --ink: #14142b; --muted: #5b5b7a; --line: #e5e5f0; --soft: #f6f6fb; }
* { box-sizing: border-box; }
body { margin: 0; font: 17px/1.65 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color: var(--ink); background: #fff; }
a { color: var(--indigo); }
.bp-wrap { max-width: 860px; margin: 0 auto; padding: 0 22px; }
.bp-head { border-bottom: 1px solid var(--line); background: #fff; position: sticky; top: 0; z-index: 10; }
.bp-bar { display: flex; align-items: center; gap: 22px; min-height: 66px; flex-wrap: wrap; padding: 8px 0; }
.bp-brand { font-weight: 900; font-size: 1.15rem; color: var(--indigo); text-decoration: none; margin-right: auto; display: flex; align-items: center; gap: 10px; }
.bp-brand img { height: 40px; width: auto; display: block; }
.bp-nav { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; font-weight: 600; font-size: .95rem; }
.bp-nav a { color: var(--ink); text-decoration: none; }
.bp-nav a:hover { color: var(--indigo); }
.bp-book { background: var(--indigo); color: #fff !important; padding: 9px 18px; border-radius: 999px; font-weight: 800; }
main.bp-main { padding: 44px 0 70px; }
h1 { font-size: clamp(1.8rem, 4vw, 2.5rem); line-height: 1.15; margin: 0 0 8px; letter-spacing: -.02em; }
.bp-sub { color: var(--muted); margin: 0 0 30px; }
h2 { font-size: 1.3rem; margin: 34px 0 10px; }
p, li { color: #34344f; }
ul { padding-left: 22px; }
details { border: 1px solid var(--line); border-radius: 12px; padding: 2px 18px; margin-bottom: 10px; }
summary { cursor: pointer; font-weight: 700; padding: 14px 0; }
details p { margin: 0 0 14px; color: var(--muted); }
.bp-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px; margin: 8px 0 26px; }
.bp-card { border: 1px solid var(--line); border-radius: 14px; padding: 20px; background: var(--soft); }
.bp-card b { display: block; font-size: .78rem; text-transform: uppercase; letter-spacing: .07em; color: var(--muted); margin-bottom: 6px; }
.bp-card a, .bp-card span { font-size: 1.1rem; font-weight: 700; overflow-wrap: anywhere; }
.bp-cta { display: inline-block; background: var(--indigo); color: #fff; padding: 13px 26px; border-radius: 999px; font-weight: 800; text-decoration: none; }
.bp-foot { border-top: 1px solid var(--line); background: var(--soft); padding: 28px 0; color: var(--muted); font-size: .92rem; }
.bp-foot a { color: var(--muted); margin-right: 16px; }
.upd { color: var(--muted); font-size: .92rem; }
