.bp-bestel .g-breadcrumb { margin-bottom: 2rem; }
.bp-bestel .g-alert { margin-bottom: 2rem; }
.bp-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2.4rem; align-items: start; }
@media (min-width: 992px) { .bp-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 38rem); gap: 3.2rem; } }

.bp-form { padding: clamp(2rem, 4vw, 4rem); }
.bp-fieldset { border: 0; padding: 0; margin: 0 0 3.2rem; min-width: 0; }
.bp-legend { display: block; width: 100%; padding: 0; margin: 0 0 1.6rem; font-family: var(--font-brand); font-size: 2rem; font-weight: 700; color: var(--ink); }
.bp-fieldset .g-field-help { margin-top: 1.2rem; }
.bp-fieldset .g-field-error { margin-top: .6rem; }

.bp-keuzes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
@media (max-width: 575px) { .bp-keuzes { grid-template-columns: minmax(0, 1fr); } }
.bp-keuze {
    position: relative; display: flex; align-items: center; gap: 1.2rem;
    min-height: 6rem; padding: 1.2rem 1.6rem 1.2rem 5rem;
    background: var(--surface); border: 1px solid var(--hairline); border-radius: var(--r-md);
    cursor: pointer; transition: border-color .15s, background .15s;
}
.bp-keuze:hover { border-color: var(--border); }
.bp-keuze input { position: absolute; left: 1.6rem; top: 50%; transform: translateY(-50%); width: 2rem; height: 2rem; margin: 0; accent-color: var(--ink-strong); cursor: pointer; }
.bp-keuze img { height: 3.2rem; width: auto; filter: none; }
.bp-keuze-titel { font-size: 1.5rem; font-weight: 700; color: var(--ink); }
.bp-keuze:has(input:checked) { background: var(--tint); border-color: var(--ink-strong); }

.bp-vink { display: flex; align-items: flex-start; gap: 1rem; margin-top: 2rem; font-size: 1.4rem; line-height: 1.55; color: var(--ink); cursor: pointer; }
.bp-vink input { flex: 0 0 auto; width: 2rem; height: 2rem; margin: .1rem 0 0; accent-color: var(--ink-strong); cursor: pointer; }
.bp-vink a { color: var(--ink-strong); text-decoration: underline; text-underline-offset: .3rem; }
.bp-betaal { min-height: 5.2rem; font-size: 1.6rem; }

.bp-sv-kaart { padding: 2.4rem; }
@media (min-width: 992px) { .bp-samenvatting { position: sticky; top: 12rem; } }
.gds .bp-sv-titel { font-size: 2rem; margin: 0 0 1.6rem; }
.bp-sv-lijst { list-style: none; margin: 0; padding: 0; }
.bp-sv-lijst li { display: grid; grid-template-columns: 6.4rem minmax(0, 1fr) auto; gap: 1.2rem; align-items: center; padding: 1.2rem 0; border-bottom: 1px solid var(--hairline-soft); }
.bp-sv-lijst img { width: 6.4rem; height: 6.4rem; object-fit: cover; border-radius: var(--r-sm); filter: none; }
.bp-sv-tekst { display: flex; flex-direction: column; gap: .2rem; min-width: 0; }
.bp-sv-tekst strong { font-size: 1.45rem; color: var(--ink); }
.bp-sv-tekst span { font-size: 1.3rem; line-height: 1.45; color: var(--text-muted); }
.bp-sv-los { font-size: 1.35rem; color: var(--text-muted); white-space: nowrap; }
.bp-sv-totaal { margin: 1.4rem 0 0; }
.bp-sv-totaal > div { display: flex; justify-content: space-between; gap: 1.2rem; padding: .6rem 0; font-size: 1.45rem; color: var(--ink); }
.bp-sv-totaal dd { margin: 0; }
.bp-sv-totaal .bp-sv-prijs { font-size: 2rem; font-weight: 800; padding-top: 1rem; }
.bp-sv-check { margin-top: 1.8rem; }

.bp-bedankt-lijst { list-style: none; margin: 2.8rem auto 0; padding: 0; max-width: 52rem; text-align: left; }
.bp-bedankt-lijst li { display: grid; grid-template-columns: 7.2rem minmax(0, 1fr); gap: 1.4rem; align-items: center; padding: 1.2rem 0; border-top: 1px solid var(--hairline-soft); }
.bp-bedankt-lijst img { width: 7.2rem; height: 7.2rem; object-fit: cover; border-radius: var(--r-sm); filter: none; }
.bp-bedankt-lijst li > span { display: flex; flex-direction: column; gap: .2rem; }
.bp-bedankt-lijst strong { font-size: 1.5rem; color: var(--ink); }
.bp-bedankt-lijst li > span > span { font-size: 1.35rem; line-height: 1.5; color: var(--text-muted); }
