/* Visual moderno compartilhado (site, orçamento do admin, link de reserva) */
.mx-step{margin:20px 0 10px; display:flex; align-items:center; gap:10px;}
.mx-step b{width:28px;height:28px;border-radius:50%;background:var(--brown);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.85rem;flex:none;}
.mx-step div{font-family:'Fraunces',serif; font-size:1.02rem; color:var(--dark); line-height:1.2;}
.mx-step small{display:block; font-family:'Work Sans',sans-serif; font-size:.72rem; color:var(--text-dim); font-weight:400; margin-top:2px;}
.mx-chips{display:flex; gap:8px; flex-wrap:wrap; margin:6px 0 4px;}
.mx-chip{background:rgba(138,98,63,.10); color:var(--brown); border:1px solid rgba(138,98,63,.25); padding:4px 11px; border-radius:100px; font-size:.76rem; font-weight:700;}
.mx-tiles{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:10px;}
.mx-tile{border:2px solid var(--line); background:#fff; border-radius:14px; padding:11px 10px; text-align:left; cursor:pointer; position:relative; transition:.15s; font-family:'Work Sans',sans-serif;}
.mx-tile .ic{font-size:1.25rem;}
.mx-tile .t{font-weight:700; color:var(--dark); font-size:.84rem; margin-top:2px;}
.mx-tile .d{font-size:.68rem; color:var(--text-dim); line-height:1.35; margin-top:2px;}
.mx-tile.on{border-color:var(--brown); background:rgba(138,98,63,.08); box-shadow:0 0 0 3px rgba(138,98,63,.12);}
.mx-tile.on::after{content:"✓"; position:absolute; top:7px; right:10px; color:var(--brown); font-weight:800;}
.mx-inl{display:flex; gap:8px; align-items:flex-start;}
.mx-inl .bk-input{flex:1; margin-bottom:0;}
.mx-mini{background:var(--dark); color:#fff; border:none; border-radius:10px; padding:0 14px; height:41px; font-weight:700; font-size:.78rem; cursor:pointer; white-space:nowrap;}
.mx-voucher{border:1.5px dashed var(--brown); border-radius:14px; padding:12px; background:rgba(138,98,63,.05);}
.mx-total{background:linear-gradient(135deg,#2F3B2E,#4a5a3f); color:#FBF6EB; border-radius:14px; padding:14px 16px; margin:14px 0; display:flex; justify-content:space-between; align-items:center;}
.mx-total small{display:block; font-size:.7rem; opacity:.8;}
.mx-total strong{font-family:'Fraunces',serif; font-size:1.45rem;}
