.erw-wrap { --erw-ink: #172338; --erw-muted: #64748b; --erw-line: #dce4ee; --erw-accent: #1859c9; --erw-bg: #f8fafc; max-width: 810px; margin: 28px auto; font-family: inherit; color: var(--erw-ink); }
.erw-wrap * { box-sizing: border-box; }
.erw-panel { background: #fff; border: 1px solid var(--erw-line); border-radius: 17px; overflow: hidden; box-shadow: 0 10px 32px rgba(24,39,60,.06); }
.erw-heading { padding: 30px 34px 22px; border-bottom: 1px solid var(--erw-line); }
.erw-heading h2 { margin: 0 0 9px; font-size: clamp(1.6rem, 3vw, 2rem); line-height: 1.25; color: var(--erw-ink); }
.erw-heading p:last-child { margin: 0; color: var(--erw-muted); line-height: 1.55; }
.erw-eyebrow { margin: 0 0 12px; text-transform: uppercase; letter-spacing: .11em; font-size: .75rem; font-weight: 800; color: var(--erw-accent); }
.erw-form { padding: 26px 34px 30px; }
.erw-quantity-wrap { display: flex; align-items: center; gap: 14px; margin-bottom: 25px; flex-wrap: wrap; }
.erw-quantity-wrap > label { font-weight: 700; }
.erw-form select, .erw-form input[type="text"] { width: 100%; min-height: 46px; padding: 11px 12px; border: 1px solid #bac8d9; border-radius: 8px; background: white; color: var(--erw-ink); font: inherit; font-size: .96rem; }
.erw-form select:focus, .erw-form input:focus { outline: 2px solid #77a5f5; outline-offset: 1px; border-color: var(--erw-accent); }
.erw-form select.erw-quantity { width: 78px; min-height: 43px; }
.erw-field-hint, .erw-optional { font-size: .83rem; color: var(--erw-muted); font-weight: 400; }
.erw-person { border: 1px solid var(--erw-line); border-radius: 12px; background: var(--erw-bg); padding: 19px 20px 22px; margin: 0 0 17px; min-width: 0; }
.erw-person[hidden] { display: none !important; }
.erw-person legend { float: none; padding: 0 7px; margin: 0 0 6px -7px; font-weight: 800; color: var(--erw-ink); font-size: 1rem; width: auto; border: none; }
.erw-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }
.erw-field { min-width: 0; }
.erw-field-full { grid-column: 1 / -1; }
.erw-field label { display: block; font-size: .9rem; font-weight: 650; margin: 0 0 7px; color: var(--erw-ink); }
.erw-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-top: 24px; margin-top: 7px; border-top: 1px solid var(--erw-line); }
.erw-bottom > div { display: flex; flex-direction: column; gap: 3px; }
.erw-total-label { color: var(--erw-muted); font-size: .85rem; }
.erw-total { font-size: 1.5rem; line-height: 1.25; color: var(--erw-ink); }
.erw-bottom small { color: var(--erw-muted); font-size: .75rem; }
.erw-wrap button.erw-submit { cursor: pointer; background: var(--erw-accent); color: #fff; padding: 15px 21px; border-radius: 9px; border: none; font-size: 1rem; font-weight: 750; white-space: normal; transition: background .18s ease; }
.erw-wrap button.erw-submit:hover, .erw-wrap button.erw-submit:focus { background: #11479f; color: #fff; }
.erw-footer { margin: 19px 0 0; color: var(--erw-muted); font-size: .84rem; line-height: 1.55; }
@media (max-width: 620px) {
  .erw-wrap { margin: 16px auto; }
  .erw-heading { padding: 25px 20px 19px; }
  .erw-form { padding: 23px 20px 25px; }
  .erw-fields { grid-template-columns: 1fr; gap: 15px; }
  .erw-field-full { grid-column: auto; }
  .erw-bottom { align-items: stretch; flex-direction: column; gap: 17px; }
  .erw-wrap button.erw-submit { width: 100%; }
}
