/* Preços (/precos), Assinar (/assinar), Plano e cobrança e assinaturas da plataforma (billing.js). Páginas da plataforma,
   no visual neutro do login e do /painel (backend.css), não nas cores de um restaurante. */
.bl-page{min-height:100vh;background:#F6F4EF;color:#1B1F1D}
.bl-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 28px;border-bottom:1px solid #E2E0D8;background:#fff}
.bl-top nav{display:flex;align-items:center;gap:16px}.bl-top nav a:not(.button){font-weight:600;color:#1B1F1D;text-decoration:none}
.bl-home{text-decoration:none;color:inherit}.bl-wordmark{font:800 22px var(--font-display),sans-serif;letter-spacing:-.01em}.bl-wordmark span{color:var(--brand-accent,#dc7755)}
.bl-main{max-width:1120px;margin:0 auto;padding:36px 20px 64px}.bl-main.is-narrow{max-width:720px}
.bl-hero{text-align:center;margin:8px auto 28px;max-width:720px}.bl-hero h1{margin:0 0 10px;font:800 clamp(28px,5vw,44px)/1.1 var(--font-display),sans-serif}.bl-hero p{margin:0 0 18px;font-size:16px;color:#5E6660}
.bl-cycle{display:inline-flex;gap:4px;padding:4px;border:1px solid #E2E0D8;border-radius:999px;background:#fff}
.bl-cycle button{padding:8px 16px;border:0;border-radius:999px;background:none;font-weight:700;cursor:pointer;color:#5E6660}.bl-cycle button small{font-weight:600;color:#2f7d45}
.bl-cycle button[aria-pressed=true]{background:#1B1F1D;color:#fff}.bl-cycle button[aria-pressed=true] small{color:#bfe5c6}
/* Carrossel: um pacote em foco, os vizinhos aparecendo, arrastar, setas e bolinhas */
.bl-carousel{position:relative;margin:0 0 36px}
.bl-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:12px max(20px,calc(50% - 190px)) 20px}.bl-track::-webkit-scrollbar{display:none}
.bl-card{position:relative;flex:0 0 min(380px,82vw);scroll-snap-align:center;display:flex;flex-direction:column;gap:10px;padding:26px 24px;border:1px solid #E2E0D8;border-radius:20px;background:#fff;opacity:.7;transform:scale(.96);transition:opacity .2s,transform .2s,box-shadow .2s}
.bl-card.is-focus{opacity:1;transform:none;box-shadow:0 18px 40px rgba(27,31,29,.12);border-color:#1B1F1D}
.bl-card h2{margin:0;font:800 22px var(--font-display),sans-serif}.bl-card>p{margin:0;color:#5E6660;font-size:14px;line-height:1.5}
.bl-badge{position:absolute;top:-12px;left:24px;padding:4px 12px;border-radius:999px;background:var(--brand-accent,#dc7755);color:#fff;font-size:12px;font-weight:800}
.bl-price b{font:800 34px var(--font-display),sans-serif}.bl-price span{margin-left:4px;color:#5E6660;font-size:14px}.bl-eq{color:#2f7d45;font-weight:600}
.bl-card ul{display:flex;flex-direction:column;gap:8px;margin:6px 0 10px;padding:0;list-style:none}.bl-card li{padding-left:24px;position:relative;font-size:14px}.bl-card li::before{content:"✓";position:absolute;left:0;color:#2f7d45;font-weight:800}
.bl-card .button{margin-top:auto;text-align:center}
.bl-arrow{position:absolute;top:45%;left:4px;z-index:2;width:44px;height:44px;border:1px solid #E2E0D8;border-radius:50%;background:#fff;font-size:24px;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.08)}.bl-arrow.is-next{left:auto;right:4px}
.bl-dots{display:flex;justify-content:center;gap:8px}.bl-dots button{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:#CFCDC2;cursor:pointer}.bl-dots button[aria-current=true]{width:26px;border-radius:999px;background:#1B1F1D}
.bl-multi,.bl-compare,.bl-faq,.bl-cta{margin:0 auto 32px;padding:26px 24px;border:1px solid #E2E0D8;border-radius:18px;background:#fff}
.bl-multi h2,.bl-compare h2,.bl-faq h2,.bl-cta h2{margin:0 0 10px;font:800 22px var(--font-display),sans-serif}.bl-example{padding:12px 14px;border-radius:12px;background:#F6F4EF}
.bl-table-wrap{overflow-x:auto}.bl-compare table,.bl-ptable{width:100%;border-collapse:collapse;font-size:14px}.bl-compare th,.bl-compare td,.bl-ptable th,.bl-ptable td{padding:10px 12px;border-top:1px solid #EFEDE6;text-align:left}
.bl-compare thead th,.bl-ptable thead th{border-top:0;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#5E6660}.bl-compare td{text-align:center}
.bl-yes{color:#2f7d45;font-weight:700}.bl-no{color:#9AA19B}.bl-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.bl-faq details{padding:12px 0;border-top:1px solid #EFEDE6}.bl-faq details:first-of-type{border-top:0}.bl-faq summary{cursor:pointer;font-weight:700}.bl-faq p{margin:8px 0 0;color:#3E4540;line-height:1.55}
.bl-cta{text-align:center}
/* Assinar */
.bl-steps{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0 0 18px;padding:0;list-style:none;font-size:13px;font-weight:600;color:#7B857E}
.bl-steps li{display:flex;align-items:center;gap:6px}.bl-steps span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#E2E0D8;font-size:12px}
.bl-steps .is-on{color:#1B1F1D}.bl-steps .is-on span{background:#1B1F1D;color:#fff}.bl-steps .is-done span{background:#2f7d45;color:#fff}
.bl-panel{padding:26px 24px;border:1px solid #E2E0D8;border-radius:18px;background:#fff}.bl-panel h2{margin:0 0 12px;font:800 22px var(--font-display),sans-serif}
.bl-muted{color:#5E6660;line-height:1.55}.bl-error{padding:10px 12px;border-radius:10px;background:#fbeee9;color:#8a2a1a}
.bl-form{display:flex;flex-direction:column;gap:14px}.bl-form label{display:flex;flex-direction:column;gap:6px;font-weight:600}.bl-form small{font-weight:400;color:#7B857E}.bl-form small.is-bad{color:#9b2c1f}
.bl-row{display:grid;grid-template-columns:160px 1fr;gap:12px}
.bl-slug{display:flex;align-items:center;border:1px solid #D8DFD6;border-radius:10px;background:#fff;overflow:hidden}.bl-slug span{padding:0 4px 0 12px;color:#7B857E;white-space:nowrap}.bl-slug input{flex:1;border:0;min-width:0}
.bl-choices,.bl-methods{display:flex;flex-direction:column;gap:10px;margin:16px 0;padding:0;border:0}.bl-methods legend{margin-bottom:8px;font-weight:700}
.bl-choice{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid #E2E0D8;border-radius:14px;cursor:pointer}.bl-choice:has(input:checked){border-color:#1B1F1D;box-shadow:0 0 0 1px #1B1F1D}
.bl-choice span span{display:block;margin-top:2px;font-size:13px;color:#5E6660}.bl-choice.is-compact{padding:10px 14px}
.bl-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:8px}
.bl-summary{padding:14px 16px;border-radius:14px;background:#F6F4EF}.bl-summary p{margin:4px 0}.bl-today b{font-size:20px}
.bl-done{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.bl-next{margin:0 0 12px;padding-left:20px;line-height:1.7}
.bl-link{padding:0;border:0;background:none;font-weight:600;color:var(--brand-primary,#1B1F1D);text-decoration:underline;cursor:pointer}.bl-link.is-danger{color:#9b2c1f}
/* Plano e cobrança */
.bl-rest{margin:0 0 14px;padding:16px 18px;border:1px solid var(--line,#E2E0D8);border-radius:14px;background:#fff}
.bl-rest-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.bl-rest-head small{margin-left:6px;color:var(--muted,#7B857E)}
.bl-rest-plan{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:10px 0}.bl-rest-price s{color:var(--muted,#7B857E)}.bl-rest-price small{color:#2f7d45;font-weight:700}
.bl-rest-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.bl-inline{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600}.bl-inline select{min-height:36px}
.bl-st{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700}.bl-st.is-trial{background:#e7eef7;color:#1f4566}.bl-st.is-ok{background:#cdebd3;color:#1e4a2a}
.bl-st.is-warn{background:#fbefd9;color:#6e4e10}.bl-st.is-bad{background:#fbeee9;color:#8a2a1a}
.bl-invoices{margin-top:12px}.bl-invoices summary{cursor:pointer;font-weight:600}.bl-invoices table{width:100%;margin-top:8px;border-collapse:collapse;font-size:13px}.bl-invoices th,.bl-invoices td{padding:6px 8px;border-top:1px solid var(--line,#EFEDE6);text-align:left}
.bl-total{margin:6px 0 12px}.bl-profile{margin-top:14px}.bl-profile summary{cursor:pointer;font-weight:700;margin-bottom:10px}
.bl-paused{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;margin:0 0 18px;padding:14px 16px;border:1px solid #efd3a5;border-radius:12px;background:#fbefd9;color:#6e4e10}
.bl-platform{margin-top:28px}.bl-ptable th small{display:block;font-weight:400;color:#7B857E}.bl-mini{margin:0 4px 4px 0;padding:4px 8px;border:1px solid #E2E0D8;border-radius:8px;background:#fff;font-size:12px;cursor:pointer}
@media(max-width:650px){.bl-top{padding:14px 16px}.bl-main{padding:24px 16px 48px}.bl-row{grid-template-columns:1fr}.bl-arrow{display:none}.bl-track{padding-inline:16px}}
