.zab-public{max-width:760px;margin:1.5rem 0;padding:1.25rem;border:1px solid #dcdcde;border-radius:8px;background:#fff;color:#1d2327}.zab-public h2{margin-top:0}.zab-public__description,.zab-public__duration,.zab-public__notice{margin:.5rem 0}.zab-public__notice{padding:.75rem;background:#f6f7f7;border-left:4px solid #72aee6}.zab-public__field{margin:1.5rem 0 1rem}.zab-public__field label{display:block;margin-bottom:.4rem;font-weight:600}.zab-public__field select{width:100%;max-width:420px;min-height:44px;padding:.5rem}.zab-public__time-group{margin:0;padding:0;border:0}.zab-public__time-group legend{margin-bottom:.75rem;font-weight:600}.zab-public__slots{display:flex;flex-wrap:wrap;gap:.5rem}.zab-public__slot{padding:.65rem .9rem;border:1px solid #8c8f94;border-radius:4px;background:#f6f7f7;color:#1d2327;font:inherit;font-variant-numeric:tabular-nums;opacity:1}.zab-public__slot[disabled]{cursor:not-allowed}.zab-public__empty,.zab-public__loading,.zab-public__error{margin:1rem 0 0}.zab-public__error{color:#b32d2e}.zab-public--message p{margin:0}@media(max-width:480px){.zab-public{padding:1rem}.zab-public__slot{flex:1 1 calc(50% - .5rem)}}
.zab-public__slot{cursor:pointer}.zab-public__slot.is-selected{outline:3px solid #2271b1;background:#eaf3fb}.zab-public__form{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #dcdcde}.zab-public__form input,.zab-public__form textarea{width:100%;max-width:560px;padding:.6rem}.zab-public__consent{display:flex;align-items:flex-start;gap:.65rem;margin:1.25rem 0}.zab-public__consent input{width:auto;min-width:1.15rem;min-height:1.15rem;margin-top:.2rem}.zab-public__privacy-box{padding:1rem 1.1rem;border:2px solid #2271b1;border-radius:6px;background:#f0f6fc;font-size:1rem;line-height:1.55}.zab-public__privacy-link{font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px}.zab-public__privacy-notice{margin:1.25rem 0}.zab-public__submit{padding:.75rem 1rem}.zab-public__success{margin-top:1rem;padding:.75rem;background:#edfaef;border-left:4px solid #00a32a}

.zab-public__type-field{margin-top:0;padding:1rem;border:1px solid #c3c4c7;border-radius:6px;background:#f6f7f7}.zab-public__type-field select{background:#fff}

/* 0.27.0-dev: appointment-specific preparation and resource links */
.zab-public__appointment-info{margin:1rem 0;padding:1rem 1.125rem;border:1px solid currentColor;border-radius:.5rem;background:rgba(127,127,127,.06)}
.zab-public__appointment-info p{margin:.25rem 0 .75rem}.zab-public__appointment-info p:last-child{margin-bottom:0}.zab-public__appointment-info a{display:inline-block;margin:.25rem .75rem .25rem 0;font-weight:600;text-decoration:underline}

.zab-public__custom-field fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}
.zab-public__custom-field legend {
    font-weight: 600;
    margin-bottom: .5rem;
}
.zab-public__choice {
    align-items: flex-start;
    display: flex;
    gap: .5rem;
    margin-bottom: .4rem;
}
.zab-public__choice input {
    margin-top: .2rem;
}

.zab-public select,.zab-public input,.zab-public textarea{max-width:100%;box-sizing:border-box}.zab-public__choice{display:block;margin:.45rem 0}

/* 0.32.1-dev: compact, accessible public form spacing */
.zab-public__form .zab-public__field {
    margin: .85rem 0 .65rem;
}
.zab-public__custom-field fieldset {
    display: grid;
    gap: .15rem;
}
.zab-public__custom-field legend {
    margin-bottom: .25rem;
}
.zab-public__form .zab-public__choice {
    display: flex;
    align-items: flex-start;
    gap: .4rem;
    margin: 0;
    padding: .1rem 0;
    line-height: 1.35;
    font-weight: 400;
}
.zab-public__form .zab-public__choice input[type="radio"],
.zab-public__form .zab-public__choice input[type="checkbox"] {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    min-width: 1rem;
    min-height: 1rem;
    margin: .12rem 0 0;
    padding: 0;
}
.zab-public__custom-field .description {
    margin: .25rem 0 0;
}
