.mira-backdrop-simulator {
  --mira-ink: #302b27;
  --mira-muted: #746c64;
  --mira-accent: #8b6b50;
  --mira-line: #ded6ce;
  --mira-paper: #fbf9f6;
  color: var(--mira-ink);
  background: var(--mira-paper);
  border: 1px solid var(--mira-line);
  border-radius: 4px;
  box-sizing: border-box;
  font-family: var(--mira-font-family, inherit);
  font-size: var(--mira-body-size, 16px);
  margin: 2rem auto;
  max-width: 850px;
  padding: clamp(1.25rem, 4vw, 3rem);
}

.mira-backdrop-simulator *,
.mira-backdrop-simulator *::before,
.mira-backdrop-simulator *::after { box-sizing: border-box; }

.mira-backdrop-simulator [hidden] { display: none !important; }
.mira-backdrop-simulator h2 { color: var(--mira-ink); font-family: var(--mira-heading-font-family, Georgia, 'Times New Roman', serif); font-size: clamp(24px, 4vw, var(--mira-heading-size, 42px)); font-weight: 400; letter-spacing: -.025em; line-height: 1.12; margin: .35rem 0 1rem; }
.mira-backdrop-simulator p { color: var(--mira-muted); line-height: 1.65; margin: .6rem 0 1.2rem; }
.mira-backdrop-simulator .mira-bs-kicker { color: var(--mira-accent); font-size: var(--mira-small-size, 13px); font-weight: 700; letter-spacing: .16em; }
.mira-backdrop-simulator .mira-bs-gate { max-width: 590px; margin: 0 auto; }
.mira-backdrop-simulator .mira-bs-heading { align-items: flex-start; display: flex; gap: 1rem; justify-content: space-between; }
.mira-backdrop-simulator .mira-bs-heading h2 { margin-bottom: .5rem; }
.mira-backdrop-simulator .mira-bs-verified { font-size: .88rem; margin: 0 0 1.1rem; }
.mira-backdrop-simulator label { color: var(--mira-ink); display: block; font-size: var(--mira-body-size, 16px); font-weight: 600; }
.mira-backdrop-simulator label small { color: var(--mira-muted); display: block; font-size: var(--mira-small-size, 13px); font-weight: 400; margin-top: .25rem; }
.mira-backdrop-simulator input:not([type="checkbox"]),
.mira-backdrop-simulator select,
.mira-backdrop-simulator textarea {
  appearance: none;
  background: var(--mira-field-bg, #fff);
  border: 1px solid var(--mira-line, #cfc6bc);
  border-radius: 2px;
  color: var(--mira-ink);
  display: block;
  font: inherit;
  font-size: var(--mira-body-size, 16px);
  margin-top: .45rem;
  min-height: 48px;
  padding: .72rem .8rem;
  width: 100%;
}
.mira-backdrop-simulator textarea { min-height: 90px; resize: vertical; }
.mira-backdrop-simulator input:focus,
.mira-backdrop-simulator select:focus,
.mira-backdrop-simulator textarea:focus { border-color: var(--mira-accent); box-shadow: 0 0 0 2px rgba(139, 107, 80, .12); outline: none; }
.mira-backdrop-simulator button { background: var(--mira-button-bg, var(--mira-ink)); border: 1px solid var(--mira-button-bg, var(--mira-ink)); border-radius: 2px; color: var(--mira-button-text, #fff); cursor: pointer; font: inherit; font-size: var(--mira-button-size, 16px); font-weight: 600; letter-spacing: .025em; min-height: 48px; padding: .75rem 1.2rem; transition: background .15s ease, border-color .15s ease, opacity .15s ease; }
.mira-backdrop-simulator button:hover { background: var(--mira-accent); border-color: var(--mira-accent); }
.mira-backdrop-simulator button:disabled { cursor: wait; opacity: .62; }
.mira-backdrop-simulator .mira-bs-email-form { align-items: end; display: grid; gap: .8rem; grid-template-columns: minmax(0, 1fr) auto; margin-top: 1.5rem; }
.mira-backdrop-simulator .mira-bs-code-form { align-items: end; display: grid; gap: .8rem; grid-template-columns: minmax(130px, .7fr) auto auto; margin-top: 1.5rem; }
.mira-backdrop-simulator .mira-bs-link { background: transparent; border: 0; color: var(--mira-accent); min-height: auto; padding: .55rem .2rem; text-decoration: underline; text-underline-offset: .2em; }
.mira-backdrop-simulator .mira-bs-link:hover { background: transparent; border-color: transparent; color: var(--mira-ink); }
.mira-backdrop-simulator .mira-bs-fields { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 1.5rem 0; }
.mira-backdrop-simulator .mira-bs-dimensions { align-items: end; display: grid; gap: .7rem; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
.mira-backdrop-simulator .mira-bs-dimensions > span { color: var(--mira-muted); padding-bottom: .85rem; }
.mira-backdrop-simulator .mira-bs-print-rule { color: var(--mira-muted); font-size: var(--mira-small-size, 13px); font-weight: 400; grid-column: 1 / -1; line-height: 1.45; margin-top: -.45rem; }
.mira-backdrop-simulator .mira-bs-contact { margin-top: 1.6rem; }
.mira-backdrop-simulator .mira-bs-total { background: var(--mira-total-bg, #f0ebe5); border-left: 3px solid var(--mira-accent); margin: 1.4rem 0 0; padding: 1.25rem 1.4rem; }
.mira-backdrop-simulator .mira-bs-area { color: var(--mira-muted); display: block; font-size: .88rem; margin-bottom: .75rem; }
.mira-backdrop-simulator .mira-bs-total-label { color: var(--mira-muted); display: block; font-size: .78rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.mira-backdrop-simulator .mira-bs-price { color: var(--mira-ink); display: block; font-family: var(--mira-heading-font-family, Georgia, 'Times New Roman', serif); font-size: clamp(26px, 4vw, calc(var(--mira-heading-size, 42px) * 1.1)); font-weight: 400; margin-top: .35rem; }
.mira-backdrop-simulator .mira-bs-price.is-error { font-family: inherit; font-size: .9rem; font-weight: 600; line-height: 1.45; }
.mira-backdrop-simulator .mira-bs-note { font-size: var(--mira-small-size, 13px); margin: .85rem 0 1.5rem; }
.mira-backdrop-simulator .mira-bs-consent { align-items: flex-start; display: flex; font-size: .84rem; font-weight: 400; gap: .65rem; line-height: 1.5; margin: 1rem 0 1.2rem; }
.mira-backdrop-simulator .mira-bs-consent input { accent-color: var(--mira-accent); flex: 0 0 auto; margin-top: .2rem; }
.mira-backdrop-simulator .mira-bs-consent a { color: var(--mira-accent); text-decoration: underline; }
.mira-backdrop-simulator .mira-bs-submit { min-width: 230px; }
.mira-backdrop-simulator .mira-bs-status,
.mira-backdrop-simulator .mira-bs-request-status { font-size: var(--mira-body-size, 16px); margin: 1rem 0 0; min-height: 1.4em; }
.mira-backdrop-simulator .is-error { color: var(--mira-error, #9c312b); }
.mira-backdrop-simulator .is-success { color: var(--mira-success, #476449); }

@media (max-width: 640px) {
  .mira-backdrop-simulator .mira-bs-heading { display: block; }
  .mira-backdrop-simulator .mira-bs-heading .mira-bs-link { padding-left: 0; }
  .mira-backdrop-simulator .mira-bs-fields { grid-template-columns: 1fr; }
  .mira-backdrop-simulator .mira-bs-email-form,
  .mira-backdrop-simulator .mira-bs-code-form { align-items: stretch; grid-template-columns: 1fr; }
  .mira-backdrop-simulator .mira-bs-submit { width: 100%; }
}
