form fieldset,
legend { all: revert; }

body { background-color: #f9f9f9; }
h1 { text-align: center; }
.form-sections { display: flex; gap: 20px; flex-wrap: wrap; }
fieldset { flex: 1; min-width: 300px; padding: 20px; border-radius: 8px; border: 1px solid #ccc; }
legend { font-weight: bold; font-size: 1.2em; }
.form-row { display: flex; gap: 10px; flex-wrap: wrap; }
.form-row label { flex: 1; min-width: 100px; }
label { display: block; margin-top: 10px; }
input[type="text"], input[type="email"], input[type="tel"] {
  width: 100%; padding: 8px; margin-top: 4px; box-sizing: border-box;
  border: 1px solid #ccc; border-radius: 4px;
}
.book-section { margin-top: 30px; }
.book-checkbox { margin-bottom: 8px; display: block; }
.book-product-link { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.book-product-link:hover { color: #07076f; }
.totals { margin-top: 10px; font-weight: bold; }
.confirm { margin-top: 20px; }
button, input[type="submit"] {
  padding: 10px 20px; font-size: 1em; margin-top: 20px; cursor: pointer;
  background-color: #007bff; color: #fff; border: 0; border-radius: 4px;
}
button:hover, input[type="submit"]:hover { background-color: #0056b3; }
.center { text-align: center; }
.book-section fieldset + fieldset { margin-top: 30px; }
.book-section fieldset:last-of-type { margin-bottom: 20px; }
.same-as-personal {
  align-items: center; background: #f1f3f8; border-radius: 8px; cursor: pointer;
  display: flex; gap: 8px; margin: 12px 0 4px; padding: 10px 12px;
}
.same-as-personal input { flex: 0 0 auto; margin: 0; }
.same-as-personal-fields input[readonly] { background-color: #f3f4f6; color: #555; }
.form-warning { color: #a40000; font-weight: bold; margin-top: 10px; }
.form-warning[hidden] { display: none; }
