.asb-public { max-width: 1100px; margin: 1.5rem auto; }
.asb-public label, .asb-booking-detail label { display: block; margin: .75rem 0; }
.asb-public label input:not([type=checkbox]):not([type=radio]), .asb-public label select, .asb-public textarea, .asb-booking-detail textarea { display: block; width: 100%; max-width: 32rem; box-sizing: border-box; padding: .5rem; }
.asb-public button { margin: .3rem; padding: .5rem .8rem; cursor: pointer; }
.asb-public button:disabled { cursor: default; opacity: .65; }
.asb-public nav button[aria-pressed=true] { font-weight: bold; text-decoration: underline; }
.asb-public fieldset { border: 1px solid #aaa; padding: 1rem; }
.asb-public [role=alert] { border-left: 4px solid #b32d2e; padding: .75rem; }
.asb-public .asb-checkbox { display: flex; gap: .5rem; align-items: center; }
.asb-booking-fields { display: flex; gap: 1rem; flex-wrap: wrap; }
.asb-booking-fields label { flex: 1; min-width: 12rem; }
.asb-table-scroll { overflow-x: auto; margin: 1rem 0; }
.asb-table-scroll table { border-collapse: collapse; width: 100%; }
.asb-table-scroll th, .asb-table-scroll td { padding: .6rem; border-bottom: 1px solid #ddd; text-align: left; }
.asb-booking-detail { margin: 1.5rem 0; padding: 1rem; border: 1px solid #aaa; }
.asb-booking-detail dl { display: grid; grid-template-columns: minmax(6rem, 1fr) 3fr; gap: .4rem 1rem; }
.asb-booking-detail dd { margin: 0; overflow-wrap: anywhere; }
.asb-booking-detail dt { font-weight: bold; }

.asb-public .asb-personal-data {max-width:60rem;overflow-wrap:anywhere}.asb-public .asb-personal-data .asb-buttons{display:flex;flex-wrap:wrap;gap:.65rem}.asb-public .asb-personal-data button{max-width:100%;white-space:normal;overflow-wrap:anywhere}.asb-public .asb-privacy-confirmation{border:1px solid #8c8f94;padding:1rem;margin:1rem 0}.asb-public .asb-privacy-confirmation button{margin:.25rem}
