/* Band & Bier Tickets — frontend basis */
.bb-bestelformulier { max-width: 720px; margin: 1.5em auto; }
.bb-bestelformulier h3 { margin-top: 1.5em; padding-bottom: .3em; border-bottom: 2px solid currentColor; }

.bb-soorten { display: flex; flex-direction: column; gap: 1em; margin-bottom: 1em; }
.bb-soort { display: flex; justify-content: space-between; align-items: center; padding: 1em; border: 1px solid rgba(0,0,0,.15); border-radius: 8px; gap: 1em; }
.bb-soort.is-uitverkocht { opacity: .55; }
.bb-soort h4 { margin: 0 0 .25em; }
.bb-soort p { margin: 0 0 .25em; font-size: .9em; opacity: .8; }
.bb-prijs { font-weight: bold; font-size: 1.15em; margin-right: .8em; }
.bb-voorraad { font-size: .85em; opacity: .7; }
.bb-voorraad.bb-uit { color: #c33; opacity: 1; }
.bb-badge-bijna-uit {
    display: inline-block;
    vertical-align: middle;
    margin-left: .5em;
    padding: .15em .6em;
    font-size: .6em;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #fcecbf;
    background: #e8650e;
    border-radius: 999px;
    white-space: nowrap;
}

.bb-soort-aantal label { display: block; font-size: .8em; opacity: .7; }
.bb-soort-aantal input { width: 70px; padding: .4em; font-size: 1em; }

.bb-veld { margin-bottom: 1em; }
.bb-veld label { display: block; font-weight: bold; margin-bottom: .25em; }
.bb-veld input { width: 100%; padding: .6em; font-size: 1em; box-sizing: border-box; }
.bb-veld small { display: block; opacity: .7; font-size: .85em; margin-top: .25em; }

.bb-totaal { font-size: 1.3em; padding: 1em; background: rgba(0,0,0,.04); border-radius: 8px; text-align: right; margin-bottom: 1em; }

.bb-akkoord { font-size: .9em; margin: 1em 0; }

.bb-knop { background: #d35400; color: #fff; border: 0; padding: .9em 2em; font-size: 1.05em; cursor: pointer; border-radius: 4px; font-weight: bold; }
.bb-knop:hover { background: #b34800; }

.bb-info { padding: 1em 1.5em; background: rgba(0,0,0,.04); border-left: 4px solid #999; border-radius: 4px; }
.bb-info.bb-success { border-color: #2c8c2c; background: #e9f7e9; color: #1a0d04; }
.bb-info.bb-error   { border-color: #c33; background: #fbe9e9; color: #1a0d04; }
.bb-info.bb-success a, .bb-info.bb-error a { color: #c33518; }
.bb-info.bb-success h3, .bb-info.bb-error h3 { color: #1a0d04; }
/* Het thema kleurt p, strong en koppen crème; op deze lichte kaarten moet de tekst donker blijven. */
.bb-info.bb-success, .bb-info.bb-error,
.bb-info.bb-success p, .bb-info.bb-error p,
.bb-info.bb-success strong, .bb-info.bb-error strong,
.bb-info.bb-success li, .bb-info.bb-error li,
.bb-info.bb-success h2, .bb-info.bb-error h2,
.bb-info.bb-success h3, .bb-info.bb-error h3,
.bb-info.bb-success h4, .bb-info.bb-error h4 { color: #1a0d04 !important; }
.bb-info.bb-success p a, .bb-info.bb-error p a { color: #c33518 !important; text-decoration: underline; }

/* Scanner */
.bb-scanner-wrap { max-width: 600px; margin: 1em auto; text-align: center; }
.bb-scan-result { padding: 1.5em 1em; min-height: 6em; font-size: 1.3em; line-height: 1.3; border-radius: 8px; margin-bottom: 1em; background: #efe6d2; color: #1a0d04 !important; transition: background .15s; }
.bb-scan-result strong { display: block; font-size: 1.5em; color: inherit !important; }
.bb-scan-result small { color: inherit !important; opacity: .9; }
.bb-scan-result.pending { background: #f5b840; color: #1a0d04 !important; }
.bb-scan-result.ok      { background: #1e9e3a; color: #fff !important; }
.bb-scan-result.fout    { background: #d0021b; color: #fff !important; }
.bb-scan-hulp { display: block; margin-top: .8em; padding-top: .7em; border-top: 2px solid rgba(255,255,255,.55); font-weight: bold; font-size: 1.1em; color: inherit !important; }
.bb-scanner-wrap h2, .bb-scanner-wrap summary { color: inherit; }

/* Kortingscode op het bestelformulier */
.bb-korting-row{display:flex;gap:8px;align-items:stretch}
.bb-korting-row input{flex:1}
.bb-knop-sec{white-space:nowrap;padding:0 16px;border-radius:8px;border:1px solid var(--bb-amber,#e7a53a);background:transparent;color:var(--bb-amber,#e7a53a);font-weight:700;cursor:pointer}
.bb-knop-sec:hover{background:var(--bb-amber,#e7a53a);color:#1c0f1a}
.bb-korting-msg{display:block;margin-top:6px;font-size:.9em}
.bb-korting-msg.is-ok{color:#7fd18a}
.bb-korting-msg.is-error{color:#e88b6a}
.bb-totaal-korting{display:block;font-size:.9em;opacity:.85;margin-bottom:2px}
