.lo-wb-wrapper { margin: 1rem 0; }

.lo-wb-button {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .65rem 1.1rem;
    background: #c0392b;
    color: #fff !important;
    border-radius: 4px;
    font-weight: 600;
    text-decoration: none !important;
    box-shadow: 0 2px 6px rgba(0,0,0,.15);
    transition: background .15s ease;
}
.lo-wb-button:hover,
.lo-wb-button:focus { background: #a83224; outline: none; }
.lo-wb-button__icon { font-size: 1.1em; line-height: 1; }

.lo-wb-wrapper[data-position="fixed-bottom-right"] {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 1040;
    margin: 0;
}

.lo-wb-form-page { max-width: 720px; margin: 0 auto; padding: 1rem 0; }
.lo-wb-intro { margin-bottom: 1.25rem; color: #555; }
.lo-wb-fieldset {
    border: 1px solid #e6e6e6;
    border-radius: 4px;
    padding: 1rem 1.25rem;
    margin-bottom: 1.25rem;
}
.lo-wb-fieldset > legend {
    font-size: 1rem;
    font-weight: 700;
    padding: 0 .4rem;
    width: auto;
    border-bottom: none;
    margin-bottom: .5rem;
}
.lo-wb-fieldset .required { color: #c0392b; }
.lo-wb-statement-preview { background: #fafafa; }
.lo-wb-submit { font-weight: 700; padding: .7rem 1.5rem; }
.lo-wb-errors { margin: 0; padding-left: 1.2rem; }

.lo-wb-receipt { display: grid; grid-template-columns: max-content 1fr; gap: .35rem 1rem; margin: 1rem 0; }
.lo-wb-receipt dt { font-weight: 600; color: #555; }
.lo-wb-receipt dd { margin: 0; }

@media (max-width: 600px) {
    .lo-wb-wrapper[data-position="fixed-bottom-right"] { right: .5rem; bottom: .5rem; }
    .lo-wb-receipt { grid-template-columns: 1fr; }
    .lo-wb-receipt dt { margin-top: .35rem; }
}
