.fgg-checkout {
  margin: 36px 0 24px;
  padding: clamp(18px, 4vw, 30px);
  border: 1px solid var(--line, #ead8c8);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 34px rgb(72 40 25 / 7%);
  overflow-wrap: anywhere;
}

.fgg-checkout h2,
.fgg-checkout h3 { margin: 0 0 12px; }
.fgg-checkout__assurance,
.fgg-checkout__disclosures,
[data-fgg-checkout-status] { color: var(--muted, #765f52); line-height: 1.7; }
.fgg-checkout__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.fgg-checkout label { display: grid; min-width: 0; gap: 6px; font-weight: 650; }
.fgg-checkout__wide { grid-column: 1 / -1; }
.fgg-checkout input,
.fgg-checkout select,
.fgg-checkout button {
  width: 100%; min-width: 0; min-height: 46px; padding: 10px 12px;
  border: 1px solid var(--line, #d9c2af); border-radius: 10px;
  color: var(--ink, #3b2418); background: #fff; font: inherit;
}
.fgg-checkout button { margin-top: 16px; border-color: var(--accent, #9d2828); color: #fff; background: var(--accent, #9d2828); cursor: pointer; font-weight: 700; }
.fgg-checkout button:disabled { cursor: wait; opacity: .62; }
.fgg-checkout__phone { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; }
.fgg-checkout__phone span { min-height: 46px; display: grid; place-items: center; padding: 0 10px; border: 1px solid var(--line, #d9c2af); border-right: 0; border-radius: 10px 0 0 10px; background: #fffaf4; }
.fgg-checkout__phone input { border-radius: 0 10px 10px 0; }
.fgg-checkout__accept { grid-template-columns: auto minmax(0, 1fr) !important; align-items: start; margin-top: 16px; line-height: 1.6; }
.fgg-checkout__accept input { width: 20px; min-height: 20px; margin-top: 2px; }
[data-fgg-quote-result] { margin-top: 18px; padding: 18px; border-radius: 14px; background: #fff8ee; }
[data-fgg-quote-result] dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; }
[data-fgg-quote-result] dl > div { min-width: 0; }
[data-fgg-quote-result] dt { color: var(--muted, #765f52); }
[data-fgg-quote-result] dd { margin: 3px 0 0; font-weight: 750; }
[data-fgg-checkout-status][data-kind="error"] { color: #9d2828; }
[data-fgg-checkout-status][data-kind="success"] { color: #356b40; }

@media (max-width: 520px) {
  .fgg-checkout__grid,
  [data-fgg-quote-result] dl { grid-template-columns: minmax(0, 1fr); }
  .fgg-checkout__wide { grid-column: auto; }
}
