.bl{max-width:760px;margin:0 auto}
.bl-h1{font-family:var(--font-display,Georgia,serif);color:#6e1117;font-size:clamp(1.6rem,5vw,2.3rem);text-align:center;margin:0}
.bl-kn{text-align:center;color:#8a4a12;font-size:1.15rem;margin:.2em 0 .8em}
.bl-lead{text-align:center;color:#4a2a1a;margin:.4em auto;max-width:620px}
.bl-card{background:#fffaf0;border:1px solid #e6d3a3;border-radius:18px;padding:20px 16px;margin:22px 0;box-shadow:0 6px 24px rgba(110,17,23,.08)}
.bl-step{display:flex;align-items:center;gap:10px;margin:18px 0 8px}.bl-step:first-child{margin-top:0}
.bl-step h2{font-size:1.1rem;margin:0;color:#3b1a12}.bl-step small{font-weight:400;color:#7a5a3a;margin-left:6px}
.bl-n{flex:none;width:30px;height:30px;border-radius:50%;background:#6e1117;color:#ffe9b0;display:grid;place-items:center;font-weight:700}
.bl-drop{display:flex;flex-direction:column;align-items:center;gap:6px;border:2px dashed #d4a33a;border-radius:14px;padding:28px 12px;text-align:center;cursor:pointer;background:#fff;color:#4a2a1a}
.bl-drop-ic svg{width:42px;height:42px;color:#c8922a}.bl-file{position:absolute;opacity:0;width:1px;height:1px}
.bl-file:focus+*,.bl-drop:focus-within{outline:3px solid #d4a33a}
.bl-err{color:#a11;margin:6px 0;min-height:1em}.bl-hint{font-size:.9rem;color:#6b4a2a;margin:8px 0}
.bl-cropwrap{display:flex;justify-content:center;touch-action:none}.bl-cropwrap canvas{border-radius:50%;max-width:100%;cursor:grab;touch-action:none;box-shadow:0 4px 18px rgba(0,0,0,.2)}
.bl-zoom{display:flex;gap:10px;align-items:center;justify-content:center;margin:12px 0}.bl-zoom input{flex:1;max-width:320px}
.bl-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.bl-in{width:100%;padding:13px;border:1px solid #d4a33a;border-radius:10px;font-size:1.05rem;background:#fff;box-sizing:border-box}
.bl-opt{margin:14px 0}.bl-opt summary{cursor:pointer;color:#6e1117;font-weight:600}.bl-opt .bl-in{margin-top:8px}
.bl-hp{position:absolute!important;left:-9999px;opacity:0;height:0;width:0}
.bl-consent{display:flex;gap:10px;align-items:flex-start;margin:16px 0;font-size:.95rem;color:#4a2a1a}.bl-consent input{margin-top:4px;width:20px;height:20px;flex:none}
.bl-msg{padding:10px 12px;border-radius:10px;margin:10px 0}.bl-msg--err{background:#fdeaea;color:#8b1a1a}.bl-msg--ok{background:#e6f4ea;color:#14602b}.bl-msg--info{background:#fff3dc;color:#6a4300}
.bl-nolang{background:#fff3dc;border:1px solid #e8c882;border-radius:10px;padding:12px;margin:10px 0}
.bl-go{width:100%;display:flex;flex-direction:column;align-items:center;gap:2px;padding:16px;font-size:1.15rem}.bl-go small{font-size:.9rem;opacity:.9}
.bl-spin{text-align:center;color:#6e1117;font-weight:600}
.bl-result{background:#fffaf0;border:1px solid #e6d3a3;border-radius:18px;padding:20px 16px;margin:22px 0;text-align:center}
.bl-result h2{margin-top:0;color:#6e1117}.bl-fallback{background:#fff3dc;padding:8px;border-radius:8px}
.bl-prevs{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;align-items:flex-start}.bl-prevs figure{margin:0;flex:1 1 240px;max-width:340px}
.bl-prevs canvas{width:100%;height:auto;border-radius:12px;box-shadow:0 6px 22px rgba(0,0,0,.25)}.bl-prevs figcaption{font-size:.85rem;color:#6b4a2a;margin-top:6px}
.bl-actions{display:flex;flex-direction:column;gap:10px;margin:18px auto;max-width:420px}
.bl-invite{border-top:1px solid #e6d3a3;margin-top:14px;padding-top:10px;color:#4a2a1a}
.bl-visit{margin:34px 0 0}.bl-visit h2{color:#6e1117;text-align:center}.bl-visit-grid{display:grid;gap:16px;grid-template-columns:1fr}
.bl-visit-grid img{width:100%;border-radius:14px;max-height:340px;object-fit:cover}
@media(min-width:700px){.bl-visit-grid{grid-template-columns:1fr 1fr;align-items:center}.bl-actions{flex-direction:row;flex-wrap:wrap;max-width:none;justify-content:center}}
.bl-events{list-style:none;padding:0;text-align:center}.bl-events li{margin:8px 0}.bl-events span{color:#7a5a3a;margin-left:8px}
.btn--wa{background:#1f9d55;color:#fff}
/* v2 */
.bl-special{display:table;margin:10px auto;padding:6px 16px;border-radius:999px;background:linear-gradient(180deg,#fff3cf,#f6dc93);border:1px solid #d4a33a;color:#6e1117;font-size:.95rem;text-align:center}
.bl-prevs h3{font-size:1rem;margin:0 0 8px;color:#3b1a12}
.bl-prevs figure{display:flex;flex-direction:column;align-items:stretch}
.bl-dl{margin-top:10px;width:100%;min-height:48px}
.bl-actions .btn,.bl-dl{min-height:48px;font-size:1rem}
.bl-another{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:1.1rem;padding:14px}.bl-another small{font-size:.85rem;opacity:.9}
.bl-actions--row{flex-direction:row;flex-wrap:wrap;justify-content:center}
.bl-invite h3{color:#6e1117;margin:.2em 0}.bl-kn2{color:#8a4a12;margin:.2em 0 .8em}
.bl-invlang{display:block;margin:10px 0;font-size:.95rem}.bl-invlang select{padding:8px;border-radius:8px;border:1px solid #d4a33a;background:#fff;font-size:1rem}
.bl-invtext{white-space:pre-line;text-align:left;background:#fff;border:1px solid #e6d3a3;border-left:4px solid #d4a33a;border-radius:10px;padding:14px;margin:10px 0;font-size:.98rem;line-height:1.55;color:#3b1a12}
@media(min-width:700px){.bl-actions{flex-direction:row;flex-wrap:wrap;max-width:none;justify-content:center}.bl-another{flex:1 1 100%}}
.bl-special[hidden],.bl-invite[hidden]{display:none}
.bl-actions .btn,.bl-dl{white-space:normal;max-width:100%;box-sizing:border-box;text-align:center;line-height:1.25}
.bl-invtext{overflow-wrap:anywhere;word-break:break-word}
@media(max-width:699px){.bl-actions--row{flex-direction:column;align-items:stretch}}
