/* Embed mode */
body.mb-embed{ margin:0; }
body{ margin:0; } /* safe: embedded pages should have no weird top padding */
.mb-container{ max-width:760px; padding:20px; }
.mb-container--center {
  width: 100%;
  max-width: 980px;   /* tweak */
  margin: 0 auto;
  padding: 0 16px;
}
.mb-container {
  max-width: 980px;
  margin: 0 auto;
  padding: 0 16px;
}

/* Branded header */
.mb-head{
  text-align:center;
  margin:0 0 16px;
  padding:10px 0 8px;
}

.mb-logo{
  width:210px;
  height:auto;
  display:block;
  margin:0 auto 14px;
}

.mb-title{
  font-size:36px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.6px;
  color:#2b2b2b;
  margin:0 0 8px;
  line-height:1.05;
}

.mb-subtitle{
  font-size:18px;
  color:#555;
  opacity:.9;
  margin:0;
  line-height:1.35;
}

.mb-head:after{
  content:"";
  display:block;
  height:1px;
  background:rgba(0,0,0,.12);
  margin:14px 0 0;
}

/* Sections/cards */
.mb-section{
  background:#fff;
  border:1px solid rgba(0,0,0,.12);
  padding:18px;
  margin:0 0 12px;
}
.mb-h{ font-weight:900; margin:0 0 10px; font-size:28px;}

/* Fields */
.mb-field{ margin:0 0 10px; }
.mb-field label{
  display:block;
  font-weight:700;
  font-size:16px;
  margin:0 0 4px;
}
.mb-field input,
.mb-field select,
.mb-field textarea{
  width:100%;
  padding:10px;
  border:1px solid rgba(0,0,0,.25);
  border-radius:2px;
  font-size:16px;
}

/* Grids */
.mb-2col{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
@media (max-width:520px){ .mb-2col{ grid-template-columns:1fr; } }

.mb-amount-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; margin-bottom:10px; }
@media (max-width:520px){ .mb-amount-grid{ grid-template-columns:repeat(2, 1fr); } }

/* Amount chips */
.mb-chip{
  display:block;
  border:1px solid rgba(0,0,0,.18);
  border-radius:6px;
  padding:10px;
  cursor:pointer;
  text-align:center;
  font-weight:900;
}
.mb-chip input{ margin-right:8px; }

/* Checkbox row */
.mb-check{ display:flex; align-items:center; gap:8px; font-weight:700; }

/* Notes */
.mb-note{ font-size:16px; opacity:.9; }
.mb-warn{ margin-top:8px; padding:10px; background:rgba(255,193,7,.18); border:1px solid rgba(255,193,7,.35); }
.mb-legal{ font-size:12px; opacity:.7; margin-top:10px; text-align:center; }

/* Primary action button (matches your sched button) */
.mb-actions{ text-align:center; margin-top:22px; }
.mb-btn{
  background:#0e8f46;
  color:#fff;
  min-width:260px;
  font-size:20px;
  padding:12px 18px;
  border-radius:10px;
  border:0;
  box-shadow:0 8px 16px rgba(14,143,70,.18);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.5px;
  cursor:pointer;
}
.mb-btn:not(:disabled):hover{ filter:brightness(.96); }
.mb-btn:not(:disabled):active{ transform: translateY(1px); }
.mb-btn:disabled{
  background:#9fcfb5;
  color:#fff;
  cursor:not-allowed;
  box-shadow:none;
  opacity:1;
}
.mb-discount-note {
  font-size: 12px;
  color: #d06969;
  font-style: italic;
  margin-left: 6px;
}
/* Base alert */
.mb-alert {
  padding: 12px 14px;
  margin: 16px 0;
  border-radius: 8px;
  font-size: 14px;
  line-height: 1.4;
  border: 1px solid transparent;
}

/* Warning (soft amber) */
.mb-alert-warn {
  background: #fff8e6;
  border-color: #f2d38a;
  color: #6b4e00;
  font-size:20px;
}

/* Error (soft red) */
.mb-alert-error {
  background: #fdecec;
  border-color: #f5b5b5;
  color: #7a1c1c;
}

/* Optional: tighten inside forms */
.mb-container .mb-alert:first-child {
  margin-top: 0;
}
/* Give embedded/lightbox iframes a little breathing room at the bottom */
body.mb-embed {
  padding-bottom: 32px;
}

/* If padding on body gets ignored by the embed, this catches it */
.mb-embed .mb-container {
  padding-bottom: 32px;
}


label .cc-note{
	font-size:12px;
	font-style:italic;
	}