.bs-price { margin: 1rem auto 2rem; }
.bs-price__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.bs-price fieldset { min-width: 0; border: 1px solid var(--linje); border-radius: 12px; padding: 1rem; }
.bs-price legend { font-weight: 700; padding: 0 .35rem; }
.bs-price label { display: block; margin-top: .75rem; font-weight: 600; }
.bs-price input[type=text] { display: block; box-sizing: border-box; width: 100%; max-width: 100%; font: inherit; color: inherit; padding: .65rem; border: 1px solid #727d86; border-radius: 6px; background: #fff; }
.bs-price input:focus-visible,.bs-price button:focus-visible { outline: 3px solid #255a8b; outline-offset: 3px; }
.bs-price__confirmation { display: flex !important; align-items: flex-start; gap: .6rem; padding: .8rem 0; }
.bs-price__confirmation input { width: 1.25rem; height: 1.25rem; flex: 0 0 auto; margin-top: .15rem; }
.bs-price__buttons { display: flex; gap: .75rem; flex-wrap: wrap; }
.bs-price button { font: inherit; cursor: pointer; padding: .7rem 1rem; border-radius: 8px; border: 1px solid #255a8b; background: #255a8b; color: white; }
.bs-price button[type=reset] { background: white; color: #255a8b; }
.bs-price__results { background: var(--papper-djup); border: 1px solid var(--linje); border-radius: 12px; padding: 1rem; margin-top: 1rem; overflow-wrap: anywhere; }
.bs-price__results p { margin: .5rem 0; }
.bs-price__hint { font-size: .92rem; }
@media(max-width: 600px){ .bs-price__grid { grid-template-columns: 1fr; } }
@media print { .bs-price button { display: none; } .bs-price fieldset { break-inside: avoid; } }
